1 2008-08-10 Dan Bernstein <mitz (a] apple.com> 2 3 Reviewed by Eric Seidel. 4 5 - fix https://bugs.webkit.org/show_bug.cgi?id=20339 6 REGRESSION (r35531-r35615): Acid3 crashes on Windows in CachedFont::getSVGFontById 7 8 * dom/make_names.pl: Removed "using namespace WebCore::*Names" 9 from *ElementFactory.cpp files. 10 11 2008-08-10 Mark Rowe <mrowe (a] apple.com> 12 13 Reviewed by Cameron Zwarich. 14 15 Fix crash in Acid3 in Windows and Gtk ports, introduced in r35590. 16 17 * bindings/js/ScriptControllerGtk.cpp: Fix the logic. 18 * bindings/js/ScriptControllerWin.cpp: Ditto. 19 * bindings/js/ScriptControllerQt.cpp: Switch to isPluginView for consistency with Gtk and Windows. 20 21 2008-08-10 Dan Bernstein <mitz (a] apple.com> 22 23 Reviewed by Darin Adler. 24 25 - fix <rdar://problem/6074587> REGRESSION (34722): Unable to view AT&T wireless bill - window title contains markup, window is empty 26 27 Test: fast/tokenizer/ampersand-in-special-tag.html 28 29 * html/HTMLTokenizer.cpp: 30 (WebCore::HTMLTokenizer::parseSpecial): Changed to only advance 31 lastDecodedEntityPosition if an entity was found and decoded. 32 33 2008-08-10 Jan Michael Alonzo <jmalonzo (a] webkit.org> 34 35 Reviewed (and updated) by Alp Toker. 36 37 https://bugs.webkit.org/show_bug.cgi?id=16620 38 [GTK] Autotools make dist and make check support 39 40 Get make dist working. 41 42 Note that not all possible configurations have been tested yet. 43 44 * GNUmakefile.am: 45 46 2008-08-08 Beth Dakin <bdakin (a] apple.com> 47 48 Reviewed by Darin. 49 50 This patch makes the findString and markAllMatchesForText functions 51 work with disconnected frames that are contained within 52 overflow:hidden blocks. 53 54 * editing/Editor.cpp: 55 (WebCore::Editor::rangeVisibility): 56 (WebCore::Editor::firstVisibleRange): 57 (WebCore::Editor::lastVisibleRange): 58 * editing/Editor.h: 59 (WebCore::Editor::): 60 * page/Frame.cpp: 61 (WebCore::Frame::findString): 62 (WebCore::Frame::markAllMatchesForText): 63 64 2008-08-08 Maxime Britto <britto (a] apple.com> 65 66 Reviewed by Adele. 67 68 Test: fast/events/scroll-to-anchor-in-overflow-hidden.html 69 https://bugs.webkit.org/show_bug.cgi?id=20270 70 Jump to an anchor wasn't working when the overflow:hidden CSS attribute was set on the page. 71 72 * WebCore.base.exp: 73 * dom/Element.cpp: 74 (WebCore::Element::scrollIntoView): 75 (WebCore::Element::scrollIntoViewIfNeeded): 76 * loader/FrameLoader.cpp: 77 (WebCore::FrameLoader::gotoAnchor): 78 * page/EventHandler.cpp: 79 (WebCore::EventHandler::handleMousePressEvent): 80 (WebCore::EventHandler::handleMouseDraggedEvent): 81 * page/Frame.cpp: 82 (WebCore::Frame::revealSelection): 83 (WebCore::Frame::revealCaret): 84 * rendering/RenderLayer.cpp: 85 (WebCore::RenderLayer::scrollRectToVisible): Takes a new parameter "scrollToAnchor" since it's a special case of scroll. It passes this new bool to canBeProgrammaticallyScrolled. 86 (WebCore::RenderLayer::autoscroll): 87 * rendering/RenderLayer.h: 88 * rendering/RenderListBox.h: 89 (WebCore::RenderListBox::canBeProgramaticallyScrolled): 90 * rendering/RenderObject.cpp: 91 (WebCore::RenderObject::canBeProgramaticallyScrolled): If the call is coming from a scrollToAnchor we don't need scrollBars to accept. 92 * rendering/RenderObject.h: 93 * rendering/RenderTextControl.h: 94 (WebCore::RenderTextControl::canBeProgramaticallyScrolled): 95 96 2008-08-08 Maxime Britto <britto (a] apple.com> 97 98 Reviewed by Adele. 99 100 <rdar://problem/6137022> 101 <https://bugs.webkit.org/show_bug.cgi?id=20331> 102 REGRESSION(r35177-r35203): Scrolling slowly over a scrollable field scrolls the page instead of the field (20331) 103 104 * page/EventHandler.cpp: 105 (WebCore::scrollAndAcceptEvent): fixed the wrong cast for the wheel delta which was truncated to 0 on slow wheel scrolls. 106 107 2008-08-08 Dean Jackson <dino (a] apple.com> 108 109 Execute CSS Animations using new AnimationController 110 https://bugs.webkit.org/show_bug.cgi?id=20119 111 112 I still need to file some follow-on bugs that EricS noticed. 113 114 Reviewed by Dave Hyatt 115 116 Some new tests: 117 * manual-tests/animate-duration.html: Added. 118 * manual-tests/animate-left.html: Added. 119 * manual-tests/animate-none.html: Added. 120 121 * css/CSSStyleSelector.cpp: 122 * dom/Document.cpp: 123 - don't redo style when page is place into cache 124 * page/AnimationController.cpp: 125 * page/AnimationController.h: 126 - execute the animations 127 * rendering/RenderObject.cpp: 128 * rendering/style/RenderStyle.h: 129 - make border radii const (for blending) 130 131 2008-08-08 Kevin McCullough <kmccullough (a] apple.com> 132 133 Reviewed by Tim. 134 135 <rdar://problem/6136326> JSProfiler: Start/stop profiling button in the 136 Web Inspector does not match the menu. 137 138 * page/InspectorController.cpp: 139 (WebCore::InspectorController::toggleRecordButton): Toggle the record 140 button in the webInspector. 141 (WebCore::InspectorController::startUserInitiatedProfiling): 142 (WebCore::InspectorController::stopUserInitiatedProfiling): 143 * page/InspectorController.h: 144 * page/inspector/ProfilesPanel.js: Move the UI part of the record button 145 into its funtion so that it can be called from the Inspector controller. 146 * page/inspector/inspector.js: 147 148 2008-08-08 Kevin McCullough <kmccullough (a] apple.com> 149 150 Reviewed by Tim. 151 152 <rdar://problem/6131187> Profiles don't show up immediately when run 153 with the UI. 154 155 * page/InspectorController.cpp: 156 (WebCore::startProfiling): Added so that the inspector's JS code could 157 call through to the same function used by the Develop menu. This way 158 both can call didFinishAllExecution() which puts the profile in the 159 Web Inspector. 160 (WebCore::stopProfiling): Ditto 161 (WebCore::InspectorController::windowScriptObjectAvailable): 162 (WebCore::InspectorController::stopUserInitiatedProfiling): Now calls 163 didFinishAllExecution() to put the profile in the Web Inspector. This 164 should be safe since the UIs shouldn't work if JS is still running. 165 * page/inspector/ProfilesPanel.js: Use the new functions. 166 167 2008-08-08 Dan Bernstein <mitz (a] apple.com> 168 169 Reviewed by Darin Adler. 170 171 - fix <rdar://problem/5961260> GDI text: transparent fill color text does not render if it it has a stroke or shadow 172 173 * platform/graphics/win/FontCGWin.cpp: 174 (WebCore::Font::drawGlyphs): 175 176 2008-08-08 Adam Treat <treat (a] kde.org> 177 178 Reviewed by Simon. 179 180 Return the canonical file path in Qt's listDirectory as WebCore::PluginDatabase 181 uses this method to retrieve a list of possible plugins. Many linux systems 182 have nested symbolic links scattered throughout the plugin directories which 183 resulted in the PluginDatabase loading the same plugin N times depending on 184 the number of symbolic links. 185 186 * platform/qt/FileSystemQt.cpp: 187 (WebCore::listDirectory): 188 189 2008-08-07 Anthony Ricaud <rik24d (a] gmail.com> 190 191 Change highlight time from 300ms to 500ms and fade effect from 1s to 2s 192 193 https://bugs.webkit.org/show_bug.cgi?id=20055 194 195 Reviewed by Timothy Hatcher. 196 197 * page/inspector/SourceFrame.js: 198 199 2008-08-07 Anthony Ricaud <rik24d (a] gmail.com> 200 201 The search is only performed if the field contains more than 3 202 letters or if Enter is pressed. 203 204 Search is now performed through a keyup event. 205 206 Added a WebInspector.lastQuery to remember the last query and not 207 perform it again (eg. the user hits a modifier key). 208 209 https://bugs.webkit.org/show_bug.cgi?id=18548 210 211 Reviewed by Timothy Hatcher. 212 213 * page/inspector/inspector.html: Removed the onsearch and incremental 214 attributes 215 * page/inspector/inspector.js: 216 217 2008-08-07 Steve Falkenburg <sfalken (a] apple.com> 218 219 Compile derived sources through an all-in-one cpp file. 220 Fixes Windows release build on non-x64 systems by reducing the size of WebCore.lib from 1.5GB to 1GB. 221 222 Reviewed by Mark Rowe. 223 224 * DerivedSources.cpp: Added. 225 * WebCore.vcproj/WebCore.vcproj: 226 227 2008-08-07 Kevin McCullough <kmccullough (a] apple.com> 228 229 Reviewed by Adam. 230 231 <rdar://problem/5712917> Confusing console error message clear 232 behavior (16791) 233 https://bugs.webkit.org/show_bug.cgi?id=16791 234 <rdar://problem/5831899> The Web Inspector does not correctly clear the 235 console messages 236 237 * page/InspectorController.cpp: Clear the message so they don't show up 238 in the inspector after it has cleared them. 239 (WebCore::clearMessages): 240 (WebCore::InspectorController::clearConsoleMessages): 241 (WebCore::InspectorController::windowScriptObjectAvailable): 242 * page/InspectorController.h: 243 * page/inspector/Console.js: Tell the InspectorController to clear the 244 messages it's holding onto. 245 246 2008-08-07 Simon Fraser <simon.fraser (a] apple.com> 247 248 Reviewed by Sam Weinig 249 250 Rename Marquee to RenderMarquee and move to its own file. 251 https://bugs.webkit.org/show_bug.cgi?id=20319 252 253 * GNUmakefile.am: 254 * WebCore.pro: 255 * WebCore.vcproj/WebCore.vcproj: 256 * WebCore.xcodeproj/project.pbxproj: 257 * WebCoreSources.bkl: 258 * html/HTMLMarqueeElement.cpp: 259 * rendering/RenderBlock.cpp: 260 * rendering/RenderLayer.cpp: 261 (WebCore::RenderLayer::styleChanged): 262 * rendering/RenderLayer.h: 263 * rendering/RenderMarquee.cpp: Added. 264 (WebCore::RenderMarquee::RenderMarquee): 265 (WebCore::RenderMarquee::marqueeSpeed): 266 (WebCore::RenderMarquee::direction): 267 (WebCore::RenderMarquee::isHorizontal): 268 (WebCore::RenderMarquee::computePosition): 269 (WebCore::RenderMarquee::start): 270 (WebCore::RenderMarquee::suspend): 271 (WebCore::RenderMarquee::stop): 272 (WebCore::RenderMarquee::updateMarqueePosition): 273 (WebCore::RenderMarquee::updateMarqueeStyle): 274 (WebCore::RenderMarquee::timerFired): 275 * rendering/RenderMarquee.h: Added. 276 (WebCore::RenderMarquee::speed): 277 (WebCore::RenderMarquee::reverseDirection): 278 (WebCore::RenderMarquee::setEnd): 279 280 2008-08-07 Dan Bernstein <mitz (a] apple.com> 281 282 Reviewed by Dave Hyatt. 283 284 - fix <rdar://problem/6118816> Initial empty page or bookmarks view window has white strip where vertical scrollbar would be (which vanishes on resize) 285 286 * page/Frame.cpp: 287 (WebCore::Frame::setZoomFactor): If the view has never had a layout with 288 the old zoom factor, then there is no need to explicitly call layout() 289 here. 290 291 2008-08-07 Kevin McCullough <kmccullough (a] apple.com> 292 293 Reviewed by Geoff. 294 295 <rdar://problem/6115981> Start the profiler in Heavy view 296 297 * page/inspector/ProfileView.js: 298 299 2008-08-07 Alp Toker <alp (a] nuanti.com> 300 301 Reviewed by Eric Seidel. 302 303 https://bugs.webkit.org/show_bug.cgi?id=20313 304 Add null check in String::fromUTF8() 305 306 Make String::fromUTF8() consistent with other constructors by 307 returning a null String when the input is null instead of crashing. 308 309 * platform/text/String.cpp: 310 (WebCore::String::fromUTF8): 311 312 2008-08-06 Kevin Ollivier <kevino (a] theolliviers.com> 313 314 wx build fix after Frame -> ScriptController moves. 315 316 * platform/wx/TemporaryLinkStubs.cpp: 317 318 2008-08-06 Kevin McCullough <kmccullough (a] apple.com> 319 320 Reviewed by Tim. 321 322 - Make XHR console message clearer. 323 324 * xml/XMLHttpRequest.cpp: 325 (WebCore::XMLHttpRequest::didFinishLoading): 326 327 2008-08-06 Kevin McCullough <kmccullough (a] apple.com> 328 329 Reviewed by Tim. 330 331 - Created a new function to create DOM links from text without 332 converting back and forth from HTML and messing with escaping special 333 characters. 334 335 * page/inspector/Console.js: 336 * page/inspector/inspector.js: 337 * page/inspector/utilities.js: 338 339 2008-08-06 Eric Seidel <eric (a] webkit.org> 340 341 Reviewed by hyatt. 342 343 Fix a large animation leak found on the buildbot 344 (m_animations and m_transitions were never deleted) 345 Drag RenderStyle (kicking and screaming) into the 21st century 346 of memory management with a little application of OwnPtr. 347 348 * rendering/style/RenderStyle.cpp: 349 (WebCore::FillLayer::cullEmptyLayers): 350 (WebCore::RenderStyle::diff): 351 (WebCore::RenderStyle::contentDataEquivalent): 352 (WebCore::RenderStyle::setContent): 353 (WebCore::BindingURI::BindingURI): 354 (WebCore::RenderStyle::setBoxShadow): 355 (WebCore::ShadowData::ShadowData): 356 (WebCore::RenderStyle::counterDirectives): 357 (WebCore::RenderStyle::accessCounterDirectives): 358 (WebCore::RenderStyle::adjustAnimations): 359 (WebCore::RenderStyle::adjustTransitions): 360 (WebCore::RenderStyle::accessAnimations): 361 (WebCore::RenderStyle::accessTransitions): 362 * rendering/style/RenderStyle.h: 363 (WebCore::RenderStyle::clearAnimations): 364 (WebCore::RenderStyle::clearTransitions): 365 366 2008-08-06 Brady Eidson <beidson (a] apple.com> 367 368 Reviewed by MitzPettel 369 370 <rdar://problem/6078543> - Many LocalStorageThreads may be started 371 372 The original decision to key LocalStorage sets to PageGroups was a poor one. 373 374 It seems a much better solution is to key them to the actual path of on-disk storage, 375 which also solves all of the avenues that could lead to a boundless number of threads. 376 377 In this patch, I am not attempting to completely sever the attachment of LocalStorage 378 to PageGroups as that would require a more substantial re-working of the lifetime 379 between pages, groups, and local storage threads. 380 381 * page/PageGroup.cpp: 382 (WebCore::PageGroup::addPage): 383 384 * storage/LocalStorage.cpp: 385 (WebCore::localStorageMap): Map paths to LocalStorage objects here. 386 (WebCore::LocalStorage::localStorage): Return the shared LocalStorage object for this path, 387 or create a new one if it doesn't yet exist. 388 (WebCore::LocalStorage::LocalStorage): 389 (WebCore::LocalStorage::~LocalStorage): Add to remove the path->LocalStorage mapping 390 * storage/LocalStorage.h: 391 392 2008-08-06 Beth Dakin <bdakin (a] apple.com> 393 394 Reviewed by Adele. 395 396 Fix for <rdar://problem/6130724> 397 398 Disconnected frames should not be allowed to resize the window. 399 400 * page/DOMWindow.cpp: 401 (WebCore::DOMWindow::resizeBy): 402 (WebCore::DOMWindow::resizeTo): 403 404 2008-08-05 David D. Kilzer <ddkilzer (a] apple.com> 405 406 Bug 20038: REGRESSION (r35151): Can't post comments on flickr.com 407 408 <https://bugs.webkit.org/show_bug.cgi?id=20038> 409 <rdar://problem/6092270> 410 411 Reviewed by Eric Seidel. 412 413 Test: fast/forms/submit-to-url-fragment.html 414 415 The problem was that isFormSubmission was not being set to true in 416 FrameLoader::loadWithDocumentLoader() when we were actually 417 submitting a form, causing the page to scroll instead of the form to 418 be submitted. 419 420 The isFormSubmission variable wasn't set to true because a FormState 421 object was not being created in 422 FrameLoader::loadFrameRequestWithFormAndValues(). 423 424 The FormState object was not being created because 425 HTMLFormElement::submit(Event*, bool activateSubmitButton) would 426 only set FrameLoader::m_formAboutToBeSubmitted to the current form 427 if there was a "text field" element in the form (type = text, 428 password, search or isindex). 429 430 Thus when FrameLoader::submitForm(const FrameLoadRequest&, Event*) 431 called FrameLoader::loadFrameRequestWithFormAndValues(), a null 432 HTMLFormElement pointer would be sent and cause the above failures. 433 434 * html/HTMLFormElement.cpp: 435 (WebCore::HTMLFormElement::submit): Call new 436 FrameLoader::setFormAboutToBeSubmitted() method outside the for 437 loop so we always set FrameLoader::m_formAboutToBeSubmitted exactly 438 once for any form submission. The FrameLoader::recordFormValue() 439 method is only called with the name/value pair of each text field. 440 441 * loader/FrameLoader.cpp: 442 (WebCore::FrameLoader::setFormAboutToBeSubmitted): Added method that 443 only sets m_formAboutToBeSubmitted. 444 (WebCore::FrameLoader::recordFormValue): Removed 445 PassRefPtr<HTMLFormElement> argument since this method only sets 446 name/value pairs on m_formValuesAboutToBeSubmitted now. 447 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Create a 448 FormState object as long as submitForm is not null so that other 449 FrameLoader methods know when a form is being submitted. 450 * loader/FrameLoader.h: 451 452 2008-08-06 David D. Kilzer <ddkilzer (a] apple.com> 453 454 BUILD FIX: Add HTMLPlugInImageElement.cpp to all other build systems 455 456 * GNUmakefile.am: 457 * WebCore.pro: 458 * WebCoreSources.bkl: 459 460 2008-08-06 Dan Bernstein <mitz (a] apple.com> 461 462 - Windows build fix 463 464 * WebCore.vcproj/WebCore.vcproj: Added PlugInImageElement.* 465 466 2008-08-06 Kevin McCullough <kmccullough (a] apple.com> 467 468 Reviewed by Tim and Darin. 469 470 <rdar://problem/6126160> URLs in the console should be clickable. 471 - Implemented and now use linkifyString() to parse console messages for 472 URLs. 473 474 * page/inspector/Console.js: 475 * page/inspector/inspector.js: 476 * page/inspector/utilities.js: 477 478 2008-07-02 David Kilzer <ddkilzer (a] apple.com> 479 480 Images using QT plugin do not display correctly 481 482 <https://bugs.webkit.org/show_bug.cgi?id=9214> 483 <rdar://problem/5683413> 484 485 Reviewed by Darin. 486 487 Tests: fast/images/embed-image.html 488 fast/images/object-image.html 489 490 Use RenderImage instead of RenderPartObject for a renderer when 491 the <embed> tag references an image. Extract common code from 492 HTMLEmbedElement and HTMLObjectElement into HTMLPlugInImageElement. 493 494 * WebCore.xcodeproj/project.pbxproj: Added new source files. 495 496 * html/HTMLEmbedElement.cpp: Cleaned up #include statements. 497 (WebCore::HTMLEmbedElement::HTMLEmbedElement): Extend 498 HTMLPlugInImageElement which extends HTMLPlugInElement. 499 (WebCore::HTMLEmbedElement::parseMappedAttribute): Split codeAttr 500 and srcAttr cases. Create or clear HTMLImageLoader as needed for 501 srcAttr. 502 (WebCore::HTMLEmbedElement::rendererIsNeeded): Use 503 HTMLPlugInElement::rendererIsNeeded() for images. 504 (WebCore::HTMLEmbedElement::createRenderer): Create a 505 RenderImage instead of a RenderPartObject for images. 506 (WebCore::HTMLEmbedElement::attach): Create HTMLImageLoader, 507 load image and populate RenderImage for images. 508 (WebCore::HTMLEmbedElement::updateWidget): Don't call 509 RenderPartObject::updateWidget() for images. 510 (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added. 511 * html/HTMLEmbedElement.h: Removed unneeded namespace and class 512 declarations. Extend HTMLPlugInImageElement which extends 513 HTMLPlugInElement. 514 (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added. 515 (WebCore::HTMLEmbedElement::serviceType): Moved to 516 HTMLPlugInImageElement. 517 (WebCore::HTMLEmbedElement::url): Ditto. 518 519 * html/HTMLObjectElement.cpp: Cleaned up #include statements. 520 (WebCore::HTMLObjectElement::attach): Removed local variable. 521 (WebCore::HTMLObjectElement::isImageType): Moved to 522 HTMLPlugInImageElement. 523 * html/HTMLObjectElement.h: Extend HTMLPlugInImageElement which 524 extends HTMLPlugInElement. 525 (WebCore::HTMLObjectElement::isImageType): Moved to 526 HTMLPlugInImageElement. 527 (WebCore::HTMLObjectElement::serviceType): Ditto. 528 (WebCore::HTMLObjectElement::url): Ditto. 529 530 * html/HTMLPlugInImageElement.cpp: Added. 531 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Added. 532 (WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement): Added. 533 (WebCore::HTMLPlugInImageElement::isImageType): Moved from 534 HTMLObjectElement. 535 * html/HTMLPlugInImageElement.h: Added. 536 (WebCore::HTMLPlugInImageElement::isImageType): Added from 537 HTMLObjectElement. 538 (WebCore::HTMLPlugInImageElement::serviceType): Ditto. 539 (WebCore::HTMLPlugInImageElement::url): Ditto. 540 541 * rendering/HitTestResult.cpp: 542 (WebCore::HitTestResult::absoluteImageURL): Return urlString 543 for embed elements with images. 544 545 2008-08-06 Marco Barisione <marco.barisione (a] collabora.co.uk> 546 547 Reviewed by Eric Seidel. 548 549 http://bugs.webkit.org/show_bug.cgi?id=20295 550 RegularExpression::match should not crash when a null string is passed 551 552 RegularExpression::match used to pass null subject strings to 553 jsRegExpExecute causing an ASSERT failure and then a crash. 554 There is no need to fix also RegularExpression:search and 555 RegularExpression::searchRev as they just call 556 RegularExpression::match. 557 558 * platform/text/RegularExpression.cpp: 559 (WebCore::RegularExpression::match): Return -1 if the string is null. 560 561 2008-08-06 Jan Michael Alonzo <jmalonzo (a] webkit.org> 562 563 Gtk build fix only 564 565 * bindings/js/ScriptControllerGtk.cpp: 566 * plugins/gtk/PluginViewGtk.cpp: 567 (WebCore::PluginView::getValue): 568 (WebCore::PluginView::~PluginView): 569 570 2008-08-06 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 571 572 Fix the Qt build due to recent ScriptController refactoring. 573 574 * plugins/qt/PluginViewQt.cpp: 575 (WebCore::PluginView::getValue): 576 (WebCore::PluginView::~PluginView): 577 578 2008-08-06 Eric Seidel <eric (a] webkit.org> 579 580 Reviewed by Cameron Zwarich. 581 582 Fix warnings and errors seen on Qt bot. 583 Including one correctness fix for ThreadingQt. 584 According to the Qt 4.4 docs, we were always passing 585 seconds to "wait()" when we should have been passing 586 milliseconds. 587 588 Lots of float <-> int conversion warnings. 589 590 * css/CSSCursorImageValue.cpp: 591 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): 592 * dom/Element.cpp: 593 (WebCore::adjustForLocalZoom): 594 (WebCore::adjustForAbsoluteZoom): 595 (WebCore::Element::setScrollLeft): 596 (WebCore::Element::setScrollTop): 597 * dom/EventTargetNode.cpp: 598 (WebCore::EventTargetNode::dispatchMouseEvent): 599 * loader/CachedImage.cpp: 600 (WebCore::CachedImage::imageRect): 601 * page/DOMWindow.cpp: 602 (WebCore::DOMWindow::innerHeight): 603 (WebCore::DOMWindow::innerWidth): 604 (WebCore::DOMWindow::scrollX): 605 (WebCore::DOMWindow::scrollY): 606 (WebCore::DOMWindow::scrollTo): 607 * page/EventHandler.cpp: 608 (WebCore::scrollAndAcceptEvent): 609 * plugins/npapi.cpp: 610 * plugins/qt/PluginViewQt.cpp: 611 (WebCore::PluginView::getValue): 612 (WebCore::PluginView::~PluginView): 613 * rendering/RenderReplaced.cpp: 614 (WebCore::RenderReplaced::intrinsicSizeChanged): 615 616 2008-08-06 Eric Seidel <eric (a] webkit.org> 617 618 Build fix only, no review. 619 620 Attempt to fix the Windows and Qt builds. 621 622 * bindings/js/ScriptControllerWin.cpp: add runtime.h include 623 * bindings/js/ScriptControllerQt.cpp: add QWidget include 624 * page/win/FrameWin.cpp: remove bogus using namespace 625 * plugins/PluginView.cpp: 626 (WebCore::PluginView::bindingInstance): use script() 627 * plugins/win/PluginViewWin.cpp: 628 (WebCore::PluginView::getValue): use script() 629 (WebCore::PluginView::~PluginView): use script() 630 631 2008-08-06 Eric Seidel <eric (a] webkit.org> 632 633 Build fix only, no review. 634 635 Attempt to fix the Linux and --no-svg builds. 636 637 * bindings/js/ScriptController.h: wrap RetainPtr include in PLATFORM(MAC) 638 * css/CSSComputedStyleDeclaration.cpp: 639 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): add missing CSSProperties to switch 640 641 2008-08-06 Eric Seidel <eric (a] webkit.org> 642 643 Reviewed by Cameron Zwarich. 644 645 Move more methods from Frame into ScriptController 646 https://bugs.webkit.org/show_bug.cgi?id=20294 647 648 Finally finish more of the work which Darin started long ago 649 Move a few more Frame methods into ScriptController. 650 I also took this opportunity to clean up some of the plugin 651 code as well, and moved some of that into ScriptController. 652 653 I removed Frame::clearScriptController() and ScriptController::clear() is now clearWindowShell() 654 655 No functional changes, thus no test cases. 656 657 * GNUmakefile.am: 658 * WebCore.NPAPI.exp: 659 * WebCore.base.exp: 660 * WebCore.pro: 661 * WebCore.vcproj/WebCore.vcproj: 662 * WebCore.xcodeproj/project.pbxproj: 663 * bindings/js/ScriptController.cpp: 664 (WebCore::ScriptController::ScriptController): 665 (WebCore::ScriptController::~ScriptController): 666 (WebCore::ScriptController::bindingRootObject): 667 (WebCore::ScriptController::createRootObject): 668 (WebCore::ScriptController::windowScriptNPObject): 669 (WebCore::ScriptController::createScriptObjectForPluginElement): New method. 670 (WebCore::ScriptController::clearPlatformScriptObjects): 671 (WebCore::ScriptController::disconnectPlatformScriptObjects): 672 (WebCore::ScriptController::cleanupScriptObjectsForPlugin): 673 (WebCore::ScriptController::clearScriptObjects): 674 * bindings/js/ScriptController.h: 675 (WebCore::ScriptController::sourceURL): 676 (WebCore::ScriptController::clearFormerWindow): 677 * bindings/js/ScriptControllerGtk.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp. 678 (WebCore::Frame::createScriptInstanceForWidget): 679 * bindings/js/ScriptControllerMac.mm: Added. 680 (WebCore::ScriptController::createScriptInstanceForWidget): 681 (WebCore::ScriptController::windowScriptObject): 682 (WebCore::ScriptController::clearPlatformScriptObjects): 683 (WebCore::ScriptController::disconnectPlatformScriptObjects): 684 (WebCore::updateRenderingForBindings): 685 (WebCore::ScriptController::initJavaJSBindings): 686 * bindings/js/ScriptControllerQt.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp. 687 (WebCore::ScriptController::createScriptInstanceForWidget): 688 * bindings/js/ScriptControllerWin.cpp: Copied from WebCore/svg/graphics/cg/SVGResourceMaskerCg.cpp. 689 (WebCore::ScriptController::createScriptInstanceForWidget): 690 * bindings/objc/DOM.mm: 691 (-[DOMNode KJS::Bindings::]): 692 * bindings/objc/DOMInternal.mm: 693 (-[WebScriptObject _initializeScriptDOMNodeImp]): 694 * bridge/jni/jni_jsobject.mm: 695 (createRootObject): 696 * html/HTMLAppletElement.cpp: 697 (WebCore::HTMLAppletElement::renderWidgetForJSBindings): 698 * html/HTMLAppletElement.h: 699 * html/HTMLEmbedElement.cpp: 700 (WebCore::findWidgetRenderer): 701 (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): 702 * html/HTMLEmbedElement.h: 703 * html/HTMLObjectElement.cpp: 704 (WebCore::HTMLObjectElement::~HTMLObjectElement): 705 (WebCore::HTMLObjectElement::renderWidgetForJSBindings): 706 (WebCore::HTMLObjectElement::detach): 707 * html/HTMLObjectElement.h: 708 * html/HTMLPlugInElement.cpp: 709 (WebCore::HTMLPlugInElement::~HTMLPlugInElement): 710 (WebCore::HTMLPlugInElement::detach): 711 (WebCore::HTMLPlugInElement::getInstance): 712 (WebCore::HTMLPlugInElement::parseMappedAttribute): 713 (WebCore::HTMLPlugInElement::getNPObject): 714 * html/HTMLPlugInElement.h: 715 * loader/FrameLoader.cpp: 716 (WebCore::FrameLoader::clear): 717 * page/Frame.cpp: 718 (WebCore::Frame::Frame): 719 (WebCore::Frame::~Frame): 720 (WebCore::Frame::pageDestroyed): 721 (WebCore::FramePrivate::FramePrivate): 722 * page/Frame.h: 723 * page/FramePrivate.h: 724 * page/gtk/FrameGtk.cpp: 725 * page/mac/FrameMac.mm: 726 * page/qt/FrameQt.cpp: 727 * page/win/FrameWin.cpp: 728 (WebCore::computePageRectsForFrame): 729 730 2008-08-05 Steve Falkenburg <sfalken (a] apple.com> 731 732 Fix last timer fix. 733 Add null check, clear timer using InterlockedExchange. 734 735 Reviewed by Alice Liu. 736 737 * platform/win/SharedTimerWin.cpp: 738 (WebCore::clearTimer): 739 (WebCore::queueTimerProc): 740 (WebCore::stopSharedTimer): 741 742 2008-08-05 Steve Falkenburg <sfalken (a] apple.com> 743 744 Fix timer leak, flag. 745 746 Timers need to be deleted explicitly, even if they fire. 747 Also added WT_EXECUTEONLYONCE flag, since this is not a repeating timer. 748 749 Reviewed by Ada Chan. 750 751 * platform/win/SharedTimerWin.cpp: 752 (WebCore::queueTimerProc): 753 754 2008-08-05 Anders Carlsson <andersca (a] apple.com> 755 756 Reviewed by Darin. 757 758 <rdar://problem/6037398> 759 ER: Deallocate WebKit objects on the main thread, even if released on secondary thread 760 761 Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose. 762 763 * bindings/objc/DOMRGBColor.mm: 764 (-[DOMRGBColor dealloc]): 765 * bindings/objc/WebScriptObject.mm: 766 (-[WebScriptObject dealloc]): 767 * platform/mac/SharedBufferMac.mm: 768 (-[WebCoreSharedBufferData dealloc]): 769 770 2008-08-05 Anders Carlsson <andersca (a] apple.com> 771 772 Reviewed by Darin. 773 774 Move the main thread deallocator here from WebKit. 775 776 * WebCore.base.exp: 777 * WebCore.xcodeproj/project.pbxproj: 778 * platform/mac/WebCoreObjCExtras.c: 779 (method_getImplementation): 780 (deallocCallback): 781 (WebCoreObjCScheduleDeallocateOnMainThread): 782 * platform/mac/WebCoreObjCExtras.h: 783 784 2008-08-05 Dean Jackson <dino (a] apple.com> 785 786 Parse CSS Animations, including the new 787 -webkit-animation properties and the @-webkit-keyframes rule. 788 Adds some new interfaces for the style rules. 789 790 https://bugs.webkit.org/show_bug.cgi?id=20088 791 792 Reviewed by David Hyatt. 793 794 * GNUmakefile.am: 795 * WebCore.pro: 796 * WebCore.vcproj/WebCore.vcproj: 797 * WebCore.xcodeproj/project.pbxproj: 798 * WebCoreSources.bkl: 799 build config for new files 800 * css/tokenizer.flex: 801 * css/CSSGrammar.y: 802 * css/CSSParser.cpp: 803 * css/CSSParser.h: 804 new @-webkit-keyframes parsing 805 * css/CSSPropertyNames.in: 806 -webkit-animation properties 807 * css/CSSRule.h: 808 * css/CSSStyleSelector.cpp: 809 * css/CSSStyleSelector.h: 810 * css/CSSValueKeywords.in: 811 * css/StyleBase.h: 812 * css/WebKitCSSKeyframeRule.cpp: Added. 813 * css/WebKitCSSKeyframeRule.h: Added. 814 * css/WebKitCSSKeyframesRule.cpp: Added. 815 * css/WebKitCSSKeyframesRule.h: Added. 816 817 2008-08-05 Kevin McCullough <kmccullough (a] apple.com> 818 819 Reviewed by Tim. 820 821 - LayoutTests fix. Log only to the Inspector because other listeners may not want 822 XHR notifications, including DRT and the numerous tests that don't expect them. 823 824 * xml/XMLHttpRequest.cpp: 825 (WebCore::XMLHttpRequest::didFinishLoading): 826 827 2008-08-05 Timothy Hatcher <timothy (a] apple.com> 828 829 Makes DOM attribute editing start on double-click to match the styles 830 pane. Links in attributes are now triggered with a single click again. 831 832 https://bugs.webkit.org/show_bug.cgi?id=20281 833 834 Reviewed by Adam Roben. 835 836 * English.lproj/localizedStrings.js: Removed some strings. 837 * page/inspector/ElementsPanel.js: 838 (WebInspector.DOMNodeTreeElement.prototype.onattach): Call 839 _preventFollowingLinksOnDoubleClick. 840 (WebInspector.DOMNodeTreeElement.prototype._preventFollowingLinksOnDoubleClick): 841 Renamed from _makeURLsActivateOnModifiedClick. Simply sets the 842 preventFollowOnDoubleClick property on all links. 843 (WebInspector.DOMNodeTreeElement.prototype.onselect): Removed 844 _selectedByCurrentMouseDown. 845 (WebInspector.DOMNodeTreeElement.prototype.onmousedown): Moved 846 editing code to ondblclick. 847 (WebInspector.DOMNodeTreeElement.prototype.ondblclick): Calls 848 _startEditing. Removed URL check. 849 (WebInspector.DOMNodeTreeElement.prototype._updateTitle): Calls 850 _preventFollowingLinksOnDoubleClick. 851 * page/inspector/inspector.css: 852 (.editing): Removed the text-decoration property. 853 (.editing, .editing *): Added the text-decoration property here 854 so it removes underlines on child elements. 855 * page/inspector/inspector.js: 856 (WebInspector.documentClick): Removed the followOnAltClick code. 857 Added support for preventFollowOnDoubleClick, which sets a timeout 858 on the first click where future clicks will cancel it (double click). 859 If the timeout isn't canceled, the link is followed. 860 861 2008-08-05 Antti Koivisto <antti (a] apple.com> 862 863 Reviewed by Sam Weinig. 864 865 <rdar://problem/6112219> Video in standalone media document flashes when navigating away 866 867 When navigating out from a page, MediaPlayer was set invisible and then immediately 868 made visible again causing flicker in some cases. 869 870 The document is not yet marked being in page cache when willSaveToCache() is called. 871 872 * html/HTMLMediaElement.cpp: 873 (WebCore::HTMLMediaElement::willSaveToCache): 874 * rendering/RenderVideo.cpp: 875 (WebCore::RenderVideo::updatePlayer): 876 877 2008-08-05 Dan Bernstein <mitz (a] apple.com> 878 879 - fix typo 880 881 * page/mac/FrameMac.mm: 882 883 2008-08-05 Dan Bernstein <mitz (a] apple.com> 884 885 - try to fix the 64-bit build 886 887 * page/mac/FrameMac.mm: 888 889 2008-08-05 Alp Toker <alp (a] nuanti.com> 890 891 Remove leftover mark pragma from r35568 to fix compiler warning spew. 892 893 * rendering/style/RenderStyle.h: 894 895 2008-08-05 Kevin McCullough <kmccullough (a] apple.com> 896 897 - Added a test that checks for several edge cases (see description in 898 test. 899 900 * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Added. 901 902 2008-08-05 Dean Jackson <dino (a] apple.com> 903 904 Reviewed by Dave Hyatt 905 906 Add support for CSS Animation properties to RenderStyle 907 https://bugs.webkit.org/show_bug.cgi?id=20068 908 909 (also fix some minor whitespace issues and remove debugging code) 910 911 * css/CSSComputedStyleDeclaration.cpp: 912 * css/CSSStyleSelector.cpp: 913 * page/AnimationController.cpp: 914 * rendering/style/RenderStyle.cpp: 915 * rendering/style/RenderStyle.h: 916 917 2008-08-05 Kevin McCullough <kmccullough (a] apple.com> 918 919 - Updated a manual test to be an accurate description of what it is 920 actually testing. 921 922 * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: 923 924 2008-08-05 Kevin McCullough <kmccullough (a] apple.com> 925 926 Reviewed by Tim. 927 928 <rdar://problem/5732836> XMLHttpRequest: Inspector should show network 929 activity/XHR in Console (17233) 930 931 * xml/XMLHttpRequest.cpp: 932 (WebCore::XMLHttpRequest::didFinishLoading): 933 934 2008-08-05 Dean Jackson <dino (a] apple.com> 935 936 Fix the ChangeLog that was corrupted by r34545. 937 938 2008-08-04 Timothy Hatcher <timothy (a] apple.com> 939 940 Makes the selection surround just the name or value that was 941 double clicked when editing CSS properties. This regressed when 942 the Inspector started using focus/blur events, since a focus on 943 a content editable region changes the selection. 944 945 https://bugs.webkit.org/show_bug.cgi?id=20280 946 947 Reviewed by Adam Roben. 948 949 * page/inspector/StylesSidebarPane.js: 950 (WebInspector.StylePropertyTreeElement.prototype.startEditing): 951 Change the selection after calling WebInspector.startEditing, 952 since WebInspector.startEditing will set an initial selection 953 due to a focus event. 954 955 2008-08-04 Timothy Hatcher <timothy (a] apple.com> 956 957 Changes the editing behavior in the Inspector to commit changes 958 when focus is lost, instead of reverting the changes. 959 960 https://bugs.webkit.org/show_bug.cgi?id=20279 961 962 Reviewed by Adam Roben. 963 964 * page/inspector/inspector.js: 965 (WebInspector.startEditing): Call editingCommitted in blurEventListener 966 instead of editingCancelled. 967 968 2008-08-04 Timothy Hatcher <timothy (a] apple.com> 969 970 Adds the ability to increment/decrement numbers in editable style 971 properties with the arrow and page keys. 972 973 Reviewed by Adam Roben. 974 975 https://bugs.webkit.org/show_bug.cgi?id=20273 976 977 * page/inspector/StylesSidebarPane.js: 978 (WebInspector.StylePropertyTreeElement.prototype.updateAll): 979 Updates all properties in the current section, or all sections 980 depending in the argument passed. 981 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled): 982 Call updateAll instead of having duplicate code. 983 (WebInspector.StylePropertyTreeElement.prototype.startEditing): 984 Assign the list element's handleKeyEvent to editingKeyDown. 985 (WebInspector.StylePropertyTreeElement.prototype.editingKeyDown): 986 Handles the Up and Down arrows keys. Finds the word based on the 987 selection and extracts the number, prefix and suffix. Increments 988 or decrements the number based on the key and modifiers. Replaces 989 the original word with the new value and selects it. Also applies 990 the style so the page reflects the changes live. 991 (WebInspector.StylePropertyTreeElement.prototype.editingEnded): 992 Delete the handleKeyEvent and originalCSSText properties. 993 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled): 994 If originalCSSText exists, set the cssText to that value and call 995 updateAll. Otherwise just call updateTitle like before. 996 (WebInspector.StylePropertyTreeElement.prototype.editingCommitted): 997 Factored out the style applying code to applyStyleText. 998 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText): 999 Factored out from editingCommitted. Takes an argument that specifies 1000 if the interface should be updated when the style is applied. 1001 * page/inspector/inspector.js: 1002 (WebInspector.startEditing): Call the original key handler, if one 1003 existed before interrupting key events. 1004 * page/inspector/utilities.js: 1005 (getStyleTextWithShorthands): Helper to return CSS text that preserves 1006 shorthand values, since the cssText property only outputs longhands. 1007 1008 2008-08-04 Timothy Hatcher <timothy (a] apple.com> 1009 1010 Factors out the TextPrompt.scanBackwards function into a generic 1011 helper function on the Node prototype, named rangeOfWord. 1012 1013 Reviewed by Adam Roben. 1014 1015 * page/inspector/Console.js: 1016 (WebInspector.Console.prototype.completions): Use rangeOfWord. 1017 * page/inspector/TextPrompt.js: 1018 (WebInspector.TextPrompt.prototype.complete): Ditto. 1019 (WebInspector.TextPrompt.prototype.scanBackwards): Removed. 1020 * page/inspector/utilities.js: 1021 (Node.prototype.rangeOfWord): Added. Copied from TextPrompt.scanBackwards, 1022 and added a direction argument allowing scanning forward, backward or 1023 both directions from the offset. 1024 1025 2008-08-04 Timothy Hatcher <timothy (a] apple.com> 1026 1027 Fixes a bug where the property toggle button would not be hidden 1028 during editing. 1029 1030 Reviewed by Adam Roben. 1031 1032 * page/inspector/inspector.css: 1033 (li.editing .swatch, li.editing .enabled-button): 1034 Make the display !important, since a more specific rule for 1035 .enabledbutton overrides display. 1036 1037 2008-08-05 Dan Bernstein <mitz (a] apple.com> 1038 1039 Reviewed by Geoffrey Garen. 1040 1041 - remove redundant #imports from FrameMac.mm 1042 1043 * page/mac/FrameMac.mm: 1044 1045 2008-08-04 Bernhard Kruepl <kruepl (a] dbai.tuwien.ac.at> 1046 1047 Reviewed by Dave Hyatt. 1048 1049 Fix for https://bugs.webkit.org/show_bug.cgi?id=19094 1050 Corrected offsetTop for table cells by subtracting borderTopExtra 1051 1052 * rendering/RenderObject.cpp: 1053 (WebCore::RenderObject::offsetTop): 1054 1055 2008-08-04 Dean Jackson <dino (a] apple.com> 1056 1057 Reviewed by Dave Hyatt. 1058 1059 Improve AnimationController 1060 https://bugs.webkit.org/show_bug.cgi?id=19938 1061 1062 - Transition class is now called Animation 1063 - new state-based AnimationController that can support CSS Animations 1064 - add support for -webkit-transition-delay 1065 - remove -webkit-transition-repeat-count (since it never existed officially) 1066 - updates the -webkit-transition shorthand to reflect removing repeat count 1067 - updates the Transition class so that properties can be shared with animations 1068 - adds a "now" keyword for -webkit-transition-delay 1069 - adds a new change type for style (changed by animation) 1070 - adds new event names (although they are not dispatched yet) 1071 - makes text stroke and text fill colors returned by RenderStyle const 1072 1073 Tests: 1074 - manual-tests/transition-left.html 1075 - manual-tests/transition-delay.html 1076 - manual-tests/transition-timing-functions.html 1077 1078 * css/CSSComputedStyleDeclaration.cpp: 1079 * css/CSSParser.cpp: 1080 * css/CSSParser.h: 1081 * css/CSSPropertyNames.in: 1082 * css/CSSStyleSelector.cpp: 1083 * css/CSSStyleSelector.h: 1084 * css/CSSTimingFunctionValue.h: 1085 * css/CSSValue.h: 1086 * css/CSSValueKeywords.in: 1087 * css/WebKitCSSTransformValue.cpp: 1088 * dom/Document.cpp: 1089 * dom/Document.h: 1090 * dom/Element.cpp: 1091 * dom/EventNames.h: 1092 * dom/Node.cpp: 1093 * dom/Node.h: 1094 * history/CachedPage.cpp: 1095 * page/AnimationController.cpp: 1096 * page/AnimationController.h: 1097 * page/Frame.cpp: 1098 * rendering/RenderObject.cpp: 1099 * rendering/RenderWidget.cpp: 1100 * rendering/style/RenderStyle.cpp: 1101 * rendering/style/RenderStyle.h: 1102 1103 2008-08-04 Mike Belshe <mike (a] belshe.com> 1104 1105 Reviewed by Antti. 1106 1107 Currently we create two copies of script in the HTMLTokenizer. 1108 One copy gets passed into the javascript engine, the other gets 1109 stored in the DOM. Modify the HTMLParser so that it does not 1110 chunk the string into it's normal 64K chunks for script code, 1111 and modify the HTMLTokenizer to pass that same string into the 1112 JS engine. On some sites (e.g. GMail), which have hundreds of 1113 KB of inline JS, this saves more than a MB of RAM to run the page. 1114 (Strings use 16bit strings, so 600KB of JS code == 1.2MB of memory) 1115 1116 * html\HTMLParser.cpp 1117 * html\HTMLTokenizer.cpp 1118 1119 2008-08-04 Sam Weinig <sam (a] webkit.org> 1120 1121 Reviewed by Mark Rowe. 1122 1123 Remove extra braces left in from JSLock removal. 1124 1125 * xml/XMLHttpRequest.cpp: 1126 (WebCore::XMLHttpRequest::dropProtection): 1127 1128 2008-08-02 Sam Weinig <sam (a] webkit.org> 1129 1130 Reviewed by Dan Bernstein. 1131 1132 Implement the Access-control for Cross Site requests 1133 preflight cache. 1134 1135 Tests: http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-header.html 1136 http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-method.html 1137 http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-timeout.html 1138 http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache.html 1139 1140 * WebCore.vcproj/WebCore.vcproj: 1141 * WebCore.xcodeproj/project.pbxproj: 1142 * platform/KURL.h: 1143 (WTF::): 1144 * platform/KURLHash.h: Added. 1145 (WebCore::KURLHash::hash): 1146 (WebCore::KURLHash::equal): 1147 (WTF::): 1148 * xml/XMLHttpRequest.cpp: 1149 (WebCore::PreflightResultCacheItem::PreflightResultCacheItem): 1150 (WebCore::preflightResultCache): 1151 (WebCore::appendPreflightResultCacheEntry): 1152 (WebCore::canSkipPrelight): 1153 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): 1154 (WebCore::parseAccessControlAllowList): 1155 (WebCore::parseAccessControlMaxAge): 1156 (WebCore::XMLHttpRequest::didReceiveResponsePreflight): 1157 1158 2008-08-04 Eric Seidel <eric (a] webkit.org> 1159 1160 Reviewed by Adam Roben. 1161 1162 Fix warning seen in MSVC converting ints to floats. 1163 1164 * rendering/Length.h: 1165 (WebCore::Length::calcFloatValue): 1166 1167 2008-08-04 Eric Seidel <eric (a] webkit.org> 1168 1169 Reviewed by hyatt. 1170 1171 Clean up Gradient constructors, make sure all members are initialized. 1172 1173 * platform/graphics/Gradient.cpp: 1174 (WebCore::Gradient::Gradient): 1175 1176 2008-08-02 Maxime Britto <britto (a] apple.com> 1177 1178 Reviewed by Eric Seidel. 1179 1180 <rdar://problem/6118969> 1181 https://bugs.webkit.org/show_bug.cgi?id=19971 1182 Modifiy the cursor interactively when on panning mode (middle click auto scroll) 1183 When the panning is in progress the cursor is an arrow representing the direction of the current scroll 1184 1185 * page/EventHandler.cpp: 1186 (WebCore::EventHandler::autoscrollTimerFired): Before each scroll we actualize the cursor to match the current direction 1187 (WebCore::EventHandler::setPanScrollCursor): determines the direction of the upcoming scroll. 1188 (WebCore::EventHandler::handleMouseMoveEvent): 1189 * page/EventHandler.h: 1190 * platform/Cursor.h: Add propotypes for the new cursor functions 1191 * platform/gtk/CursorGtk.cpp: to avoid build break 1192 (WebCore::middlePanningCursor): 1193 (WebCore::eastPanningCursor): 1194 (WebCore::northPanningCursor): 1195 (WebCore::northEastPanningCursor): 1196 (WebCore::northWestPanningCursor): 1197 (WebCore::southPanningCursor): 1198 (WebCore::southEastPanningCursor): 1199 (WebCore::southWestPanningCursor): 1200 (WebCore::westPanningCursor): 1201 * platform/mac/CursorMac.mm: to avoid build break 1202 (WebCore::middlePanningCursor): 1203 (WebCore::eastPanningCursor): 1204 (WebCore::northPanningCursor): 1205 (WebCore::northEastPanningCursor): 1206 (WebCore::northWestPanningCursor): 1207 (WebCore::southPanningCursor): 1208 (WebCore::southEastPanningCursor): 1209 (WebCore::southWestPanningCursor): 1210 (WebCore::westPanningCursor): 1211 * platform/qt/CursorQt.cpp: to avoid build break 1212 (WebCore::middlePanningCursor): 1213 (WebCore::eastPanningCursor): 1214 (WebCore::northPanningCursor): 1215 (WebCore::northEastPanningCursor): 1216 (WebCore::northWestPanningCursor): 1217 (WebCore::southPanningCursor): 1218 (WebCore::southEastPanningCursor): 1219 (WebCore::southWestPanningCursor): 1220 (WebCore::westPanningCursor): 1221 * platform/win/CursorWin.cpp: Add specific icons for the panning as windows resizing icons are both sides arrows 1222 (WebCore::middlePanningCursor): 1223 (WebCore::eastPanningCursor): 1224 (WebCore::northPanningCursor): 1225 (WebCore::northEastPanningCursor): 1226 (WebCore::northWestPanningCursor): 1227 (WebCore::southPanningCursor): 1228 (WebCore::southEastPanningCursor): 1229 (WebCore::southWestPanningCursor): 1230 (WebCore::westPanningCursor): 1231 * platform/wx/CursorWx.cpp: to avoid build break 1232 (WebCore::middlePanningCursor): 1233 (WebCore::eastPanningCursor): 1234 (WebCore::northPanningCursor): 1235 (WebCore::northEastPanningCursor): 1236 (WebCore::northWestPanningCursor): 1237 (WebCore::southPanningCursor): 1238 (WebCore::southEastPanningCursor): 1239 (WebCore::southWestPanningCursor): 1240 (WebCore::westPanningCursor): 1241 1242 2008-08-02 Kevin Ollivier <kevino (a] theolliviers.com> 1243 1244 Move to using constants in accordance with discussions about wx renderer commit. 1245 1246 * platform/wx/RenderThemeWx.cpp: 1247 (WebCore::RenderThemeWx::minimumMenuListSize): 1248 (WebCore::RenderThemeWx::popupInternalPaddingLeft): 1249 (WebCore::RenderThemeWx::popupInternalPaddingRight): 1250 (WebCore::RenderThemeWx::popupInternalPaddingTop): 1251 (WebCore::RenderThemeWx::popupInternalPaddingBottom): 1252 1253 2008-08-02 Wouter Bolsterlee <wbolster (a] svn.gnome.org> 1254 1255 Reviewed by Eric Seidel. 1256 1257 * plugins/gtk/gtk2xtbin.h: 1258 1259 https://bugs.webkit.org/show_bug.cgi?id=20034 1260 Fix malformed Vim modeline. 1261 1262 2008-08-01 Dan Bernstein <mitz (a] apple.com> 1263 1264 Reviewed by Dave Hyatt. 1265 1266 - tweak a comment 1267 1268 * platform/graphics/cg/ImageCG.cpp: 1269 (WebCore::BitmapImage::draw): 1270 1271 2008-08-01 Jan Michael Alonzo <jmalonzo (a] webkit.org> 1272 1273 * ChangeLog: Fix date of previous commit (r35520) 1274 1275 2008-08-01 Marco Barisione <marco.barisione (a] collabora.co.uk> 1276 1277 Reviewed by Eric Seidel. 1278 1279 https://bugs.webkit.org/show_bug.cgi?id=19603 1280 [SOUP] segfault when closing a file using gio 1281 1282 Call client->didFinishLoading() only after releasing all the gio 1283 resources. 1284 1285 * platform/network/soup/ResourceHandleSoup.cpp: 1286 (WebCore::closeCallback): 1287 (WebCore::readCallback): 1288 1289 2008-08-01 Anders Carlsson <andersca (a] apple.com> 1290 1291 Reviewed by Jon. 1292 1293 <rdar://problem/6120206> 1294 Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams. 1295 1296 Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack. 1297 1298 * plugins/PluginStream.cpp: 1299 (WebCore::PluginStream::wantsAllStreams): 1300 1301 2008-08-01 Robin Dunn <robin (a] alldunn.com> 1302 1303 Reviewed by Eric Seidel. 1304 1305 Native rendering implementations for form elements in the wx port. 1306 1307 https://bugs.webkit.org/show_bug.cgi?id=19069 1308 1309 * platform/wx/RenderThemeWx.cpp: 1310 (WebCore::RenderThemeWx::adjustRepaintRect): 1311 (WebCore::RenderThemeWx::paintButton): 1312 (WebCore::RenderThemeWx::paintTextField): 1313 (WebCore::RenderThemeWx::minimumMenuListSize): 1314 (WebCore::RenderThemeWx::adjustMenuListStyle): 1315 (WebCore::RenderThemeWx::paintMenuList): 1316 (WebCore::RenderThemeWx::adjustMenuListButtonStyle): 1317 (WebCore::RenderThemeWx::paintMenuListButton): 1318 (WebCore::RenderThemeWx::popupInternalPaddingLeft): 1319 (WebCore::RenderThemeWx::popupInternalPaddingRight): 1320 (WebCore::RenderThemeWx::popupInternalPaddingTop): 1321 (WebCore::RenderThemeWx::popupInternalPaddingBottom): 1322 1323 2008-07-30 David Hyatt <hyatt (a] apple.com> 1324 1325 Improvements to selection drawing. 1326 1327 Clip out floating and positioned objects when drawing selection so 1328 that there is no "double painting" of selection when the selection spans both the space behind the positioned/floating 1329 object and the positioned/floating object itself. Improves most Web pages. 1330 1331 Do not paint left/right selection gaps if the object's edge is already outside the boundary (at a negative 1332 position). Significantly improves the look of selections on digg.com, since it uses giant negative text-indent. 1333 1334 Reviewed by Dan 1335 1336 Covered by existing selection pixel tests. 1337 1338 * rendering/RenderBlock.cpp: 1339 (WebCore::RenderBlock::isSelectionRoot): 1340 (WebCore::RenderBlock::paintSelection): 1341 (WebCore::clipOutPositionedObjects): 1342 (WebCore::RenderBlock::fillSelectionGaps): 1343 (WebCore::RenderBlock::fillLeftSelectionGap): 1344 (WebCore::RenderBlock::fillRightSelectionGap): 1345 1346 2008-08-01 Timothy Hatcher <timothy (a] apple.com> 1347 1348 Adds the ability to disable individual properties of a CSS rule. 1349 When hovering over a rule, checkboxes show up to the right of all 1350 properties and toggling a checkbox disables/enables the property. 1351 Behind the scenes the property is removed from the rule when disabled, 1352 but still remains in the list and in the computed style. When disabled 1353 the property has a line through it, and is faded in computed style. 1354 1355 <rdar://problem/5712828> Support disabling individual CSS properties 1356 https://bugs.webkit.org/show_bug.cgi?id=14377 1357 1358 Reviewed by Adam Roben. 1359 1360 * page/inspector/StylesSidebarPane.js: 1361 (WebInspector.StylesSidebarPane.prototype.update): Include the 1362 inline style when it also has disabled properties. Call 1363 deleteDisabledProperty for any property that is in the style, 1364 since it might have been added back by the page. Remember all 1365 disabled properties so they show up in computed style. 1366 (deleteDisabledProperty): Helper function to delete all the 1367 right properties that track disabled properties. 1368 (WebInspector.StylePropertiesSection): Add the computed-style 1369 class when the section is Computed Style. 1370 (WebInspector.StylePropertiesSection.prototype.onpopulate): 1371 Include disabled properties. 1372 (WebInspector.StylePropertyTreeElement): Added a disabled argument. 1373 (WebInspector.StylePropertyTreeElement.prototype.get/set disabled): 1374 Sets the _disabled property and calls updateState. 1375 (WebInspector.StylePropertyTreeElement.prototype.get priority): 1376 Return the priority of enabled or disabled properties. 1377 (WebInspector.StylePropertyTreeElement.prototype.get value): 1378 Return the value of enabled or disabled properties. 1379 (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Use the 1380 priority and value getter. Append the checkbox for root elements of 1381 an editable section. 1382 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled): 1383 Add or remove properties from the rule and remember removed ones 1384 by adding three objects to the style: __disabledProperties, 1385 __disabledPropertyValues and __disabledPropertyPriorities. 1386 The __disabledProperties object will include all longhand 1387 properties of a shorthand for use by Computed Style. 1388 (WebInspector.StylePropertyTreeElement.prototype.updateState): 1389 Use the value getter. Update the disabled state. 1390 * page/inspector/inspector.css: 1391 * page/inspector/utilities.js: 1392 (Object.hasProperties): Added. Helper to test if an object 1393 has any properties. 1394 1395 2008-07-31 Anders Carlsson <andersca (a] apple.com> 1396 1397 Reviewed by Darin. 1398 1399 <rdar://problem/5949410> 1400 Add the ability to transfer a given application cache to a new database. 1401 1402 * WebCore.base.exp: 1403 Export ApplicationCacheStorage::storeCopyOfCache. 1404 1405 * loader/appcache/ApplicationCache.cpp: 1406 (WebCore::ApplicationCache::~ApplicationCache): 1407 Don't call cacheDestroyed for our special "copy" groups. 1408 1409 * loader/appcache/ApplicationCacheGroup.cpp: 1410 (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): 1411 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup): 1412 Add a "copy" flag to the ApplicationCacheGroup constructor. A "copied" group is special 1413 and can only be stored to disk. 1414 1415 * loader/appcache/ApplicationCacheGroup.h: 1416 (WebCore::ApplicationCacheGroup::isCopy): 1417 New getter. 1418 1419 * loader/appcache/ApplicationCacheStorage.cpp: 1420 (WebCore::ApplicationCacheStorage::store): 1421 Make sure to set the storageID when storing an application resource. 1422 1423 (WebCore::ApplicationCacheStorage::storeNewestCache): 1424 Change this to return true/false depending on whether storing the cache succeeded or not. 1425 1426 (WebCore::ApplicationCacheStorage::storeCopyOfCache): 1427 New method which stores a given cache in a new storage (database file). 1428 1429 * loader/appcache/ApplicationCacheStorage.h: 1430 Add new methods. 1431 1432 2008-07-31 John Sullivan <sullivan (a] apple.com> 1433 1434 WebCore part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs 1435 1436 Reviewed by Hyatt 1437 1438 * WebCore.base.exp: 1439 export symbol for WebCoreSettings::setZoomsTextOnly() 1440 1441 * page/Frame.cpp: 1442 (WebCore::Frame::isZoomFactorTextOnly): 1443 use value from Settings instead of data member 1444 (WebCore::Frame::shouldApplyTextZoom): 1445 call isZoomFactorTextOnly() to get value instead of accessing now-removed data member 1446 (WebCore::Frame::shouldApplyPageZoom): 1447 ditto 1448 (WebCore::Frame::setZoomFactor): 1449 set value into Settings rather than into data member 1450 (WebCore::FramePrivate::FramePrivate): 1451 don't set initial value of now-removed data member; this is managed by Settings now 1452 1453 * page/FramePrivate.h: 1454 removed m_zoomFactorIsTextOnly 1455 1456 * page/Settings.cpp: 1457 (WebCore::Settings::setZoomsTextOnly): 1458 new function, sets values and reapplies styles in all frames 1459 1460 * page/Settings.h: 1461 (WebCore::Settings::zoomsTextOnly): 1462 new function, returns value of new data member 1463 1464 2008-07-31 Simon Fraser <simon.fraser (a] apple.com> 1465 1466 Reviewed by Dave Hyatt 1467 1468 Null-check parent clip rects, because they may not have been 1469 set up yet. 1470 https://bugs.webkit.org/show_bug.cgi?id=20243 1471 1472 * rendering/RenderLayer.cpp: 1473 (WebCore::RenderLayer::calculateClipRects): 1474 1475 2008-07-31 Dan Bernstein <mitz (a] apple.com> 1476 1477 Reviewed by Dave Hyatt. 1478 1479 - fix <rdar://problem/6058958> REGRESSION (r34210): Seams are visible in border-image 1480 1481 * platform/graphics/cg/ImageCG.cpp: 1482 (WebCore::BitmapImage::draw): To work around a Core Graphics 1483 interpolation issue, reverted to using a temporary subimage for drawing 1484 a portion of the image with scaling and high-quality interpolation in 1485 effect. 1486 1487 2008-07-31 chris fleizach <cfleizach (a] apple.com> 1488 1489 Reviewed by Alice Liu 1490 1491 <rdar://problem/3563671> VO doesn't highlight characters when interacting when static text in web areas 1492 1493 Need to expose the AXBoundsForRange parameter which allows an AX client to get the visible bounds 1494 for individual characters on a webpage. 1495 1496 Test: accessibility/bounds-for-range.html 1497 1498 * ChangeLog: 1499 * page/AccessibilityRenderObject.cpp: 1500 (WebCore::AccessibilityRenderObject::visiblePositionForIndex): 1501 * page/mac/AccessibilityObjectWrapper.mm: 1502 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): 1503 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): 1504 1505 2008-07-31 Kevin Ollivier <kevino (a] theolliviers.com> 1506 1507 Second attempt at Windows/wx build fix. Instead of avoiding inclusion of windows.h, 1508 use defines, etc. to avoid conflicts in each affected file. 1509 1510 * config.h: 1511 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 1512 * platform/wx/PopupMenuWx.cpp: 1513 1514 2008-07-31 Erik Bunce <elbunce (a] thehive.com> 1515 1516 Reviewed by Simon. 1517 1518 https://bugs.webkit.org/show_bug.cgi?id=20224 1519 1520 Include the Writing Direction sub-menu in the context menu of all 1521 platforms but GTK. This fixes a regression introduced by revision 1522 34426. 1523 1524 * platform/ContextMenu.cpp: 1525 (WebCore::ContextMenu::populate): 1526 1527 2008-07-31 Brady Eidson <beidson (a] apple.com> 1528 1529 Reviewed by Adam and Hyatt 1530 1531 Fix for <rdar://problem/6099748> 1532 1533 Adds a "don't enforce CSS mime type in strict mode" quirk for iWeb 2 1534 1535 * WebCore.base.exp: 1536 1537 * html/HTMLLinkElement.cpp: 1538 (WebCore::HTMLLinkElement::setCSSStyleSheet): 1539 1540 * loader/CachedCSSStyleSheet.cpp: 1541 (WebCore::CachedCSSStyleSheet::canUseSheet): 1542 * loader/CachedCSSStyleSheet.h: 1543 (WebCore::CachedCSSStyleSheet::sheetText): 1544 * page/Settings.cpp: 1545 1546 (WebCore::Settings::Settings): 1547 (WebCore::Settings::setEnforceCSSMIMETypeInStrictMode): 1548 * page/Settings.h: 1549 (WebCore::Settings::enforceCSSMIMETypeInStrictMode): 1550 1551 2008-07-31 Erik Bunce <elbunce (a] thehive.com> 1552 1553 Reviewed by Simon. 1554 1555 Added the ability to get SQLite headers and source from the location 1556 specified via the SQLITE3SRCDIR environtment variable. 1557 1558 * WebCore.pro: 1559 1560 2008-07-31 Alexey Proskuryakov <ap (a] webkit.org> 1561 1562 Rubber-stamped by Maciej. 1563 1564 Eliminate JSLock (it was already disabled, removing the stub implementaion and all 1565 call sites now). 1566 1567 * ForwardingHeaders/kjs/JSLock.h: Removed. 1568 * WebCore.vcproj/WebCore.vcproj: 1569 * bindings/js/GCController.cpp: 1570 (WebCore::collect): 1571 (WebCore::GCController::gcTimerFired): 1572 (WebCore::GCController::garbageCollectNow): 1573 * bindings/js/JSCustomSQLStatementCallback.cpp: 1574 (WebCore::JSCustomSQLStatementCallback::handleEvent): 1575 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 1576 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 1577 * bindings/js/JSCustomSQLTransactionCallback.cpp: 1578 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 1579 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 1580 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 1581 * bindings/js/JSCustomVoidCallback.cpp: 1582 (WebCore::JSCustomVoidCallback::handleEvent): 1583 * bindings/js/JSCustomXPathNSResolver.cpp: 1584 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 1585 * bindings/js/JSDOMWindowBase.cpp: 1586 (WebCore::DOMWindowTimer::~DOMWindowTimer): 1587 (WebCore::JSDOMWindowBase::clear): 1588 (WebCore::JSDOMWindowBase::timerFired): 1589 * bindings/js/JSEventCustom.cpp: 1590 (WebCore::toJS): 1591 * bindings/js/JSEventListener.cpp: 1592 (WebCore::JSAbstractEventListener::handleEvent): 1593 (WebCore::JSLazyEventListener::parseCode): 1594 * bindings/js/JSNSResolver.cpp: 1595 (WebCore::JSNSResolver::lookupNamespaceURI): 1596 * bindings/js/JSNodeFilterCondition.cpp: 1597 (WebCore::JSNodeFilterCondition::acceptNode): 1598 * bindings/js/ScheduledAction.cpp: 1599 (WebCore::ScheduledAction::execute): 1600 * bindings/js/ScriptController.cpp: 1601 (WebCore::ScriptController::evaluate): 1602 (WebCore::ScriptController::clear): 1603 (WebCore::ScriptController::createHTMLEventHandler): 1604 (WebCore::ScriptController::createSVGEventHandler): 1605 (WebCore::ScriptController::initScript): 1606 (WebCore::ScriptController::updateDocument): 1607 * bindings/objc/WebScriptObject.mm: 1608 (_didExecute): 1609 (-[WebScriptObject callWebScriptMethod:withArguments:]): 1610 (-[WebScriptObject evaluateWebScript:]): 1611 (-[WebScriptObject setValue:forKey:]): 1612 (-[WebScriptObject valueForKey:]): 1613 (-[WebScriptObject removeWebScriptKey:]): 1614 (-[WebScriptObject stringRepresentation]): 1615 (-[WebScriptObject webScriptValueAtIndex:]): 1616 (-[WebScriptObject setWebScriptValueAtIndex:value:]): 1617 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 1618 * bridge/NP_jsobject.cpp: 1619 (_NPN_InvokeDefault): 1620 (_NPN_Invoke): 1621 (_NPN_Evaluate): 1622 (_NPN_GetProperty): 1623 (_NPN_SetProperty): 1624 (_NPN_RemoveProperty): 1625 (_NPN_HasProperty): 1626 (_NPN_HasMethod): 1627 (_NPN_Enumerate): 1628 * bridge/c/c_class.cpp: 1629 (KJS::Bindings::CClass::~CClass): 1630 (KJS::Bindings::CClass::methodsNamed): 1631 (KJS::Bindings::CClass::fieldNamed): 1632 * bridge/c/c_instance.cpp: 1633 (KJS::Bindings::CInstance::invokeMethod): 1634 (KJS::Bindings::CInstance::invokeDefaultMethod): 1635 (KJS::Bindings::CInstance::getPropertyNames): 1636 * bridge/c/c_runtime.cpp: 1637 (KJS::Bindings::CField::valueFromInstance): 1638 (KJS::Bindings::CField::setValueToInstance): 1639 * bridge/c/c_utility.cpp: 1640 (KJS::Bindings::convertValueToNPVariant): 1641 (KJS::Bindings::convertNPVariantToValue): 1642 * bridge/jni/jni_class.cpp: 1643 (JavaClass::JavaClass): 1644 (JavaClass::~JavaClass): 1645 * bridge/jni/jni_instance.cpp: 1646 (JavaInstance::stringValue): 1647 * bridge/jni/jni_jsobject.mm: 1648 (JavaJSObject::call): 1649 (JavaJSObject::eval): 1650 (JavaJSObject::getMember): 1651 (JavaJSObject::setMember): 1652 (JavaJSObject::removeMember): 1653 (JavaJSObject::getSlot): 1654 (JavaJSObject::setSlot): 1655 (JavaJSObject::toString): 1656 (JavaJSObject::convertValueToJObject): 1657 (JavaJSObject::convertJObjectToValue): 1658 * bridge/jni/jni_objc.mm: 1659 (KJS::Bindings::dispatchJNICall): 1660 * bridge/jni/jni_runtime.cpp: 1661 (appendClassName): 1662 (JavaMethod::signature): 1663 * bridge/jni/jni_runtime.h: 1664 (KJS::Bindings::JavaString::JavaString): 1665 (KJS::Bindings::JavaString::_commonInit): 1666 (KJS::Bindings::JavaString::~JavaString): 1667 (KJS::Bindings::JavaString::UTF8String): 1668 * bridge/jni/jni_utility.cpp: 1669 (KJS::Bindings::convertValueToJValue): 1670 * bridge/npruntime.cpp: 1671 (_NPN_GetStringIdentifier): 1672 * bridge/objc/objc_instance.mm: 1673 (ObjcInstance::moveGlobalExceptionToExecState): 1674 (ObjcInstance::invokeMethod): 1675 (ObjcInstance::invokeDefaultMethod): 1676 (ObjcInstance::setValueOfUndefinedField): 1677 (ObjcInstance::getValueOfUndefinedField): 1678 * bridge/objc/objc_runtime.mm: 1679 (ObjcField::valueFromInstance): 1680 (ObjcField::setValueToInstance): 1681 * bridge/objc/objc_utility.mm: 1682 (KJS::Bindings::convertValueToObjcValue): 1683 (KJS::Bindings::convertNSStringToString): 1684 (KJS::Bindings::convertObjcValueToValue): 1685 * bridge/qt/qt_instance.cpp: 1686 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache): 1687 (KJS::Bindings::QtInstance::~QtInstance): 1688 (KJS::Bindings::QtInstance::getQtInstance): 1689 (KJS::Bindings::QtInstance::getRuntimeObject): 1690 * bridge/qt/qt_runtime.cpp: 1691 (KJS::Bindings::convertValueToQVariant): 1692 (KJS::Bindings::convertQVariantToValue): 1693 (KJS::Bindings::QtRuntimeMetaMethod::call): 1694 (KJS::Bindings::QtRuntimeConnectionMethod::call): 1695 (KJS::Bindings::QtConnectionObject::QtConnectionObject): 1696 (KJS::Bindings::QtConnectionObject::execute): 1697 * bridge/runtime.cpp: 1698 (KJS::Bindings::Instance::createRuntimeObject): 1699 * bridge/testbindings.cpp: 1700 (main): 1701 * bridge/testbindings.mm: 1702 (main): 1703 * bridge/testqtbindings.cpp: 1704 (main): 1705 * dom/Document.cpp: 1706 (WebCore::Document::~Document): 1707 * dom/Node.cpp: 1708 (WebCore::Node::setDocument): 1709 * history/CachedPage.cpp: 1710 (WebCore::CachedPage::CachedPage): 1711 (WebCore::CachedPage::restore): 1712 (WebCore::CachedPage::clear): 1713 * html/HTMLPlugInElement.cpp: 1714 (WebCore::HTMLPlugInElement::createNPObject): 1715 * loader/FrameLoader.cpp: 1716 (WebCore::getString): 1717 * page/Frame.cpp: 1718 (WebCore::Frame::bindingRootObject): 1719 (WebCore::Frame::windowScriptNPObject): 1720 (WebCore::Frame::clearScriptObjects): 1721 * page/InspectorController.cpp: 1722 (WebCore::jsStringRef): 1723 (WebCore::ConsoleMessage::ConsoleMessage): 1724 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): 1725 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): 1726 (WebCore::getResourceDocumentNode): 1727 (WebCore::search): 1728 (WebCore::inspectedWindow): 1729 (WebCore::wrapCallback): 1730 (WebCore::currentCallFrame): 1731 (WebCore::profiles): 1732 (WebCore::InspectorController::focusNode): 1733 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): 1734 (WebCore::InspectorController::addDatabaseScriptResource): 1735 (WebCore::InspectorController::addScriptProfile): 1736 * page/JavaScriptCallFrame.cpp: 1737 (WebCore::JavaScriptCallFrame::evaluate): 1738 * page/JavaScriptProfileNode.cpp: 1739 (WebCore::getTotalTime): 1740 (WebCore::getSelfTime): 1741 (WebCore::getTotalPercent): 1742 (WebCore::getSelfPercent): 1743 (WebCore::getNumberOfCalls): 1744 (WebCore::getChildren): 1745 (WebCore::getVisible): 1746 * page/Page.cpp: 1747 * page/mac/FrameMac.mm: 1748 (WebCore::Frame::windowScriptObject): 1749 * page/qt/FrameQt.cpp: 1750 * plugins/PluginView.cpp: 1751 (WebCore::PluginView::start): 1752 (WebCore::getString): 1753 (WebCore::PluginView::performRequest): 1754 (WebCore::PluginView::bindingInstance): 1755 * plugins/gtk/PluginViewGtk.cpp: 1756 (WebCore::PluginView::paint): 1757 (WebCore::PluginView::handleKeyboardEvent): 1758 (WebCore::PluginView::handleMouseEvent): 1759 (WebCore::PluginView::setNPWindowRect): 1760 (WebCore::PluginView::stop): 1761 (WebCore::PluginView::init): 1762 * plugins/qt/PluginViewQt.cpp: 1763 (WebCore::PluginView::setNPWindowRect): 1764 (WebCore::PluginView::stop): 1765 (WebCore::PluginView::init): 1766 * plugins/win/PluginViewWin.cpp: 1767 (WebCore::PluginView::dispatchNPEvent): 1768 (WebCore::PluginView::handleKeyboardEvent): 1769 (WebCore::PluginView::handleMouseEvent): 1770 (WebCore::PluginView::setNPWindowRect): 1771 (WebCore::PluginView::stop): 1772 * xml/XMLHttpRequest.cpp: 1773 (WebCore::XMLHttpRequest::clearResponse): 1774 (WebCore::XMLHttpRequest::didFinishLoading): 1775 (WebCore::XMLHttpRequest::didReceiveData): 1776 1777 2008-07-30 Timothy Hatcher <timothy (a] apple.com> 1778 1779 Fix various minor bugs with style editing in the Inspector. 1780 1781 - Restores the scroll position to 0,0 when finished editing a 1782 string that was longer than the editing input area. 1783 1784 - Adjusts the margin of the list item to ensure the text does 1785 not shift when entering and exiting editing mode. 1786 1787 - Reliably remembers if a shorthand has children when the 1788 children haven't been populated yet. 1789 1790 - Reliably remembers if a shorthand was expanded, and expands 1791 if needed after editing finishes. 1792 1793 - Hides color swatches when editing. 1794 1795 https://bugs.webkit.org/show_bug.cgi?id=20238 1796 1797 Reviewed by Adam Roben. 1798 1799 * page/inspector/StylesSidebarPane.js: 1800 (WebInspector.StylePropertyTreeElement.prototype.startEditing): 1801 Store the expanded state and children state in wasExpanded and 1802 reallyHasChildren properties. 1803 (WebInspector.StylePropertyTreeElement.prototype.editingEnded): 1804 Removed the wasExpanded argument and use the reallyHasChildren and 1805 wasExpanded properties to restore state. Deletes the state properties. 1806 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled): 1807 Removed the wasExpanded argument. 1808 (WebInspector.StylePropertyTreeElement.prototype.editingCommitted): 1809 Removed the wasExpanded argument. 1810 * page/inspector/inspector.css: Tweak the margin and hides the color 1811 swatches. ALso removes a rule that was not needed. 1812 * page/inspector/inspector.js: 1813 (WebInspector.startEditing): Restore the scrollLeft and scrollTop 1814 to zero when editing finishes. 1815 1816 2008-07-30 Alice Liu <alice.liu (a] apple.com> 1817 1818 Implement userIdleTime() for Windows, and place a band-aid over other 1819 platform implementations of userIdleTime(). This will fix the issue 1820 of indefinitely postposing releasing pages from the PageCache 1821 on non-Mac platforms, causing us to hang onto just about everything 1822 else about a web page. 1823 1824 Reviewed by Sam Weinig. 1825 1826 * platform/gtk/TemporaryLinkStubs.cpp: 1827 * platform/wx/TemporaryLinkStubs.cpp: 1828 * platform/qt/TemporaryLinkStubs.cpp: 1829 (WebCore::userIdleTime): set to FLT_MAX 1830 1831 * platform/win/SystemTimeWin.cpp: 1832 (WebCore::userIdleTime): implemented 1833 1834 2008-07-30 Beth Dakin <bdakin (a] apple.com> 1835 1836 Reviewed by Anders Carlsson. 1837 1838 Fixes <rdar://problem/6041390> 1839 1840 Adds the ability to have a frame that is "disconnected" from the 1841 main frame from the perspective of top and parent in 1842 Javascript. 1843 1844 * WebCore.base.exp: 1845 * page/DOMWindow.cpp: 1846 (WebCore::DOMWindow::parent): 1847 (WebCore::DOMWindow::top): 1848 * page/Frame.cpp: 1849 (WebCore::Frame::isDisconnectedFrame): 1850 (WebCore::Frame::setIsDisconnectedFrame): 1851 (WebCore::FramePrivate::FramePrivate): 1852 * page/Frame.h: 1853 * page/FramePrivate.h: 1854 * page/FrameTree.cpp: 1855 (WebCore::FrameTree::parent): 1856 (WebCore::FrameTree::top): 1857 * page/FrameTree.h: 1858 1859 2008-07-25 Eric Seidel <eric (a] webkit.org> 1860 1861 Reviewed by Justin. 1862 1863 Crash Safari when dragging images into Google presentations 1864 https://bugs.webkit.org/show_bug.cgi?id=20161 1865 1866 Test: manual-tests/remove-on-drop-crash.html 1867 1868 * editing/ReplaceSelectionCommand.cpp: 1869 (WebCore::ReplaceSelectionCommand::doApply): 1870 * manual-tests/remove-on-drop-crash.html: Added. 1871 1872 2008-07-30 Christian Dywan <christian (a] twotoasts.de> 1873 1874 Reviewed by Mark. 1875 1876 Build fix for Cairo < 1.6 1877 1878 * platform/graphics/cairo/PathCairo.cpp: 1879 (WebCore::Path::boundingRect): use cairo_stroke_extends for < 1.6 1880 1881 2008-07-29 Kevin McCullough <kmccullough (a] apple.com> 1882 1883 Reviewed by Geoff. 1884 1885 <rdar://problem/6110314> Crash in profiler dereferencing null frame or 1886 page (20214) 1887 - Null check. 1888 1889 * page/Console.cpp: 1890 (WebCore::Console::finishedProfiling): 1891 1892 2008-07-30 David Hyatt <hyatt (a] apple.com> 1893 1894 https://bugs.webkit.org/show_bug.cgi?id=18070 1895 1896 Full page zoom needs to work properly with JS mouse events. Make sure to adjust the coordinates of the 1897 JS mouse event to account for zoom. 1898 1899 Reviewed by olliej 1900 1901 * dom/EventTargetNode.cpp: 1902 (WebCore::EventTargetNode::dispatchMouseEvent): 1903 1904 2008-07-29 Sam Weinig <sam (a] webkit.org> 1905 1906 Reviewed by Darin Adler. 1907 1908 Update Cross-site XMLHttpRequests using Access control to 1909 the latest spec. (Editor's Draft 8 July 2008) 1910 1911 - This leaves us at about the same place as we previously were 1912 still needing preflight caching and better redirect support. 1913 1914 * GNUmakefile.am: 1915 * WebCore.pro: 1916 * WebCore.vcproj/WebCore.vcproj: 1917 * WebCore.xcodeproj/project.pbxproj: 1918 * WebCoreSources.bkl: 1919 * xml/AccessControlList.cpp: Removed. 1920 * xml/AccessControlList.h: Removed. 1921 * xml/AccessItem.cpp: Removed. 1922 * xml/AccessItem.h: Removed. 1923 * xml/AccessItemRule.cpp: Removed. 1924 * xml/AccessItemRule.h: Removed. 1925 * xml/XMLHttpRequest.cpp: 1926 (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): 1927 (WebCore::XMLHttpRequest::XMLHttpRequest): 1928 (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest): 1929 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest): 1930 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): 1931 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): 1932 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): 1933 (WebCore::XMLHttpRequest::abort): 1934 (WebCore::XMLHttpRequest::clearRequest): 1935 (WebCore::XMLHttpRequest::didFinishLoading): 1936 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): 1937 (WebCore::XMLHttpRequest::accessControlCheck): 1938 (WebCore::XMLHttpRequest::didReceiveResponse): 1939 (WebCore::parseAccessControlAllowList): 1940 (WebCore::XMLHttpRequest::didReceiveResponsePreflight): 1941 * xml/XMLHttpRequest.h: 1942 1943 2008-07-29 Kevin Calhoun <kcalhoun (a] apple.com> 1944 1945 Reviewed by Adele. 1946 1947 Fix for <rdar://problem/6060647> Adopt QTMovieOpenForPlaybackAttribute flag 1948 1949 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie): 1950 1951 2008-07-29 Kevin Calhoun <kcalhoun (a] apple.com> 1952 1953 Reviewed by Adele. 1954 1955 Fix for <rdar://problem/6031021> Make standalone video render more like the quicktime plugin to improve performance 1956 1957 For standalone video, use QTMovieView to draw. 1958 1959 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 1960 (WebCore::MediaPlayerPrivate::createQTMovieView): Moved nil checks to setUpVideoRendering. 1961 Associate the QTMovieView with the WebCoreMovieObserver. 1962 If we're in a media document, allow QTMovieView to render in its default mode; otherwise tell it to draw synchronously. 1963 (WebCore::MediaPlayerPrivate::detachQTMovieView): Set the WebCoreMovieObserver's view to nil. 1964 (WebCore::MediaPlayerPrivate::createQTVideoRenderer): Nil check is now in setUpVideoRendering, which is the only caller of this. 1965 (WebCore::MediaPlayerPrivate::setUpVideoRendering): Added nil checks. Call createQTMovieView for media documents. 1966 (WebCore::MediaPlayerPrivate::tearDownVideoRendering): Call detachQTMovieView if a QTMovieView exists. 1967 (WebCore::MediaPlayerPrivate::setRect): Call setFrame on the QTMovieView if necessary. 1968 (-[WebCoreMovieObserver menuForEventDelegate:]): Added. Returns the frame view's menu. 1969 (-[WebCoreMovieObserver setView:]): Added. 1970 1971 2008-07-29 Adele Peterson <adele (a] apple.com> 1972 1973 Reviewed by Dan Bernstein. 1974 1975 Fix for <rdar://problem/6073372> Move built-in controls below <video> element for standalone media documents 1976 1977 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added -webkit-full-page-media pseudo class. 1978 * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoFullPageMedia. 1979 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added case to 1980 apply PseudoFullPageMedia for elements in a full page media document. 1981 1982 * css/html4.css: Added rule to shift control panel down for video in standalone media documents. 1983 1984 * rendering/RenderMedia.cpp: 1985 (WebCore::RenderMedia::lowestPosition): Added implementation that takes the controls into account. 1986 This makes sure that scrollbars on the page will account for controls not directly contained in the RenderMedia. 1987 (WebCore::RenderMedia::rightmostPosition): ditto. 1988 (WebCore::RenderMedia::leftmostPosition): ditto. 1989 * rendering/RenderMedia.h: 1990 1991 2008-07-29 Sam Weinig <sam (a] webkit.org> 1992 1993 Reviewed by Anders Carlsson. 1994 1995 <rdar://problem/6084585> Investigate upload progress events. 1996 1997 - Add progress notifications for data being sent via a ResourceHandle. 1998 - Add XMLHttpRequestUpload support. 1999 2000 Upload notifications only work on the Mac right now as the CFNetwork API 2001 on windows does not expose enough information. 2002 2003 Tests: http/tests/xmlhttprequest/upload-onload-event.html 2004 http/tests/xmlhttprequest/upload-onloadstart-event.html 2005 http/tests/xmlhttprequest/upload-onprogress-event.html 2006 http/tests/xmlhttprequest/upload-progress-events.html 2007 2008 * DerivedSources.make: 2009 * GNUmakefile.am: 2010 * WebCore.pro: 2011 * WebCore.vcproj/WebCore.vcproj: 2012 * WebCore.xcodeproj/project.pbxproj: 2013 * WebCoreSources.bkl: 2014 * bindings/js/JSEventTargetBase.cpp: 2015 (WebCore::toJS): 2016 * bindings/js/JSXMLHttpRequestCustom.cpp: 2017 (WebCore::JSXMLHttpRequest::mark): 2018 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: Added. 2019 (WebCore::JSXMLHttpRequestUpload::mark): 2020 (WebCore::JSXMLHttpRequestUpload::onabort): 2021 (WebCore::JSXMLHttpRequestUpload::setOnabort): 2022 (WebCore::JSXMLHttpRequestUpload::onerror): 2023 (WebCore::JSXMLHttpRequestUpload::setOnerror): 2024 (WebCore::JSXMLHttpRequestUpload::onload): 2025 (WebCore::JSXMLHttpRequestUpload::setOnload): 2026 (WebCore::JSXMLHttpRequestUpload::onloadstart): 2027 (WebCore::JSXMLHttpRequestUpload::setOnloadstart): 2028 (WebCore::JSXMLHttpRequestUpload::onprogress): 2029 (WebCore::JSXMLHttpRequestUpload::setOnprogress): 2030 (WebCore::JSXMLHttpRequestUpload::addEventListener): 2031 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 2032 (WebCore::JSXMLHttpRequestUpload::dispatchEvent): 2033 * dom/EventTarget.cpp: 2034 (WebCore::EventTarget::toXMLHttpRequestUpload): 2035 * dom/EventTarget.h: 2036 * loader/ResourceLoader.cpp: 2037 (WebCore::ResourceLoader::didSendData): 2038 * loader/ResourceLoader.h: 2039 * loader/SubresourceLoader.cpp: 2040 (WebCore::SubresourceLoader::didSendData): 2041 * loader/SubresourceLoader.h: 2042 * loader/SubresourceLoaderClient.h: 2043 (WebCore::SubresourceLoaderClient::didSendData): 2044 * page/DOMWindow.idl: 2045 * platform/network/FormData.cpp: 2046 (WebCore::FormData::FormData): 2047 * platform/network/FormData.h: 2048 (WebCore::FormData::alwaysStream): 2049 (WebCore::FormData::setAlwaysStream): 2050 * platform/network/ResourceHandleClient.h: 2051 (WebCore::ResourceHandleClient::didSendData): 2052 * platform/network/mac/FormDataStreamMac.h: 2053 * platform/network/mac/FormDataStreamMac.mm: 2054 (WebCore::getStreamFormDataMap): 2055 (WebCore::getStreamResourceHandleMap): 2056 (WebCore::associateStreamWithResourceHandle): 2057 (WebCore::disassociateStreamWithResourceHandle): 2058 (WebCore::DidSendDataCallbackData::DidSendDataCallbackData): 2059 (WebCore::performDidSendDataCallback): 2060 (WebCore::formCreate): 2061 (WebCore::formFinalize): 2062 (WebCore::formRead): 2063 (WebCore::setHTTPBody): 2064 (WebCore::httpBodyFromStream): 2065 * platform/network/mac/ResourceHandleMac.mm: 2066 (WebCore::ResourceHandle::start): 2067 (WebCore::ResourceHandle::cancel): 2068 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 2069 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): 2070 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): 2071 * xml/XMLHttpRequest.cpp: 2072 (WebCore::XMLHttpRequest::XMLHttpRequest): 2073 (WebCore::XMLHttpRequest::~XMLHttpRequest): 2074 (WebCore::XMLHttpRequest::upload): 2075 (WebCore::XMLHttpRequest::open): 2076 (WebCore::XMLHttpRequest::send): 2077 (WebCore::XMLHttpRequest::createRequest): 2078 (WebCore::XMLHttpRequest::abort): 2079 (WebCore::XMLHttpRequest::networkError): 2080 (WebCore::XMLHttpRequest::abortError): 2081 (WebCore::XMLHttpRequest::didSendData): 2082 * xml/XMLHttpRequest.h: 2083 (WebCore::XMLHttpRequest::optionalUpload): 2084 * xml/XMLHttpRequest.idl: 2085 * xml/XMLHttpRequestUpload.cpp: Added. 2086 (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload): 2087 (WebCore::XMLHttpRequestUpload::addEventListener): 2088 (WebCore::XMLHttpRequestUpload::removeEventListener): 2089 (WebCore::XMLHttpRequestUpload::dispatchEvent): 2090 (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent): 2091 (WebCore::XMLHttpRequestUpload::dispatchAbortEvent): 2092 (WebCore::XMLHttpRequestUpload::dispatchErrorEvent): 2093 (WebCore::XMLHttpRequestUpload::dispatchLoadEvent): 2094 (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent): 2095 (WebCore::XMLHttpRequestUpload::dispatchProgressEvent): 2096 * xml/XMLHttpRequestUpload.h: Added. 2097 (WebCore::XMLHttpRequestUpload::create): 2098 (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload): 2099 (WebCore::XMLHttpRequestUpload::associatedXMLHttpRequest): 2100 (WebCore::XMLHttpRequestUpload::disconnectXMLHttpRequest): 2101 (WebCore::XMLHttpRequestUpload::setOnAbortListener): 2102 (WebCore::XMLHttpRequestUpload::onAbortListener): 2103 (WebCore::XMLHttpRequestUpload::setOnErrorListener): 2104 (WebCore::XMLHttpRequestUpload::onErrorListener): 2105 (WebCore::XMLHttpRequestUpload::setOnLoadListener): 2106 (WebCore::XMLHttpRequestUpload::onLoadListener): 2107 (WebCore::XMLHttpRequestUpload::setOnLoadStartListener): 2108 (WebCore::XMLHttpRequestUpload::onLoadStartListener): 2109 (WebCore::XMLHttpRequestUpload::setOnProgressListener): 2110 (WebCore::XMLHttpRequestUpload::onProgressListener): 2111 (WebCore::XMLHttpRequestUpload::eventListeners): 2112 (WebCore::XMLHttpRequestUpload::refEventTarget): 2113 (WebCore::XMLHttpRequestUpload::derefEventTarget): 2114 * xml/XMLHttpRequestUpload.idl: Added. 2115 2116 2008-07-29 Maxime Britto <britto (a] apple.com> 2117 2118 Reviewed by Darin. 2119 2120 <rdar://problem/6095023> "When pan-scrolling, mouse click on hyperlink stop the pan-Scroll but follow the link after that." 2121 With this patch we now stop the pan scroll and swallow the event to prevent any following action. 2122 2123 * page/EventHandler.cpp: 2124 (WebCore::EventHandler::handleMousePressEvent): If we were in pan scrolling mode we no longer just stop the pan scroll and continue with the function, we now stop and return true to attest that we swallowed the event. 2125 2126 2008-07-29 Maxime Britto <britto (a] apple.com> 2127 2128 Reviewed by adele. 2129 2130 Test: fast/events/autoscroll-in-textfield.html 2131 2132 * rendering/RenderObject.cpp: 2133 (WebCore::RenderObject::canBeProgramaticallyScrolled): reverted a bad change introduced in r35244 2134 nb:the test case introduced in r35244 is still working. 2135 2136 2008-07-29 Maxime Britto <britto (a] apple.com> 2137 2138 Reviewed by adele. 2139 This test verifies that the autoscroll works within textfields. 2140 2141 * fast/events/autoscroll-in-textfield-expected.txt: Added. 2142 * fast/events/autoscroll-in-textfield.html: Added. 2143 2144 2008-07-29 Adele Peterson <adele (a] apple.com> 2145 2146 Reviewed by Sammy Weinig. 2147 2148 Fix for <rdar://problem/6103024> 2149 When a QT movie is loaded directly in the browser, I can't pause it by single-clicking on the video 2150 2151 Test: media/video-click-dlbclick-standalone.html 2152 2153 * loader/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): For standalone media documents, 2154 match the default Quicktime plugin behavior to allow clicking and double-clicking to pause and play the media. 2155 * loader/MediaDocument.h: Added defaultEventHandler. 2156 2157 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::defaultEventHandler): Return early if the event has been handled. 2158 * rendering/MediaControlElements.cpp: 2159 (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Correct what was probably a typo. Instead of "event->defaultHandled()", 2160 it is supposed to be "event->setDefaultHandled()". 2161 (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto. 2162 (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto. 2163 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto. 2164 2165 2008-07-29 Dan Bernstein <mitz (a] apple.com> 2166 2167 Reviewed by Dave Hyatt. 2168 2169 - fix <rdar://problem/6059648> Some content not visible when the window is short at courtneyalbright.com 2170 2171 Test: fast/overflow/float-in-relpositioned.html 2172 2173 * rendering/RenderBlock.cpp: 2174 (WebCore::RenderBlock::lowestPosition): Add this block's relative offset 2175 to floats' and positioned objects' lowest position. 2176 (WebCore::RenderBlock::rightmostPosition): Ditto. 2177 (WebCore::RenderBlock::leftmostPosition): Ditto. 2178 * rendering/RenderBox.cpp: 2179 (WebCore::RenderBox::lowestPosition): Removed redundant test. 2180 (WebCore::RenderBox::rightmostPosition): Ditto. 2181 (WebCore::RenderBox::leftmostPosition): Ditto. 2182 2183 2008-07-29 Dan Bernstein <mitz (a] apple.com> 2184 2185 Reviewed by Dave Hyatt. 2186 2187 - fix <rdar://problem/6048566> Repaint original element's position, not its offset position 2188 2189 Test: fast/repaint/layout-state-relative.html 2190 2191 * rendering/RenderBox.cpp: 2192 (WebCore::RenderBox::absolutePosition): Changed the LayoutState-enabled 2193 code path to account for the object's relative offset. 2194 (WebCore::RenderBox::computeAbsoluteRepaintRect): Ditto. 2195 2196 2008-07-29 Keishi Hattori <casey.hattori (a] gmail.com> 2197 2198 Fixed Bug 19158: Inspector should support console.group/console.groupEnd 2199 2200 <https://bugs.webkit.org/show_bug.cgi?id=19158> 2201 2202 Reviewed by Tim Hatcher and Adam Roben. 2203 2204 * bindings/js/JSConsoleCustom.cpp: 2205 (WebCore::JSConsole::group): Added. 2206 * page/Console.cpp: 2207 (WebCore::Console::group): Added. 2208 (WebCore::Console::groupEnd): Added. 2209 * page/Console.h: 2210 (WebCore::): 2211 * page/Console.idl: Added group/groupEnd. 2212 * page/InspectorController.cpp: 2213 (WebCore::ConsoleMessage::ConsoleMessage): 2214 (WebCore::InspectorController::InspectorController): Added m_groupLevel. 2215 (WebCore::InspectorController::addMessageToConsole): Added groupLevel argument. 2216 (WebCore::InspectorController::startGroup): Increments m_groupLevel by one and calls js function if needed. 2217 (WebCore::InspectorController::endGroup): Decrements m_groupLevel by one and calls js function if needed. 2218 (WebCore::InspectorController::addScriptConsoleMessage): Added groupLevel argument. 2219 (WebCore::InspectorController::didCommitLoad): Resets m_groupLevel. 2220 * page/InspectorController.h: 2221 * page/inspector/Console.js: 2222 (WebInspector.Console): Added groupLevel and currentGroup topGroup. 2223 (WebInspector.Console.addMessage): Calls addMessage method in the currentGroup. 2224 (WebInspector.Console.startGroup): Added. 2225 (WebInspector.Console.endGroup): Added. 2226 (WebInspector.Console.clearMessages): Resets groupLevel and currentGroup. 2227 (WebInspector.ConsoleMessage): Added groupLevel property. 2228 (WebInspector.ConsoleMessage.MessageLevel.GroupTitle): Added. 2229 (WebInspector.ConsoleGroup): Added. 2230 (WebInspector.ConsoleGroup.addMessage): Adds console message to group. 2231 (WebInspector.ConsoleGroup._titleClicked): Adds "collapsed" style class. 2232 * page/inspector/inspector.css: 2233 * page/inspector/inspector.js: 2234 (WebInspector.startGroupInConsole): Calls console.startGroup 2235 (WebInspector.endGroupInConsole): Calls console.endGroup 2236 2237 2008-07-29 Adam Roben <aroben (a] apple.com> 2238 2239 Add names for WebCore's threads 2240 2241 Reviewed by Anders Carlsson. 2242 2243 * loader/icon/IconDatabase.cpp: 2244 (WebCore::IconDatabase::open): 2245 * storage/DatabaseThread.cpp: 2246 (WebCore::DatabaseThread::start): 2247 * storage/LocalStorageThread.cpp: 2248 (WebCore::LocalStorageThread::start): 2249 Pass in names to createThread. 2250 2251 * platform/network/cf/ResourceHandleCFNet.cpp: 2252 (WebCore::runLoaderThread): 2253 (WebCore::ResourceHandle::loaderRunLoop): 2254 Changed to use WTF::createThread. 2255 2256 2008-07-28 Anders Carlsson <andersca (a] apple.com> 2257 2258 Reviewed by Kevin Decker. 2259 2260 Based on a patch from Dimcho Balev. 2261 2262 Windows part of 2263 2264 https://bugs.webkit.org/show_bug.cgi?id=18676 2265 <rdar://problem/6106578> 2266 Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs 2267 2268 * plugins/PluginStream.cpp: 2269 (WebCore::PluginStream::wantsAllStreams): 2270 * plugins/PluginStream.h: 2271 2272 2008-07-28 Brady Eidson <beidson (a] apple.com> 2273 2274 Reviewed by Sam Weinig 2275 2276 Test: security/autocomplete-cleared-on-back.html 2277 2278 <rdar://problem/6093281> - autocomplete="off" should work when going back 2279 2280 Taken care of in two ways: 2281 1 - Listening for the page cache notification to clear the form, in cases where the page 2282 is being restored from the page cache 2283 2 - Not saving such form elements when doing the normal "save state" to a history item, 2284 for cases with no page cache 2285 2286 * html/HTMLFormElement.cpp: 2287 (WebCore::HTMLFormElement::~HTMLFormElement): 2288 (WebCore::HTMLFormElement::parseMappedAttribute): 2289 (WebCore::HTMLFormElement::didRestoreFromCache): 2290 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): 2291 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): 2292 * html/HTMLFormElement.h: 2293 2294 * html/HTMLInputElement.cpp: 2295 (WebCore::HTMLInputElement::~HTMLInputElement): 2296 (WebCore::HTMLInputElement::setInputType): 2297 (WebCore::HTMLInputElement::saveState): 2298 (WebCore::HTMLInputElement::parseMappedAttribute): 2299 (WebCore::HTMLInputElement::needsCacheCallback): 2300 (WebCore::HTMLInputElement::registerForCacheCallbackIfNeeded): Only register if the type or attribute 2301 indicate we should. 2302 (WebCore::HTMLInputElement::unregisterForCacheCallbackIfNeeded): Only unregister if both the type 2303 and attribute are clear of needing registration. 2304 (WebCore::HTMLInputElement::didRestoreFromCache): 2305 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): 2306 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument): 2307 * html/HTMLInputElement.h: 2308 2309 2008-07-28 David Hyatt <hyatt (a] apple.com> 2310 2311 Add support for CSS variable declaration blocks. 2312 2313 Reviewed by Sam 2314 2315 Added tests in fast/css/variables. 2316 2317 * css/CSSGrammar.y: 2318 * css/CSSMutableStyleDeclaration.h: 2319 (WebCore::CSSMutableStyleDeclaration::isMutableStyleDeclaration): 2320 * css/CSSParser.cpp: 2321 (WebCore::CSSParser::addVariableDeclarationBlock): 2322 * css/CSSParser.h: 2323 * css/CSSProperty.cpp: 2324 (WebCore::CSSProperty::cssText): 2325 * css/CSSPropertyNames.in: 2326 * css/CSSStyleSelector.cpp: 2327 (WebCore::CSSStyleSelector::addMatchedDeclaration): 2328 (WebCore::CSSStyleSelector::resolveVariablesForDeclaration): 2329 * css/CSSStyleSelector.h: 2330 * css/CSSValueList.h: 2331 (WebCore::CSSValueList::isValueList): 2332 * css/CSSVariablesDeclaration.cpp: 2333 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration): 2334 (WebCore::CSSVariablesDeclaration::getVariableValue): 2335 (WebCore::CSSVariablesDeclaration::removeVariable): 2336 (WebCore::CSSVariablesDeclaration::addParsedVariable): 2337 (WebCore::CSSVariablesDeclaration::getParsedSimpleVariable): 2338 (WebCore::CSSVariablesDeclaration::getParsedComplexVariable): 2339 * css/CSSVariablesDeclaration.h: 2340 (WebCore::CSSVariablesDeclaration::create): 2341 * css/StyleBase.cpp: 2342 (WebCore::StyleBase::cssText): 2343 * css/StyleBase.h: 2344 (WebCore::StyleBase::isValueList): 2345 (WebCore::StyleBase::isMutableStyleDeclaration): 2346 2347 2008-07-28 Anders Carlsson <andersca (a] apple.com> 2348 2349 Reviewed by Sam. 2350 2351 <rdar://problem/6098335> 2352 https://bugs.webkit.org/show_bug.cgi?id=20150 2353 2354 Handle willSendRequest correctly. 2355 2356 * loader/SubresourceLoader.cpp: 2357 (WebCore::SubresourceLoader::willSendRequest): 2358 Make sure to keep the previous URL around so we know when to call willSendRequest. 2359 2360 * xml/XMLHttpRequest.cpp: 2361 (WebCore::XMLHttpRequest::processSyncLoadResults): 2362 Abort if we don't have access to the response URL. 2363 2364 (WebCore::XMLHttpRequest::willSendRequest): 2365 Dispatch a network error if we can't access the new URL. 2366 2367 2008-07-28 Geoffrey Garen <ggaren (a] apple.com> 2368 2369 Reviewed by Sam Weinig. 2370 2371 Renamed "ConstructTypeNative" => "ConstructTypeHost". 2372 2373 2008-07-28 Anders Carlsson <andersca (a] apple.com> 2374 2375 Reviewed by Kevin Decker. 2376 2377 Based on a patch by Dimcho Balev. 2378 2379 https://bugs.webkit.org/show_bug.cgi?id=18676 2380 <rdar://problem/6106578> 2381 Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs 2382 2383 * bridge/npapi.h: 2384 Add new enum values. 2385 2386 * loader/NetscapePlugInStreamLoader.cpp: 2387 (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): 2388 When the plug-in indicates that it wants all streams to be delivered, don't cancel the stream 2389 if an error occurs. 2390 2391 * loader/NetscapePlugInStreamLoader.h: 2392 (WebCore::NetscapePlugInStreamLoaderClient::wantsAllStreams): 2393 Add new client method. 2394 2395 2008-07-27 Sam Weinig <sam (a] webkit.org> 2396 2397 Reviewed by Oliver Hunt. 2398 2399 Fix for https://bugs.webkit.org/show_bug.cgi?id=20176 2400 querySelectorAll id optimization no longer working 2401 2402 Turn the querySelector/querySelectorAll id optimization back on 2403 for only strict and almost strict mode. In quirks mode, the optimiztion 2404 won't work as the id match is not case sensitive. 2405 2406 Tests: fast/dom/SelectorAPI/caseID-almost-strict.html 2407 fast/dom/SelectorAPI/caseID-strict.html 2408 fast/dom/SelectorAPI/caseID.html 2409 2410 * dom/Node.cpp: 2411 (WebCore::Node::querySelector): 2412 (WebCore::Node::querySelectorAll): 2413 * dom/SelectorNodeList.cpp: 2414 (WebCore::createSelectorNodeList): 2415 * dom/SelectorNodeList.h: 2416 2417 2008-07-27 Anatoli Papirovski <apapirovski (a] mac.com> 2418 2419 Reviewed by Dave Hyatt. 2420 2421 Fix for https://bugs.webkit.org/show_bug.cgi?id=14346 2422 Modified the css parser: 2423 - not to fail when closing braces are not found for 2424 a declaration at the end of the file 2425 - not to accept "!important fail" as valid 2426 - to keep accepting @import when it comes after invalid @ rules 2427 - not to drop the whole @media block when there's an error before the 2428 closing brace 2429 + some other minor css parsing revisions. 2430 2431 CSSGrammar.y tweaked by David Kilzer to fix Tiger builds. 2432 2433 * css/CSSGrammar.y: 2434 2435 2008-07-27 Jan Michael Alonzo <jmalonzo (a] webkit.org> 2436 2437 Reviewed by Eric Seidel. 2438 2439 Use --outputDir instead of --output when invoking make_names.pl 2440 There's no option named "output" in make_names.pl 2441 2442 * GNUmakefile.am: 2443 * WebCore.pro: 2444 * DerivedSources.make: Remove --output. Not necessary here. 2445 * bindings/scripts/generate-bindings.pl: Rename --outputdir to 2446 --outputDir for consistency with make_names.pl 2447 2448 2008-07-26 Dirk Schulze <vbs85 (a] gmx.de> 2449 2450 Reviewed by Eric Seidel. 2451 2452 http://bugs.webkit.org/show_bug.cgi?id=18694 2453 [CAIRO] Problem with rotation in a given matrix in SVG 2454 2455 Changed values given to AffineTransform. 2456 2457 * platform/graphics/cairo/AffineTransformCairo.cpp: 2458 (WebCore::AffineTransform::AffineTransform): 2459 (WebCore::AffineTransform::setMatrix): 2460 2461 2008-07-26 Jan Michael Alonzo <jmalonzo (a] webkit.org> 2462 2463 Reviewed by Mark Rowe. 2464 2465 Call curl_global_cleanup() to release resources acquired by curl_global_init() 2466 2467 * platform/network/curl/ResourceHandleManager.cpp: 2468 (WebCore::ResourceHandleManager::~ResourceHandleManager): 2469 2470 2008-07-26 Marc Ordinas i Llopis <marc.ordinasillopis (a] collabora.co.uk> 2471 2472 Reviewed by Simon Hausmann. 2473 2474 Bug 18938: [GTK] Plugins not resized 2475 https://bugs.webkit.org/show_bug.cgi?id=18938 2476 2477 * plugins/PluginView.cpp: 2478 (WebCore::PluginView::setFrameGeometry): When viewing a full-page 2479 plugin in unix, geometry changes have to be passed to the plugin. 2480 2481 2008-07-26 Keishi Hattori <casey.hattori (a] gmail.com> 2482 2483 Reviewed by Adam Roben. 2484 2485 Add console.time/timeEnd. 2486 https://bugs.webkit.org/show_bug.cgi?id=19159 2487 2488 * manual-tests/inspector/console-time.html: Added. Test cases for console.time/timeEnd. 2489 * page/Console.cpp: 2490 (WebCore::Console::time): Added. 2491 (WebCore::Console::timeEnd): Added. 2492 * page/Console.h: 2493 * page/Console.idl: Added console.time/timeEnd. 2494 * page/InspectorController.cpp: 2495 (WebCore::InspectorController::startTiming): Added. 2496 (WebCore::InspectorController::stopTiming): Added. 2497 * page/InspectorController.h: 2498 2499 2008-07-26 Dirk Schulze <vbs85 (a] gmx.de> 2500 2501 Reviewed by Nikolas Zimmermann. 2502 2503 Fixes rendering issues with gradients in SVG/Cairo. 2504 2505 * platform/graphics/cairo/PathCairo.cpp: 2506 (WebCore::Path::boundingRect): 2507 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: 2508 (WebCore::applyStrokeStyleToContext): 2509 (WebCore::SVGPaintServerGradient::setup): 2510 2511 2008-07-26 Dirk Schulze <vbs85 (a] gmx.de> 2512 2513 Reviewed by Nikolas Zimmermann. 2514 2515 Added pattern-support for SVG in Cairo. 2516 2517 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp: 2518 (WebCore::applyStrokeStyleToContext): 2519 (WebCore::SVGPaintServerPattern::setup): 2520 2521 2008-07-26 Keishi Hattori <casey.hattori (a] gmail.com> 2522 2523 Reviewed by Adam Roben. 2524 2525 Fixed bug 18540: console.log('multiple', 'strings') quotes all strings after the first 2526 <https://bugs.webkit.org/show_bug.cgi?id=18540> 2527 2528 * page/inspector/Console.js: 2529 (WebInspector.ConsoleMessage.prototype._format): String arguments are appended without formatting. 2530 2531 2008-07-26 Anthony Ricaud <rik24d (a] gmail.com> 2532 2533 Reviewed by Tim Hatcher. 2534 2535 <https://bugs.webkit.org/show_bug.cgi?id=20055> Line highlighting should last longer 2536 2537 Restore the fade out effect after highlighting. 2538 2539 * page/inspector/SourceFrame.js: Add a class for fade-out effects and sets it at the end of highlighting time. 2540 2541 2008-07-26 Michelangelo De Simone <michelangelo (a] me.com> 2542 2543 Reviewed by Adele Petersen. 2544 2545 Added the simple willValidate attribute to form controls according to 2546 WebForms 2 spec. 2547 2548 URL: http://www.w3.org/TR/web-forms-2/#willvalidate 2549 2550 Tests: fast/forms/willvalidate-000.html 2551 fast/forms/willvalidate-001.html 2552 fast/forms/willvalidate-002.html 2553 fast/forms/willvalidate-003.html 2554 fast/forms/willvalidate-004.html 2555 fast/forms/willvalidate-005.html 2556 fast/forms/willvalidate-006.html 2557 fast/forms/willvalidate-007.html 2558 fast/forms/willvalidate-008.html 2559 fast/forms/willvalidate-009.html 2560 2561 * html/HTMLButtonElement.h: Added willValidate(), always false. 2562 * html/HTMLButtonElement.idl: willValidate attribute exposed. 2563 * html/HTMLFieldSetElement.h: Added willValidate(), always false. 2564 * html/HTMLFieldSetElement.idl: willValidate attribute exposed. 2565 * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::willValidate): 2566 Added base willValidate() implementation. 2567 * html/HTMLFormControlElement.h: Added willValidate(). 2568 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::willValidate): 2569 Added willValidate(), checks for input type. 2570 * html/HTMLInputElement.h: Added willValidate() 2571 * html/HTMLInputElement.idl: willValidate attribute exposed. 2572 * html/HTMLSelectElement.idl: willValidate attribute exposed. 2573 * html/HTMLTextAreaElement.idl: willValidate attribute exposed. 2574 2575 2008-07-26 Mark Rowe <mrowe (a] apple.com> 2576 2577 Build fix. 2578 2579 * loader/FrameLoader.cpp: 2580 (WebCore::FrameLoader::load): Use 0 rather than nil as this is a C++ file. 2581 2582 2008-07-26 Mark Rowe <mrowe (a] apple.com> 2583 2584 Build fix. 2585 2586 * loader/FrameLoader.h: Use 0 rather than nil as this is a C++ header. 2587 2588 2008-07-26 Daniel Jalkut <jalkut (a] red-sweater.com> 2589 2590 Reviewed by Geoff Garen. 2591 2592 Revised the FrameLoader class to clean up a variety of load methods, and hopefully 2593 move things closer to integrating into a smaller set of load methods. To this 2594 end, I renamed many of the overloaded load() methods to have more meaningful and 2595 easier to search names. I added comments to the header file to provide clues as 2596 to how many of the load methods are being used, and how they fit into the loading 2597 process. I suspect that the renamed methods and comments indicating their present 2598 usage will facilitate easier cleanup by myself and others as inspiration strikes. 2599 2600 Updated clients of FrameLoader where necessary to adapt to the new method names and signatures. 2601 2602 Combined the 3 canLoad() methods into a single canLoad which expresses the 2603 intended logic of the 3 with a single method interface. 2604 2605 Removed unnecessary "treatAsLocal" attribute of CachedResource. It was only called from 2606 one place in FrameLoader.cpp, and it derived at initialization time by calling back to FrameLoader. 2607 2608 Removed unused userGesture parameter to one variant of the urlSelected method, and 2609 moved one of the urlSelected methods so that it lives nearer to its overloaded 2610 sibling. 2611 2612 * WebCore.base.exp: 2613 * loader/Cache.cpp: 2614 (WebCore::Cache::requestResource): 2615 * loader/CachedResource.cpp: 2616 (WebCore::CachedResource::CachedResource): 2617 * loader/CachedResource.h: 2618 (WebCore::CachedResource::errorOccurred): 2619 * loader/FrameLoader.cpp: 2620 (WebCore::FrameLoader::createWindow): 2621 (WebCore::FrameLoader::urlSelected): 2622 (WebCore::FrameLoader::loadURLIntoChildFrame): 2623 (WebCore::FrameLoader::loadPlugin): 2624 (WebCore::FrameLoader::loadFrameRequestWithFormState): 2625 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): 2626 (WebCore::FrameLoader::loadURL): 2627 (WebCore::FrameLoader::loadWithNavigationAction): 2628 (WebCore::FrameLoader::load): 2629 (WebCore::FrameLoader::loadWithDocumentLoader): 2630 (WebCore::FrameLoader::canLoad): 2631 (WebCore::FrameLoader::reloadAllowingStaleData): 2632 (WebCore::FrameLoader::reload): 2633 (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): 2634 (WebCore::FrameLoader::submitForm): 2635 (WebCore::FrameLoader::loadPostRequest): 2636 (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): 2637 (WebCore::FrameLoader::loadItem): 2638 * loader/FrameLoader.h: 2639 * loader/SubresourceLoader.cpp: 2640 (WebCore::SubresourceLoader::create): 2641 * page/ContextMenuController.cpp: 2642 (WebCore::ContextMenuController::contextMenuItemSelected): 2643 2644 2008-07-26 Sam Weinig <sam (a] webkit.org> 2645 2646 Reviewed by Dan Bernstein. 2647 2648 Fix https://bugs.webkit.org/show_bug.cgi?id=20122 2649 <rdar://problem/6089522> 2650 REGRESSION (r35075-r35110): Cannot enlarge images at Apple Store product page 2651 2652 Use strict parsing when in AlmostStrict mode. 2653 2654 Tests: fast/dom/SelectorAPI/dumpNodeList-almost-strict.html 2655 fast/dom/SelectorAPI/id-fastpath-almost-strict.html 2656 fast/dom/SelectorAPI/id-fastpath-strict.html 2657 2658 * dom/Node.cpp: 2659 (WebCore::Node::querySelector): 2660 (WebCore::Node::querySelectorAll): 2661 2662 2008-07-25 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 2663 2664 Reviewed by Simon. 2665 2666 Switch off QPainter's anti aliasing when painting the widgets using QStyle 2667 because otherwise the widgets will look blurry and not crisp. 2668 2669 * platform/qt/RenderThemeQt.cpp: 2670 (WebCore::StylePainter::StylePainter): 2671 (WebCore::StylePainter::~StylePainter): 2672 * platform/qt/RenderThemeQt.h: 2673 2674 2008-07-25 Dan Bernstein <mitz (a] apple.com> 2675 2676 Reviewed by Anders Carlsson. 2677 2678 - fix crash due to re-entering purgeInactiveFontData() now that it is 2679 called by releaseFontData() 2680 2681 Not testable in DumpRenderTree 2682 2683 * platform/graphics/FontCache.cpp: 2684 (WebCore::FontCache::purgeInactiveFontData): Added a reentry guard. 2685 2686 2008-07-25 Brady Eidson <beidson (a] apple.com> 2687 2688 Reviewed by Sam 2689 2690 Test: security/set-form-autocomplete-attribute.html 2691 2692 Part of the fix for <rdar://problem/6093281> - Improper handling of autocomplete 2693 2694 The autocomplete attribute works on both <form> and <input> elements, but was not 2695 inherited properly when someone asked an <input> if it should autocomplete. 2696 2697 I fixed this up based on the rules in the current WF2 spec so if the <input> element 2698 has its own autocomplete attribute set, it will follow that but otherwise it will 2699 inherit from its parent <form> 2700 2701 * WebCore.base.exp: 2702 2703 * html/HTMLInputElement.cpp: 2704 (WebCore::HTMLInputElement::init): 2705 (WebCore::HTMLInputElement::autoComplete): 2706 (WebCore::HTMLInputElement::parseMappedAttribute): 2707 * html/HTMLInputElement.h: 2708 (WebCore::HTMLInputElement::): 2709 2710 2008-07-25 Wouter Bolsterlee <uws+webkit (a] xs4all.nl> 2711 2712 Reviewed by Holger Freyther. 2713 2714 https://bugs.webkit.org/show_bug.cgi?id=20078 2715 [GTK] Use G_* macros instead of deprecated GTK_* macros in gtk2xtbin.h 2716 2717 * plugins/gtk/gtk2xtbin.h: 2718 2719 2008-07-25 Anders Carlsson <andersca (a] apple.com> 2720 2721 Reviewed by Sam. 2722 2723 Add workaround for a Leopard bug which causes webarchive/test-xml-stylesheet.xml to fail. 2724 2725 * platform/network/mac/WebCoreURLResponse.mm: 2726 (-[NSURLResponse _webcore_MIMEType]): 2727 2728 2008-07-25 chris fleizach <cfleizach (a] apple.com> 2729 2730 Reviewed by Beth Dakin 2731 2732 <rdar://problem/6084806> AX: REGRESSION: returned line number from TextArea is incorrect 2733 2734 Tests: accessibility/textarea-insertion-point-line-number.html 2735 accessibility/textarea-line-for-index.html 2736 2737 * page/AccessibilityObject.cpp: 2738 (WebCore::AccessibilityObject::lineForPosition): 2739 * page/AccessibilityObject.h: 2740 * page/mac/AccessibilityObjectWrapper.mm: 2741 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 2742 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): 2743 2744 2008-07-25 Jacob Refstrup <jacob.refstrup (a] hp.com> 2745 2746 Reviewed by mitz. 2747 2748 - fix https://bugs.webkit.org/show_bug.cgi?id=17906 2749 <rdar://problem/5805741> white-space: pre-wrap or -webkit-line-break: after-white-space text can overlap float at end of line 2750 2751 Test: fast/block/float/editable-text-overlapping-float.html 2752 2753 * rendering/RenderBlock.h: 2754 * rendering/bidi.cpp: 2755 (WebCore::RenderBlock::skipTrailingWhitespace): 2756 - renamed to reflect usage and removed call to position floats; 2757 they only get added 2758 (WebCore::RenderBlock::skipLeadingWhitespace): 2759 - renamed to reflect usage 2760 (WebCore::RenderBlock::findNextLineBreak): 2761 - use skipTrailingWhitespace at end of line (as before but with new 2762 name) 2763 2764 2008-07-25 Dan Bernstein <mitz (a] apple.com> 2765 2766 Reviewed by Sam Weinig. 2767 2768 - Finish fixing https://bugs.webkit.org/show_bug.cgi?id=17097 2769 <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound 2770 2771 * platform/graphics/FontCache.cpp: 2772 (WebCore::FontDataCacheKeyTraits): Changed needsDestruction to true because FontPlatformData 2773 instances hold references to the platform resources and release them in the destructor. 2774 (WebCore::cTargetInactiveFontData): Added, replacing cInactiveFontDataPurgeRatio with the 2775 number of inactive FontData instances to leave in the cache when automatically purging. 2776 (WebCore::FontCache::getCachedFontData): Moved the code that checks if there are too many 2777 inactive FontData instances and if so calls purgeInactiveFontData() from here... 2778 (WebCore::FontCache::releaseFontData): ... to here. 2779 (WebCore::FontCache::purgeInactiveFontData): Added code to also purge the platform font data 2780 cache. All FontPlatformData instances that do not have entries in the font data cache are 2781 removed, thus releasing the platform resources (such as HFONTs and NSFonts). 2782 2783 2008-07-24 David Hyatt <hyatt (a] apple.com> 2784 2785 Add support for an alternate syntax for CSS variables. Testers on www-style will be able to try out 2786 both versions of the syntax in WebKit to help us make a decision regarding which one to go with. 2787 2788 Reviewed by Dan 2789 2790 Added fast/css/variables/alternate-syntax/ (duplicated all existing CSS variables tests) 2791 2792 * css/CSSGrammar.y: 2793 * css/CSSParser.cpp: 2794 (WebCore::CSSParser::createVariablesRule): 2795 (WebCore::CSSParser::checkForVariables): 2796 * css/CSSParser.h: 2797 * css/CSSParserValues.cpp: 2798 (WebCore::CSSParserValue::isVariable): 2799 (WebCore::CSSParserValueList::addValue): 2800 (WebCore::CSSParserValueList::deleteValueAt): 2801 (WebCore::CSSParserValue::createCSSValue): 2802 * css/CSSParserValues.h: 2803 * css/CSSPrimitiveValue.cpp: 2804 (WebCore::CSSPrimitiveValue::cleanup): 2805 (WebCore::CSSPrimitiveValue::getStringValue): 2806 (WebCore::CSSPrimitiveValue::cssText): 2807 (WebCore::CSSPrimitiveValue::parserValue): 2808 * css/CSSPrimitiveValue.h: 2809 (WebCore::CSSPrimitiveValue::): 2810 (WebCore::CSSPrimitiveValue::isVariable): 2811 * css/CSSStyleSelector.cpp: 2812 (WebCore::CSSStyleSelector::addMatchedDeclaration): 2813 * css/CSSVariablesRule.cpp: 2814 (WebCore::CSSVariablesRule::CSSVariablesRule): 2815 (WebCore::CSSVariablesRule::cssText): 2816 * css/CSSVariablesRule.h: 2817 (WebCore::CSSVariablesRule::create): 2818 * css/maketokenizer: 2819 * css/tokenizer.flex: 2820 2821 2008-07-25 Maxime Britto <britto (a] apple.com> 2822 2823 Reviewed by Anders Carlsson. 2824 2825 <rdar://6102387> "REGRESSION: horizontal scroll with the mouse wheel is inverted on some subframes" 2826 2827 * page/EventHandler.cpp: 2828 (WebCore::EventHandler::handleWheelEvent): Inverted the scroll direction relative to the delta value (positive scrolls left,negative scrolls right) 2829 2830 2008-07-25 Adele Peterson <adele (a] apple.com> 2831 2832 Another build fix. 2833 2834 * platform/win/PlatformScrollBarSafari.cpp: 2835 (WebCore::PlatformScrollbar::paint): 2836 2837 2008-07-25 Adele Peterson <adele (a] apple.com> 2838 2839 More build fixes. 2840 2841 * platform/win/PlatformScrollBarSafari.cpp: 2842 (WebCore::PlatformScrollbar::paint): 2843 2844 2008-07-25 Adele Peterson <adele (a] apple.com> 2845 2846 Build fix. 2847 2848 * platform/win/PlatformScrollBarSafari.cpp: 2849 2850 2008-07-24 Tor Arne Vestb <tavestbo (a] trolltech.com> 2851 2852 Reviewed by Simon 2853 2854 Provide access to the underlying QKeyEvent in PlatformKeyboardEvent. 2855 2856 * platform/PlatformKeyboardEvent.h: add accessor and member. 2857 * platform/qt/PlatformKeyboardEventQt.cpp: copy pointer in ctor. 2858 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 2859 2860 2008-07-25 Simon Hausmann <hausmann (a] webkit.org> 2861 2862 Fix linking of QtWebKit against the statically built JavaScriptCore 2863 library, under Windows/Mac we may need _d/_debug suffixes. 2864 2865 * WebCore.pro: 2866 2867 2008-07-25 Simon Hausmann <hausmann (a] webkit.org> 2868 2869 Rubber-stamped by Lars. 2870 2871 Fix the Qt build by adapting to the latest ArgList API changes and 2872 replacing the inclusion of npapi.h in MainThreadScheduler with a forward 2873 declaration of NPP to avoid an include conflict. npapi.h on X11 includes 2874 X headers, which include wonderful defines such as "#define Status" that 2875 cause conflicts. 2876 2877 * bridge/qt/qt_runtime.cpp: 2878 (KJS::Bindings::findMethodIndex): 2879 (KJS::Bindings::QtRuntimeConnectionMethod::call): 2880 * plugins/PluginMainThreadScheduler.h: 2881 2882 2008-07-25 Simon Hausmann <hausmann (a] webkit.org> 2883 2884 Discussed with and rubber-stamped by Lars. 2885 2886 Fix the build system for the Qt port. 2887 2888 Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the 2889 include search path. With a build process that combines JavaScriptCore and 2890 WebCore in one build process/Makefile the existance of 2891 JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts. 2892 2893 This commit solves this by introducing a separate build of JavaScriptCore into 2894 a static library. 2895 2896 As a result of the split-up a race-condition due to broken dependencies of 2897 regular source files to header files of generated sources showed up very 2898 frequently when doing parallel builds (which the buildbot does). This commit at 2899 the same time tries to address the dependency problem by making the 2900 addExtraCompiler() function also generate a pseudo extra compiler that 2901 represents the header file output, so that qmake is aware of the creation of 2902 the header file for dependency calculation. 2903 2904 At the same time I removed a lot of cruft from the pro files to ease maintenance. 2905 2906 * WebCore.pro: 2907 2908 2008-07-24 kevino <kevino (a] theolliviers.com> 2909 2910 wx build fix on Win for plugins coode. 2911 2912 * plugins/PluginDatabase.cpp: 2913 * plugins/PluginView.cpp: 2914 (WebCore::PluginView::PluginView): 2915 * plugins/PluginView.h: 2916 2917 2008-07-24 Sam Weinig <sam (a] webkit.org> 2918 2919 Reviewed by Anders Carlsson. 2920 2921 Make isElementNode() non-virtual for a speedup on many benchmarks 2922 including 20% on http://ejohn.org/apps/fragment/. 2923 2924 - Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in 2925 Element and Attr where space was available. Use the new free bit 2926 to represent if an node is an element or not. 2927 2928 * dom/Attr.cpp: 2929 (WebCore::Attr::Attr): 2930 * dom/Attr.h: 2931 (WebCore::Attr::specified): 2932 (WebCore::Attr::setSpecified): 2933 * dom/ContainerNode.cpp: 2934 (WebCore::ContainerNode::ContainerNode): 2935 * dom/ContainerNode.h: 2936 * dom/Element.cpp: 2937 (WebCore::Element::Element): 2938 * dom/Element.h: 2939 (WebCore::Element::hasRareData): 2940 (WebCore::Element::setHasRareData): 2941 * dom/EventTargetNode.cpp: 2942 (WebCore::EventTargetNode::EventTargetNode): 2943 * dom/EventTargetNode.h: 2944 * dom/Node.cpp: 2945 (WebCore::Node::Node): 2946 * dom/Node.h: 2947 (WebCore::Node::isElementNode): 2948 2949 2008-07-24 Dan Bernstein <mitz (a] apple.com> 2950 2951 Reviewed by Dave Hyatt. 2952 2953 - fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically 2954 2955 Not testable in DumpRenderTree 2956 2957 * rendering/RenderView.cpp: 2958 (WebCore::RenderView::layout): Ensured that all children with percentage 2959 heights get laid out again if the height changes. 2960 2961 2008-07-24 kevino <kevino (a] theolliviers.com> 2962 2963 Windows build fix for wx. wx doesn't implement pan scrolling yet. 2964 2965 * page/EventHandler.cpp: 2966 (WebCore::EventHandler::handleAutoscroll): 2967 (WebCore::EventHandler::autoscrollTimerFired): 2968 (WebCore::EventHandler::stopAutoscrollTimer): 2969 (WebCore::EventHandler::handleMousePressEvent): 2970 2971 2008-07-24 David Hyatt <hyatt (a] apple.com> 2972 2973 Fix for bug 18673, crash when using full page zoom on generated content. Don't call 2974 intrinsicSizeChanged when we are first setting our style. 2975 2976 Reviewed by olliej 2977 2978 * ChangeLog: 2979 * rendering/RenderReplaced.cpp: 2980 (WebCore::RenderReplaced::setStyle): 2981 2982 2008-07-24 Julien Chaffraix <jchaffraix (a] webkit.org> 2983 2984 Reviewed by Eric. 2985 2986 Bug 20053: .in files should use a custom format instead of XML 2987 2988 - Remove our XML parser perl module (XML::Tiny) 2989 2990 - Add a custom perl parser 2991 2992 - Move XML files to the new format 2993 2994 * bindings/scripts/InFilesParser.pm: Added. 2995 * bindings/scripts/XMLTiny.pm: Removed. 2996 * dom/make_names.pl: Switched to our new 2997 parser. 2998 2999 * html/HTMLAttributeNames.in: Switched to 3000 our custom format. 3001 * html/HTMLTagNames.in: Ditto. 3002 * svg/svgattrs.in: Ditto. 3003 * svg/svgtags.in: Ditto. 3004 * svg/xlinkattrs.in: Ditto. 3005 * xml/xmlattrs.in: Ditto. 3006 3007 2008-07-23 Julien Chaffraix <jchaffraix (a] webkit.org> 3008 3009 Reviewed by Eric. 3010 3011 Bug 19588: CRASH doing open() on destroyed window 3012 https://bugs.webkit.org/show_bug.cgi?id=19588 3013 3014 Add frame's page null check as it could have been 3015 detached from the page. 3016 3017 Test: fast/frames/crash-removed-iframe.html 3018 3019 * bindings/js/JSDOMWindowBase.cpp: 3020 (WebCore::windowProtoFuncOpen): 3021 * page/FrameTree.cpp: 3022 (WebCore::FrameTree::find): 3023 3024 2008-07-23 Dan Bernstein <mitz (a] apple.com> 3025 3026 Reviewed by Alexey Proskuryakov. 3027 3028 - fix a leak when using hex color values in CSS variables 3029 3030 - fix CSSOM access to hex color values in variables declarations 3031 3032 Test: fast/css/variables/color-hex-test.html 3033 3034 Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for 3035 CSSParserValues coming from colors in hex notation. CSSParserValues can 3036 no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also 3037 used as the type for CSSValues in CSS variables declarations where the 3038 parser value was a hex color. However the type of all other color 3039 CSSValues remains CSS_RGBCOLOR. 3040 3041 * css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value 3042 for color values in hex notation. 3043 * css/CSSParser.cpp: 3044 (WebCore::CSSParser::parseColorFromValue): Updated for the new unit. 3045 * css/CSSParserValues.cpp: 3046 (WebCore::CSSParserValue::createCSSValue): Ditto. 3047 * css/CSSPrimitiveValue.cpp: 3048 (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the 3049 string containing the color. 3050 (WebCore::CSSPrimitiveValue::cssText): Added support for 3051 CSS_PARSER_HEXCOLOR for when serializing variable values. 3052 (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit. 3053 * css/CSSPrimitiveValue.h: 3054 (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR. 3055 3056 2008-07-23 Beth Dakin <bdakin (a] apple.com> 3057 3058 Reviewed by Dan Bernstein. 3059 3060 Fix for <rdar://problem/5997215> display: table-row-group 3061 for :before content causes a crash 3062 3063 The actual bug fix here is to ddd the generated content container 3064 as a child before adding any of the generated content to the 3065 container. There are two correctness fixes as well that deal with 3066 style changes and correctly. 3067 3068 This patch also makes Node::diff() a static function. 3069 3070 * dom/Node.cpp: 3071 (WebCore::Node::diff): 3072 * dom/Node.h: 3073 (WebCore::Node::): 3074 (WebCore::Node::recalcStyle): 3075 * rendering/RenderContainer.cpp: 3076 (WebCore::findBeforeAfterParent): 3077 (WebCore::RenderContainer::updateBeforeAfterContentForContainer): 3078 * svg/SVGUseElement.cpp: 3079 (WebCore::SVGUseElement::recalcStyle): 3080 3081 2008-07-23 Timothy Hatcher <timothy (a] apple.com> 3082 3083 Updates the elements DOM tree when nodes are added or removed from 3084 the inspected document. 3085 3086 https://bugs.webkit.org/show_bug.cgi?id=6590 3087 <rdar://problem/5712921> 3088 3089 Reviewed by Adam Roben. 3090 3091 * loader/FrameLoader.cpp: 3092 (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to 3093 InspectorController::inspectedWindowScriptObjectCleared. 3094 * page/InspectorController.cpp: 3095 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): 3096 Calls the WebInspector.inspectedWindowCleared script function. 3097 * page/InspectorController.h: 3098 * page/inspector/ElementsPanel.js: 3099 (WebInspector.ElementsPanel): Create the event listener callback wrappers. 3100 (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if 3101 there are any recently modified nodes. 3102 (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners. 3103 Adds a check for InspectorController.isWindowVisible to prevent adding 3104 event listeners when the window isn't visible. 3105 (WebInspector.ElementsPanel.prototype.inspectedWindowCleared): 3106 (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted, 3107 DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document. 3108 (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners 3109 added in _addMutationEventListeners. 3110 (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners 3111 again to reinstate the listners if the document changed or window cleared them. 3112 (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to 3113 _mutationMonitoredWindows and call _addMutationEventListeners. 3114 (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from 3115 _mutationMonitoredWindows and call _removeMutationEventListeners. 3116 (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call 3117 _removeMutationEventListeners for all windows in _mutationMonitoredWindows and 3118 clear _mutationMonitoredWindows. 3119 (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent 3120 to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible. 3121 (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto. 3122 (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto. 3123 (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call 3124 _updateModifiedNodes on a zero timeout. 3125 (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over 3126 the recentlyModifiedNodes array and call updateChildren on all the parent 3127 elements that had changes. Only calls updateChildren once per parent element. 3128 (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return 3129 false if the nodes are the same. Return true if the nodes are the same while 3130 looking at ancestor frame elements. THis use to return false, which was incorrect. 3131 (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren. 3132 (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from 3133 onpopulate and changed to rebuild the children elements by adding new children, 3134 moving existing children and removed old children. 3135 (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument 3136 call registerMutationEventListeners to track any mutations. 3137 * page/inspector/inspector.js: 3138 (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared. 3139 * page/inspector/treeoutline.js: 3140 (TreeElement.prototype.get hasChildren): Return _hasChildren. 3141 (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className. 3142 (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor. 3143 (TreeElement.prototype.expand): Fix an exception that can happen if expand is 3144 called before _attach. 3145 * WebCore/manual-tests/inspector/dom-mutation.html: Added. 3146 * WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added. 3147 * WebCore/manual-tests/inspector/resources/mutate-frame.html: Added. 3148 3149 2008-07-22 Timothy Hatcher <timothy (a] apple.com> 3150 3151 Fix an exception that occurred when double clicking the closing tag 3152 of an element in the DOM tree. 3153 3154 Reviewed by Anders Carlsson. 3155 3156 * page/inspector/ElementsPanel.js: 3157 (WebInspector.ElementsPanel.prototype._ondblclick): Null check 3158 element.ondblclick. 3159 3160 2008-07-22 Timothy Hatcher <timothy (a] apple.com> 3161 3162 Fix a regression where elements in subframes would not be revealed 3163 or selected when inspected from the context menu. This was caused by 3164 JavaScript equality is not being true for JSInspectedObjectWrappers 3165 of the same node wrapped with different global ExecStates. This change 3166 adds a helper function that uses isSameNode to compare wrapped nodes. 3167 3168 https://bugs.webkit.org/show_bug.cgi?id=19377 3169 3170 Reviewed by Adam Roben. 3171 3172 * page/inspector/ElementsPanel.js: 3173 (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame 3174 to compare nodes. 3175 (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto. 3176 (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto. 3177 (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto. 3178 (WebInspector.ElementsPanel.prototype.revealNode): Ditto. 3179 (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto. 3180 (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto. 3181 * page/inspector/treeoutline.js: 3182 (TreeOutline.prototype.findTreeElement): Add an equal argument 3183 to accept a functions to compare two representedObjects. Defaults 3184 to strict equal if not supplied. All current clients pass objectsAreSame. 3185 * page/inspector/utilities.js: 3186 (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame 3187 to compare nodes. 3188 (Node.prototype.enclosingNodeOrSelfWithClass): Ditto. 3189 (Element.prototype.query): Use the ownerDocument of the node, not document. 3190 (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if 3191 it exists on both objects. 3192 (isAncestorNode): Use objectsAreSame to compare nodes. 3193 (firstCommonNodeAncestor): Ditto. 3194 (traverseNextNode): Ditto. 3195 3196 2008-07-21 Timothy Hatcher <timothy (a] apple.com> 3197 3198 Added InspectorController.isWindowVisible to the JavaScript class 3199 for use in an upcoming change. This will allow the Inspector to not 3200 perform selective actions while the window is hidden. 3201 3202 Reviewed by Adam Roben. 3203 3204 * page/InspectorController.cpp: 3205 (WebCore::isWindowVisible): Call InspectorController::windowVisible. 3206 (WebCore::InspectorController::windowScriptObjectAvailable): Add 3207 the isWindowVisible function to the JavaScript class. 3208 3209 2008-07-21 Timothy Hatcher <timothy (a] apple.com> 3210 3211 Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex 3212 for efficiency of callers that know the index of the child. This 3213 will be used in an upcoming change. 3214 3215 Reviewed by Adam Roben. 3216 3217 * page/inspector/treeoutline.js: 3218 (TreeOutline._removeChildAtIndex): Renamed from _removeChild 3219 and modified to take an index. 3220 (TreeOutline._removeChild): Call _removeChildAtIndex with the 3221 child index found using indexOf. 3222 (TreeOutline.prototype.removeChildAtIndex): Added. Calls 3223 TreeOutline._removeChildAtIndex. 3224 (TreeElement.prototype.removeChildAtIndex): Ditto. 3225 3226 2008-07-21 Timothy Hatcher <timothy (a] apple.com> 3227 3228 Fixes a regression where TreeOutline.findTreeElement would 3229 return the parent TreeElement of the representedObject instead 3230 of the TreeElement for the representedObject. Regressed with the 3231 fix for bug 19164. 3232 3233 Reviewed by Adam Roben. 3234 3235 * page/inspector/treeoutline.js: 3236 (TreeOutline.prototype.findTreeElement): When performing a slow search, 3237 do a final search for representedObject instead of returning item, which 3238 is the parent of representedObject. 3239 3240 2008-07-23 Adele Peterson <adele (a] apple.com> 3241 3242 Reviewed by Adam. 3243 3244 WebCore part of fix for <rdar://problem/5698672> Add drawing callback for a WebKit app to draw its own scrollbars 3245 3246 * WebCore.base.exp: Added symbols. 3247 * page/Chrome.cpp: 3248 (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method. 3249 (WebCore::ChromeClient::paintCustomScrollCorner): ditto. 3250 * page/ChromeClient.h: 3251 * page/Settings.cpp: 3252 (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars. 3253 (WebCore::Settings::setShouldPaintCustomScrollbars): 3254 * page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars): 3255 * platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h 3256 * platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit. 3257 * platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h 3258 * platform/win/PlatformScrollBarSafari.cpp: 3259 (WebCore::ScrollbarPartToScrollBarPiece): Added helper function. 3260 (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto. 3261 (WebCore::ScrollbarControlStateFromThemeState): ditto. 3262 (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place. 3263 Added new code to paint the custom scrollbars if necessary. 3264 * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary. 3265 3266 2008-07-23 Sam Weinig <sam (a] webkit.org> 3267 3268 Reviewed by Anders Carlsson. 3269 3270 Cleanup and pack the member variables in Node. 3271 3272 * bindings/js/JSNodeCustom.cpp: 3273 (WebCore::JSNode::mark): 3274 * dom/Attr.cpp: 3275 (WebCore::Attr::Attr): 3276 * dom/Attr.h: 3277 (WebCore::Attr::specified): 3278 (WebCore::Attr::setSpecified): 3279 * dom/ContainerNode.cpp: 3280 (WebCore::ContainerNode::setFocus): 3281 * dom/Document.cpp: 3282 (WebCore::Document::adoptNode): 3283 * dom/Element.cpp: 3284 (WebCore::Element::~Element): 3285 (WebCore::Element::rareData): 3286 (WebCore::Element::createRareData): 3287 * dom/Element.h: 3288 (WebCore::Element::hasRareData): 3289 (WebCore::Element::setHasRareData): 3290 * dom/Node.h: 3291 (WebCore::Node::setIsLink): 3292 (WebCore::Node::inSubtreeMark): 3293 (WebCore::Node::setInSubtreeMark): 3294 (WebCore::Node::attrWasSpecifiedOrElementHasRareData): 3295 (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData): 3296 * html/HTMLAnchorElement.cpp: 3297 (WebCore::HTMLAnchorElement::supportsFocus): 3298 (WebCore::HTMLAnchorElement::isFocusable): 3299 (WebCore::HTMLAnchorElement::defaultEventHandler): 3300 (WebCore::HTMLAnchorElement::parseMappedAttribute): 3301 (WebCore::HTMLAnchorElement::isLiveLink): 3302 * html/HTMLImageElement.cpp: 3303 (WebCore::HTMLImageElement::parseMappedAttribute): 3304 * html/HTMLInputElement.cpp: 3305 (WebCore::HTMLInputElement::setInputType): 3306 * html/HTMLTableElement.cpp: 3307 (WebCore::HTMLTableElement::attach): 3308 * svg/SVGAElement.cpp: 3309 (WebCore::SVGAElement::svgAttributeChanged): 3310 (WebCore::SVGAElement::defaultEventHandler): 3311 3312 2008-07-23 Kevin Calhoun <kcalhoun (a] apple.com> 3313 3314 Reviewed by Adele. 3315 3316 Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document 3317 3318 Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents. 3319 3320 * platform/graphics/win/QTMovieWin.cpp: 3321 (QTMovieWinPrivate::QTMovieWinPrivate): 3322 (QTMovieWinPrivate::~QTMovieWinPrivate): 3323 (QTMovieWinPrivate::task): 3324 (QTMovieWinPrivate::createMovieController): 3325 (QTMovieWinPrivate::createGWorld): 3326 (QTMovieWinPrivate::setSize): 3327 (QTMovieWinPrivate::deleteGWorld): 3328 (QTMovieWin::play): 3329 (QTMovieWin::pause): 3330 (QTMovieWin::setRate): 3331 (QTMovieWin::setCurrentTime): 3332 (QTMovieWin::load): 3333 3334 2008-07-23 Kevin Calhoun <kcalhoun (a] apple.com> 3335 3336 Reviewed by Adele. 3337 3338 Added a debug mode for viewing frames per second for videos. This is controlled by two 3339 independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h. 3340 Unless either flags is turned on there is no change to the code for video frame drawing. 3341 3342 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 3343 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 3344 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 3345 (WebCore::MediaPlayerPrivate::play): 3346 (WebCore::MediaPlayerPrivate::pause): 3347 (WebCore::MediaPlayerPrivate::didEnd): 3348 (WebCore::MediaPlayerPrivate::repaint): 3349 (WebCore::MediaPlayerPrivate::paint): 3350 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 3351 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 3352 (WebCore::MediaPlayerPrivate::play): 3353 (WebCore::MediaPlayerPrivate::pause): 3354 (WebCore::MediaPlayerPrivate::didEnd): 3355 (WebCore::MediaPlayerPrivate::paint): 3356 (WebCore::MediaPlayerPrivate::movieNewImageAvailable): 3357 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 3358 3359 2008-07-23 Adele Peterson <adele (a] apple.com> 3360 3361 Reviewed by Sam. 3362 3363 Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance 3364 3365 * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage): 3366 Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true). 3367 * platform/graphics/GraphicsContext.h: 3368 (WebCore::): Added InterpolationQuality enum. 3369 (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation. 3370 The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low". 3371 (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation. 3372 * platform/graphics/cg/GraphicsContextCG.cpp: 3373 (WebCore::GraphicsContext::setImageInterpolationQuality): Added. 3374 (WebCore::GraphicsContext::imageInterpolationQuality): Added. 3375 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint): 3376 Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much. 3377 3378 2008-07-23 Sam Weinig <sam (a] webkit.org> 3379 3380 Reviewed by Anders Carlsson. 3381 3382 Remove extraneous allocations by using equalIgnoringCase rather than 3383 String::lower. 3384 3385 * dom/StyledElement.cpp: 3386 (WebCore::StyledElement::addCSSColor): 3387 * html/HTMLCollection.cpp: 3388 (WebCore::HTMLCollection::checkForNameMatch): 3389 * html/HTMLFormCollection.cpp: 3390 (WebCore::HTMLFormCollection::getNamedFormItem): 3391 * html/HTMLLinkElement.cpp: 3392 (WebCore::HTMLLinkElement::tokenizeRelAttribute): 3393 * html/HTMLObjectElement.cpp: 3394 (WebCore::HTMLObjectElement::containsJavaApplet): 3395 * html/PreloadScanner.cpp: 3396 (WebCore::PreloadScanner::emitCSSRule): 3397 * loader/FrameLoader.cpp: 3398 (WebCore::FrameLoader::createJavaAppletWidget): 3399 * page/DOMSelection.cpp: 3400 (WebCore::DOMSelection::modify): 3401 * rendering/RenderPartObject.cpp: 3402 (WebCore::RenderPartObject::updateWidget): 3403 3404 2008-07-23 Maxime Britto <britto (a] apple.com> 3405 3406 Reviewed by Adam Roben. 3407 3408 <rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail" 3409 Add a check for the m_page member value before asking for page()->mainFrame() 3410 3411 * page/EventHandler.cpp: 3412 (WebCore::EventHandler::stopAutoscrollTimer): 3413 3414 2008-07-23 Kevin Calhoun <kcalhoun (a] apple.com> 3415 3416 Reviewed by Adele. 3417 3418 Fix for <rdar://problem/5710065> QT movies should be inactive when opened 3419 3420 Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and 3421 until after movie tracks of unsupported types have been disabled, to make sure they never draw. 3422 3423 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 3424 (WebCore::MediaPlayerPrivate::load): 3425 (WebCore::MediaPlayerPrivate::updateStates): 3426 (WebCore::MediaPlayerPrivate::setVisible): 3427 3428 2008-07-22 Maxime Britto <britto (a] apple.com> 3429 3430 Reviewed by John Sullivan. 3431 3432 <rdar://problem/6083116> 3433 When pan-scrolling, Back then Forward causes pan-scrolling to start again 3434 3435 * page/Frame.cpp: 3436 (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame 3437 * loader/FrameLoader.cpp: 3438 (WebCore::FrameLoader::scrollToAnchor): When the link is an anchor we Frame::clearTimers() isn't called since we're only scrolling the page so we need to ask to stop the autoscroll timer here too. 3439 3440 2008-07-22 Geoffrey Garen <ggaren (a] apple.com> 3441 3442 Reviewed by Oliver Hunt and Sam Weinig. 3443 3444 Next step toward putting doubles in registers: Prepare the Register class 3445 and its clients for registers that don't contain JSValue*s. 3446 3447 2008-07-22 Sam Weinig <sam (a] webkit.org> 3448 3449 Reviewed by Mark Rowe. 3450 3451 <rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI) 3452 Add additional support for JPEG and GIF for toDataURL encoding canvases. 3453 3454 * platform/MIMETypeRegistry.cpp: 3455 (WebCore::initializeSupportedImageMIMETypesForEncoding): 3456 * platform/graphics/cg/ImageBufferCG.cpp: 3457 (WebCore::utiFromMIMEType): 3458 3459 2008-07-22 Chris Fleizach <cfleizach (a] apple.com> 3460 3461 Reviewed by Dave Hyatt. 3462 3463 <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements 3464 Test: accessibility/internal-link-anchors2.html 3465 3466 * page/AccessibilityRenderObject.cpp: 3467 (WebCore::AccessibilityRenderObject::internalLinkElement): 3468 3469 2008-07-22 Anders Carlsson <andersca (a] apple.com> 3470 3471 Reviewed by Adam. 3472 3473 Allocate the empty StringImpl from the heap. 3474 3475 * platform/text/StringImpl.cpp: 3476 (WebCore::StringImpl::empty): 3477 3478 2008-07-21 Kevin McCullough <kmccullough (a] apple.com> 3479 3480 Reviewed by Tim. 3481 3482 <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up) 3483 view (19228) 3484 - Implement UI for Heavy (Bottom Up) view. 3485 3486 * English.lproj/localizedStrings.js: 3487 * page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree 3488 profile from a profile to the Web Inspector's JavaScript. 3489 (WebCore::getHeavyProfileCallback): 3490 (WebCore::getTreeProfileCallback): 3491 (WebCore::ProfileClass): 3492 * page/inspector/ProfileView.js: Implement the dropdown for changing 3493 profile views. 3494 * page/inspector/inspector.css: 3495 3496 2008-07-22 Alexey Proskuryakov <ap (a] webkit.org> 3497 3498 Reviewed by Adam Roben. 3499 3500 <rdar://problem/5955602> WebKit should support charset name x-windows-949 3501 3502 Test: fast/encoding/char-decoding.html 3503 3504 * platform/text/TextCodecICU.cpp: 3505 (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for 3506 Firefox compatibility. 3507 3508 2008-07-22 Gavin Barraclough <barraclough (a] apple.com> 3509 3510 Reviewed by Alexey Proskuryakov. 3511 3512 New test to check that arrays fail gracefully (throw an out of memory exception) 3513 when the vector grows to large. 3514 3515 * manual-tests/array-out-of-memory.html: Added. 3516 3517 2008-07-21 Alexey Proskuryakov <ap (a] webkit.org> 3518 3519 Reviewed by Dan Bernstein. 3520 3521 https://bugs.webkit.org/show_bug.cgi?id=20117 3522 setBaseAndExtent fails to reverse the current selection 3523 3524 Test: editing/selection/setBaseAndExtent-revert-selection.html 3525 3526 * editing/Selection.h: (WebCore::operator==): Compare direction, too. 3527 3528 2008-07-21 Julien Chaffraix <jchaffraix (a] webkit.org> 3529 3530 Reviewed by Sam Weinig. 3531 3532 Bug 19919: Add selectors' string parsing in CSSParser 3533 https://bugs.webkit.org/show_bug.cgi?id=19919 3534 3535 No functional change. 3536 3537 * css/CSSGrammar.y: Added entry for parsing only a selector. 3538 * css/CSSParser.cpp: 3539 (WebCore::CSSParser::CSSParser): 3540 (WebCore::CSSParser::parseSelector): 3541 * css/CSSParser.h: Added m_floatingSelector to hold the 3542 Selector parsed in parseSelector. 3543 3544 * css/tokenizer.flex: Added "@-webkit-selector" token. 3545 * dom/Node.cpp: 3546 (WebCore::Node::querySelector): 3547 (WebCore::Node::querySelectorAll): Switched to parseSelector 3548 method. 3549 3550 2008-07-21 Kevin Calhoun <kcalhoun (a] apple.com> 3551 3552 Reviewed by Adele. 3553 3554 Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed 3555 3556 * platform/graphics/win/QTMovieWin.cpp: 3557 (initializeSupportedTypes): Do a Quicktime version minimum version check. 3558 (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well. 3559 3560 2008-07-21 Kevin Calhoun <kcalhoun (a] apple.com> 3561 3562 Reviewed by Adele. 3563 3564 Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page 3565 3566 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache 3567 so that everything starts back up normally when the page is retrieved from the cache. 3568 3569 2008-07-21 Sam Weinig <sam (a] webkit.org> 3570 3571 Reviewed by Mark Rowe. 3572 3573 Remove unused interface declaration. 3574 3575 * platform/network/mac/ResourceHandleMac.mm: 3576 3577 2008-07-21 Mark Rowe <mrowe (a] apple.com> 3578 3579 Reviewed by Sam Weinig. 3580 3581 <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number. 3582 3583 * Configurations/Version.xcconfig: 3584 * Info.plist: 3585 3586 2008-07-21 Kevin Calhoun <kcalhoun (a] apple.com> 3587 3588 Reviewed by Adele. 3589 3590 Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document 3591 3592 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added. 3593 * platform/graphics/MediaPlayer.h: 3594 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates): 3595 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates): 3596 3597 2008-07-21 Anders Carlsson <andersca (a] apple.com> 3598 3599 Reviewed by Jon. 3600 3601 Don't allow requests to be made when the document loader is stopping all loaders. 3602 3603 * plugins/PluginView.cpp: 3604 (WebCore::PluginView::load): 3605 3606 2008-07-20 Maxime Britto <britto (a] apple.com> 3607 3608 Reviewed by John Sullivan. 3609 3610 [PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF 3611 Accelerate and enhance the smoothness of the pan scrollling. 3612 3613 * page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this. 3614 * rendering/RenderLayer.cpp: 3615 (WebCore::RenderLayer::panScrollFromPoint): Differentiate the speed within a 200 pixel side square, around the original click location to the speed for farther distances. This way we allow easyier handle when we are close to the center and very fast scrolling when we go far from the original point. 3616 3617 2008-07-18 David Hyatt <hyatt (a] apple.com> 3618 3619 Change the cached clip rects to not assume they should be infinite when the root layer has been 3620 shifted as the result of a transformation. 3621 3622 Reviewed by Maciej 3623 3624 Added fast/transforms/overflow-with-transform.html 3625 3626 * rendering/RenderLayer.cpp: 3627 (WebCore::RenderLayer::calculateClipRects): 3628 3629 2008-07-21 Rob Buis <buis (a] kde.org> 3630 3631 Reviewed by Mitz. 3632 3633 https://bugs.webkit.org/show_bug.cgi?id=19966 3634 CSS variables crash when using hex notation for colors 3635 3636 Support hex colors as values for the css variables. 3637 3638 Test: fast/css/variables/color-hex-test.html 3639 3640 * css/CSSParserValues.cpp: 3641 (WebCore::CSSParserValue::createCSSValue): 3642 * css/CSSPrimitiveValue.cpp: 3643 (WebCore::CSSPrimitiveValue::parserValue): 3644 * css/CSSVariablesRule.cpp: 3645 3646 2008-07-21 Simon Hausmann <hausmann (a] webkit.org> 3647 3648 Reviewed by Holger. 3649 3650 Fix drawing of windowless plugins on Windows with the Qt port by 3651 avoiding the reset of the translation of the HDC to 0, 0. 3652 3653 * plugins/win/PluginViewWin.cpp: 3654 (WebCore::PluginView::paint): 3655 3656 2008-07-21 Simon Hausmann <hausmann (a] webkit.org> 3657 3658 Reviewed by Holger. 3659 3660 Fix rendering of transparent windowless netscape plugins by passing 3661 the right conversion parameter to QPixmap::fromWinHBITMAP when 3662 converting from HBITMAP to QPixmap. 3663 3664 * platform/graphics/qt/GraphicsContextQt.cpp: 3665 (WebCore::GraphicsContext::releaseWindowsContext): 3666 3667 2008-07-21 Simon Hausmann <hausmann (a] webkit.org> 3668 3669 Reviewed by Holger. 3670 3671 In the implementation of getValue for NPNVnetscapeWindow treat 3672 windowHandleForPlatformWidget on the return value of 3673 containingWindow() to receive the correct HWND for the Qt port. 3674 3675 * plugins/win/PluginViewWin.cpp: 3676 (WebCore::PluginView::getValue): 3677 3678 2008-07-21 Simon Hausmann <hausmann (a] webkit.org> 3679 3680 Reviewed by Holger. 3681 3682 Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have 3683 a QWidget. This can happen on page/view destruction for example. 3684 3685 * plugins/win/PluginViewWin.cpp: 3686 (windowHandleForPlatformWidget): 3687 3688 2008-07-20 Steve Falkenburg <sfalken (a] apple.com> 3689 3690 Touch file to force rebuild for vsprops change. 3691 3692 * WebCorePrefix.h: 3693 3694 2008-07-20 Sam Weinig <sam (a] webkit.org> 3695 3696 Remove extra space Oliver Hunt left in. 3697 3698 * page/Console.cpp: 3699 (WebCore::Console::reportException): 3700 (WebCore::Console::reportCurrentException): 3701 3702 2008-07-20 Oliver Hunt <oliver (a] apple.com> 3703 3704 Reviewed by Dan Bernstein. 3705 3706 Bug 19757: Crash when an ondragstart handler hides the element 3707 <https://bugs.webkit.org/show_bug.cgi?id=19757> 3708 3709 The solution to this is problem is just to null check the renderer 3710 immediately before launching the system drag, and terminate the 3711 drag if the renderer is gone. 3712 3713 * page/EventHandler.cpp: 3714 (WebCore::EventHandler::handleDrag): 3715 3716 2008-07-20 Nikolas Zimmermann <zimmermann (a] kde.org> 3717 3718 Reviewed by Oliver. 3719 3720 Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171 3721 3722 Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement. 3723 Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob) 3724 3725 * svg/SVGPointList.cpp: 3726 (WebCore::SVGPointList::valueAsString): 3727 * svg/SVGPointList.h: 3728 (WebCore::SVGPointList::create): 3729 * svg/SVGPolyElement.cpp: 3730 (WebCore::SVGPolyElement::SVGPolyElement): 3731 (WebCore::SVGPolyElement::svgAttributeChanged): 3732 (WebCore::SVGPolyElement::updateAnimatedSVGAttribute): 3733 * svg/SVGPolyElement.h: 3734 3735 2008-07-20 Nikolas Zimmermann <zimmermann (a] kde.org> 3736 3737 Reviewed by Oliver. 3738 3739 Cleanup JSSVGPODTypeWrapper code. 3740 3741 Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper 3742 JSSVGPODTypeWrapperReadWrite -> JSSVGDynamicPODTypeWrapper 3743 JSSVGPODTypeWrapperCache -> JSSVGDynamicPODTypeWrapperCacheCache 3744 3745 No functional changes. 3746 3747 * bindings/js/JSSVGMatrixCustom.cpp: 3748 (WebCore::JSSVGMatrix::multiply): 3749 (WebCore::JSSVGMatrix::inverse): 3750 (WebCore::JSSVGMatrix::translate): 3751 (WebCore::JSSVGMatrix::scale): 3752 (WebCore::JSSVGMatrix::scaleNonUniform): 3753 (WebCore::JSSVGMatrix::rotate): 3754 (WebCore::JSSVGMatrix::rotateFromVector): 3755 (WebCore::JSSVGMatrix::flipX): 3756 (WebCore::JSSVGMatrix::flipY): 3757 (WebCore::JSSVGMatrix::skewX): 3758 (WebCore::JSSVGMatrix::skewY): 3759 * bindings/js/JSSVGPODTypeWrapper.h: 3760 (WebCore::JSSVGDynamicPODTypeWrapper::create): 3761 (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType): 3762 (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper): 3763 (WebCore::JSSVGStaticPODTypeWrapper::create): 3764 (WebCore::JSSVGStaticPODTypeWrapper::operator PODType): 3765 (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper): 3766 (WebCore::JSSVGPODTypeWrapperCreatorForList::create): 3767 (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType): 3768 (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList): 3769 (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo): 3770 (WebCore::PODTypeWrapperCacheInfo::operator==): 3771 (WebCore::PODTypeWrapperCacheInfoHash::hash): 3772 (WebCore::PODTypeWrapperCacheInfoHash::equal): 3773 (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue): 3774 (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue): 3775 (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue): 3776 (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap): 3777 (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper): 3778 (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper): 3779 * bindings/js/JSSVGPointListCustom.cpp: 3780 (WebCore::finishGetter): 3781 (WebCore::finishSetter): 3782 (WebCore::finishSetterReadOnlyResult): 3783 (WebCore::JSSVGPointList::initialize): 3784 (WebCore::JSSVGPointList::insertItemBefore): 3785 (WebCore::JSSVGPointList::replaceItem): 3786 (WebCore::JSSVGPointList::appendItem): 3787 * bindings/js/JSSVGTransformListCustom.cpp: 3788 (WebCore::finishGetter): 3789 (WebCore::finishSetter): 3790 (WebCore::finishSetterReadOnlyResult): 3791 (WebCore::JSSVGTransformList::initialize): 3792 (WebCore::JSSVGTransformList::getItem): 3793 (WebCore::JSSVGTransformList::insertItemBefore): 3794 (WebCore::JSSVGTransformList::replaceItem): 3795 (WebCore::JSSVGTransformList::removeItem): 3796 (WebCore::JSSVGTransformList::appendItem): 3797 * bindings/scripts/CodeGeneratorJS.pm: 3798 3799 2008-07-19 Oliver Hunt <oliver (a] apple.com> 3800 3801 Reviewed by Mark Rowe. 3802 3803 Bug 15979: Console logs in a database callback lose line number information 3804 <https://bugs.webkit.org/show_bug.cgi?id=15979> 3805 3806 The problem was that there were multiple versions of the logic to 3807 log an exception to the console, many of which were incorrect. We 3808 resolve this by making one single shared reportException method, 3809 which handles the exceptions correctly. 3810 3811 This improves fidelity of callback errors, and ensures that 3812 exceptions thrown in timer callbacks correctly report line numbers, 3813 etc. 3814 3815 Test: fast/js/exceptions-thrown-in-callbacks.html 3816 3817 * bindings/js/JSCustomSQLStatementCallback.cpp: 3818 (WebCore::JSCustomSQLStatementCallback::handleEvent): 3819 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 3820 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 3821 * bindings/js/JSCustomSQLTransactionCallback.cpp: 3822 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 3823 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 3824 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 3825 * bindings/js/JSCustomVoidCallback.cpp: 3826 (WebCore::JSCustomVoidCallback::handleEvent): 3827 * bindings/js/JSCustomXPathNSResolver.cpp: 3828 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 3829 * bindings/js/JSEventListener.cpp: 3830 (WebCore::JSAbstractEventListener::handleEvent): 3831 * bindings/js/ScheduledAction.cpp: 3832 (WebCore::ScheduledAction::execute): 3833 * bindings/js/ScriptController.cpp: 3834 (WebCore::ScriptController::evaluate): 3835 * bindings/objc/WebScriptObject.mm: 3836 (WebCore::addExceptionToConsole): 3837 * page/Console.cpp: 3838 (WebCore::Console::reportException): 3839 * page/Console.h: 3840 3841 2008-07-20 Nikolas Zimmermann <zimmermann (a] kde.org> 3842 3843 Rubber stamped by Oliver. 3844 3845 Another attempt to fix the win build. 3846 3847 * svg/SVGAnimatedProperty.h: 3848 3849 2008-07-20 Alexey Proskuryakov <ap (a] webkit.org> 3850 3851 Reviewed by David Kilzer. 3852 3853 Fix high CPU usage on testmyiphone.com. 3854 3855 - Made the logic for determining when to stop looking for meta charset more strainghtforward. 3856 Previously, this happened if a tag that's disallowed in HEAD was seen past the first 512 3857 bytes. Now, the algorithm bails out at the boundary if we are lo longer in HEAD (i.e, an 3858 offending tag was seen at any point before). 3859 3860 - The above change made one of our regression tests fail, because it had its <meta> 3861 declaration past the 512 byte boundary. Fixed it by raising the boundary to 1024 bytes. 3862 3863 - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary. 3864 3865 - Moved a check for XML content type out of the loop. 3866 3867 * loader/TextResourceDecoder.cpp: 3868 (WebCore::TextResourceDecoder::checkForHeadCharset): 3869 3870 2008-07-20 Oliver Hunt <oliver (a] apple.com> 3871 3872 Reviewed by NOBODY (build fix). 3873 3874 Attempt to fix windows build 3875 3876 * svg/SVGAnimatedProperty.h: 3877 3878 2008-07-19 Nikolas Zimmermann <zimmermann (a] kde.org> 3879 3880 Reviewed by Oliver & parts by Eric. 3881 3882 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20051 3883 3884 Rewrite animated property concept without heavy macro usage, replace by a templatified solution. 3885 Fewer virtual function calls, no more usage of the tear-off's within internal code (synchronization needed it before.) 3886 3887 * dom/Element.cpp: 3888 (WebCore::Element::attributes): 3889 (WebCore::Element::getAttribute): 3890 (WebCore::Element::hasAttributes): 3891 * dom/Element.h: 3892 (WebCore::Element::updateAnimatedSVGAttribute): Take const String&, not StringImpl*. 3893 * svg/SVGAElement.cpp: 3894 (WebCore::SVGAElement::SVGAElement): 3895 * svg/SVGAElement.h: 3896 * svg/SVGAltGlyphElement.h: 3897 * svg/SVGAnimatedProperty.h: Added. 3898 * svg/SVGAnimatedTemplate.h: 3899 (WebCore::lookupOrCreateWrapper): 3900 * svg/SVGAnimationElement.h: 3901 * svg/SVGCircleElement.cpp: 3902 (WebCore::SVGCircleElement::SVGCircleElement): 3903 * svg/SVGCircleElement.h: 3904 * svg/SVGClipPathElement.cpp: 3905 (WebCore::SVGClipPathElement::SVGClipPathElement): 3906 * svg/SVGClipPathElement.h: 3907 * svg/SVGComponentTransferFunctionElement.cpp: 3908 (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): 3909 * svg/SVGComponentTransferFunctionElement.h: 3910 * svg/SVGCursorElement.cpp: 3911 (WebCore::SVGCursorElement::SVGCursorElement): 3912 * svg/SVGCursorElement.h: 3913 * svg/SVGDefsElement.h: 3914 (WebCore::SVGDefsElement::contextElement): 3915 * svg/SVGElement.cpp: 3916 (WebCore::SVGElement::updateAnimatedSVGAttribute): 3917 * svg/SVGElement.h: 3918 (WebCore::SVGElement::supplementalTransform): 3919 (WebCore::SVGElement::invokeSVGPropertySynchronizer): 3920 (WebCore::SVGElement::invokeAllSVGPropertySynchronizers): 3921 (WebCore::SVGElement::addSVGPropertySynchronizer): 3922 * svg/SVGEllipseElement.cpp: 3923 (WebCore::SVGEllipseElement::SVGEllipseElement): 3924 * svg/SVGEllipseElement.h: 3925 * svg/SVGExternalResourcesRequired.cpp: 3926 (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired): 3927 * svg/SVGExternalResourcesRequired.h: 3928 * svg/SVGFEBlendElement.cpp: 3929 (WebCore::SVGFEBlendElement::SVGFEBlendElement): 3930 * svg/SVGFEBlendElement.h: 3931 * svg/SVGFEColorMatrixElement.cpp: 3932 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement): 3933 * svg/SVGFEColorMatrixElement.h: 3934 * svg/SVGFEComponentTransferElement.cpp: 3935 (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement): 3936 * svg/SVGFEComponentTransferElement.h: 3937 * svg/SVGFECompositeElement.cpp: 3938 (WebCore::SVGFECompositeElement::SVGFECompositeElement): 3939 * svg/SVGFECompositeElement.h: 3940 * svg/SVGFEDiffuseLightingElement.cpp: 3941 (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement): 3942 * svg/SVGFEDiffuseLightingElement.h: 3943 * svg/SVGFEDisplacementMapElement.cpp: 3944 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): 3945 * svg/SVGFEDisplacementMapElement.h: 3946 * svg/SVGFEFloodElement.h: 3947 * svg/SVGFEGaussianBlurElement.cpp: 3948 (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement): 3949 * svg/SVGFEGaussianBlurElement.h: 3950 * svg/SVGFEImageElement.cpp: 3951 (WebCore::SVGFEImageElement::SVGFEImageElement): 3952 * svg/SVGFEImageElement.h: 3953 * svg/SVGFELightElement.cpp: 3954 (WebCore::SVGFELightElement::SVGFELightElement): 3955 * svg/SVGFELightElement.h: 3956 (WebCore::SVGFELightElement::contextElement): 3957 * svg/SVGFEMergeElement.h: 3958 * svg/SVGFEMergeNodeElement.cpp: 3959 (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement): 3960 * svg/SVGFEMergeNodeElement.h: 3961 * svg/SVGFEOffsetElement.cpp: 3962 (WebCore::SVGFEOffsetElement::SVGFEOffsetElement): 3963 * svg/SVGFEOffsetElement.h: 3964 * svg/SVGFESpecularLightingElement.cpp: 3965 (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement): 3966 * svg/SVGFESpecularLightingElement.h: 3967 * svg/SVGFETileElement.cpp: 3968 (WebCore::SVGFETileElement::SVGFETileElement): 3969 * svg/SVGFETileElement.h: 3970 * svg/SVGFETurbulenceElement.cpp: 3971 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement): 3972 * svg/SVGFETurbulenceElement.h: 3973 * svg/SVGFilterElement.cpp: 3974 (WebCore::SVGFilterElement::SVGFilterElement): 3975 * svg/SVGFilterElement.h: 3976 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 3977 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes): 3978 * svg/SVGFilterPrimitiveStandardAttributes.h: 3979 * svg/SVGFitToViewBox.cpp: 3980 (WebCore::SVGFitToViewBox::SVGFitToViewBox): 3981 * svg/SVGFitToViewBox.h: 3982 * svg/SVGFontElement.h: 3983 (WebCore::SVGFontElement::rendererIsNeeded): 3984 (WebCore::SVGFontElement::contextElement): 3985 * svg/SVGForeignObjectElement.cpp: 3986 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): 3987 * svg/SVGForeignObjectElement.h: 3988 * svg/SVGGElement.h: 3989 * svg/SVGGradientElement.cpp: 3990 (WebCore::SVGGradientElement::SVGGradientElement): 3991 * svg/SVGGradientElement.h: 3992 (WebCore::SVGGradientElement::contextElement): 3993 * svg/SVGImageElement.cpp: 3994 (WebCore::SVGImageElement::SVGImageElement): 3995 * svg/SVGImageElement.h: 3996 * svg/SVGLineElement.cpp: 3997 (WebCore::SVGLineElement::SVGLineElement): 3998 * svg/SVGLineElement.h: 3999 * svg/SVGLinearGradientElement.cpp: 4000 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): 4001 * svg/SVGLinearGradientElement.h: 4002 * svg/SVGMarkerElement.cpp: 4003 (WebCore::SVGMarkerElement::SVGMarkerElement): 4004 (WebCore::SVGMarkerElement::canvasResource): 4005 * svg/SVGMarkerElement.h: 4006 * svg/SVGMaskElement.cpp: 4007 (WebCore::SVGMaskElement::SVGMaskElement): 4008 * svg/SVGMaskElement.h: 4009 * svg/SVGPathElement.cpp: 4010 (WebCore::SVGPathElement::SVGPathElement): 4011 (WebCore::SVGPathElement::parseMappedAttribute): 4012 * svg/SVGPathElement.h: 4013 * svg/SVGPatternElement.cpp: 4014 (WebCore::SVGPatternElement::SVGPatternElement): 4015 * svg/SVGPatternElement.h: 4016 (WebCore::SVGPatternElement::contextElement): 4017 * svg/SVGPolyElement.h: 4018 * svg/SVGPreserveAspectRatio.cpp: 4019 * svg/SVGRadialGradientElement.cpp: 4020 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement): 4021 * svg/SVGRadialGradientElement.h: 4022 * svg/SVGRectElement.cpp: 4023 (WebCore::SVGRectElement::SVGRectElement): 4024 * svg/SVGRectElement.h: 4025 * svg/SVGSVGElement.cpp: 4026 (WebCore::SVGSVGElement::SVGSVGElement): 4027 * svg/SVGSVGElement.h: 4028 * svg/SVGScriptElement.cpp: 4029 * svg/SVGScriptElement.h: 4030 * svg/SVGStopElement.cpp: 4031 (WebCore::SVGStopElement::SVGStopElement): 4032 * svg/SVGStopElement.h: 4033 * svg/SVGStyledElement.cpp: 4034 (WebCore::SVGStyledElement::SVGStyledElement): 4035 * svg/SVGStyledElement.h: 4036 * svg/SVGStyledTransformableElement.cpp: 4037 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): 4038 * svg/SVGStyledTransformableElement.h: 4039 * svg/SVGSwitchElement.h: 4040 * svg/SVGSymbolElement.h: 4041 (WebCore::SVGSymbolElement::contextElement): 4042 * svg/SVGTRefElement.h: 4043 * svg/SVGTSpanElement.h: 4044 * svg/SVGTextContentElement.cpp: 4045 (WebCore::SVGTextContentElement::SVGTextContentElement): 4046 * svg/SVGTextContentElement.h: 4047 (WebCore::SVGTextContentElement::contextElement): 4048 * svg/SVGTextElement.cpp: 4049 (WebCore::SVGTextElement::SVGTextElement): 4050 * svg/SVGTextElement.h: 4051 * svg/SVGTextPathElement.cpp: 4052 (WebCore::SVGTextPathElement::SVGTextPathElement): 4053 * svg/SVGTextPathElement.h: 4054 * svg/SVGTextPositioningElement.cpp: 4055 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement): 4056 * svg/SVGTextPositioningElement.h: 4057 * svg/SVGTransformable.h: 4058 * svg/SVGURIReference.cpp: 4059 (WebCore::SVGURIReference::SVGURIReference): 4060 * svg/SVGURIReference.h: 4061 * svg/SVGUseElement.cpp: 4062 (WebCore::SVGUseElement::SVGUseElement): 4063 * svg/SVGUseElement.h: 4064 * svg/SVGViewElement.h: 4065 * svg/SVGViewSpec.h: 4066 4067 2008-07-18 Maxime Britto <britto (a] apple.com> 4068 4069 Reviewed by Adele. 4070 4071 Fixed <rdar://problem/6049803> 4072 Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field. 4073 4074 Test: fast/events/autoscroll-with-non-scrollable-parent.html 4075 4076 * ChangeLog: 4077 * page/EventHandler.cpp: Edited 4078 (WebCore::EventHandler::handleMousePressEvent): changed the name of the funtion called to canBeProgramaticallyScrolled() 4079 (WebCore::EventHandler::handleMouseDraggedEvent): prevent the autoscroll to keep looking for a renderer when it's already triggered 4080 * rendering/RenderLayer.cpp: 4081 (WebCore::RenderLayer::scrollRectToVisible): verifies that the top layer can be programmatically scrolled before asking him to make the rect visible 4082 * rendering/RenderListBox.h: 4083 (WebCore::RenderListBox::canBeProgramaticallyScrolled): 4084 * rendering/RenderObject.cpp: 4085 (WebCore::RenderObject::canBeProgramaticallyScrolled): Edited : For the 3rd case we want document's renderer to have scrollbar as it's the top layer 4086 (WebCore::RenderObject::hasScrollableView): Verifies that the Object has a view with scrollBars 4087 * rendering/RenderObject.h: Renamed shouldAutosroll() for canBeProgramaticallyScrolled() 4088 * rendering/RenderTextControl.h: 4089 (WebCore::RenderTextControl::canBeProgramaticallyScrolled): 4090 4091 2008-07-18 Sam Weinig <sam (a] webkit.org> 4092 4093 Reviewed by Anders Carlsson. 4094 4095 <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest 4096 4097 - Overload XMLHttpRequests send() method to accept File tokens. 4098 4099 * bindings/js/JSXMLHttpRequestCustom.cpp: 4100 (WebCore::JSXMLHttpRequest::send): 4101 * xml/XMLHttpRequest.cpp: 4102 (WebCore::XMLHttpRequest::send): 4103 * xml/XMLHttpRequest.h: 4104 4105 2008-07-18 Geoffrey Garen <ggaren (a] apple.com> 4106 4107 Reviewed by Cameron Zwarich. 4108 4109 Three renames: 4110 4111 "CallTypeNative" => "CallTypeHost" 4112 "code" => "byteCode" 4113 "generatedCode" => "generatedByteCode" 4114 4115 2008-07-18 Adele Peterson <adele (a] apple.com> 4116 4117 Reviewed by Dan Bernstein. 4118 4119 I recently made a change to avoid fading media controls in and out if a video element actually only contains audio, 4120 which broke the code that did the same thing for audio elements that contain video (but don't actually display that video). 4121 This change will now check both the media element and the player to decide whether or not to make the controls persistent. 4122 4123 * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility): 4124 4125 2008-07-18 Simon Fraser <simon.fraser (a] apple.com> 4126 4127 Reviewed by mitz 4128 4129 Remove braces around single-line conditional. 4130 4131 * css/CSSComputedStyleDeclaration.cpp: 4132 (WebCore::computedTransform): 4133 4134 2008-07-18 Simon Fraser <simon.fraser (a] apple.com> 4135 4136 Reviewed by Dave Hyatt 4137 4138 getComputedStyle() for -webkit-transform should return 4139 'none' for elements with no renderer, or those with no 4140 transform. 4141 4142 https://bugs.webkit.org/show_bug.cgi?id=20008 4143 4144 Testcase: LayoutTests/fast/css/computed-style-without-renderer 4145 LayoutTests/fast/css/computed-style-expected.txt 4146 4147 * css/CSSComputedStyleDeclaration.cpp: 4148 (WebCore::computedTransform): 4149 4150 2008-07-18 Simon Fraser <simon.fraser (a] apple.com> 4151 4152 Reviewed by Dave Hyatt 4153 4154 Fix assertion about creating Length values with percentage types 4155 when blending transforms. 4156 https://bugs.webkit.org/show_bug.cgi?id=20086 4157 4158 * rendering/style/RenderStyle.cpp: 4159 (WebCore::TranslateTransformOperation::blend): 4160 4161 2008-07-17 Jacob Refstrup <jacob.refstrup (a] hp.com> 4162 4163 Reviewed by rwlbuis (a] gmail.com 4164 4165 https://bugs.webkit.org/show_bug.cgi?id=19965 4166 4167 - Added "@"{ident} rule (below other @-rules) to use flex for longest match 4168 (if an earlier rule - e.g. @media - also matches then flex chooses that one 4169 however, if a longer match - e.g. @mediaall matches flex will choose that) 4170 - Updated grammar to defined ATKEYWORD token and to use that instead of '@' 4171 in the error recovery grammar. 4172 4173 Test: css2.1/atrule_longest_match.html 4174 4175 * ChangeLog: 4176 * css/CSSGrammar.y: 4177 * css/tokenizer.flex: 4178 4179 2008-07-17 David Hyatt <hyatt (a] apple.com> 4180 4181 Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is 4182 recursive (and checks for transparency layers all the way up the ancestor document chain back to 4183 the top-level frame). 4184 4185 Reviewed by Dan 4186 4187 * rendering/RenderView.cpp: 4188 (WebCore::RenderView::paintBoxDecorations): 4189 4190 2008-07-16 Jon Honeycutt <jhoneycutt (a] apple.com> 4191 4192 REGRESSION: Can't create windowless plug-in with Flash 9 4193 https://bugs.webkit.org/show_bug.cgi?id=20070 4194 4195 Reviewed by Mark Rowe. 4196 4197 * plugins/win/PluginPackageWin.cpp: 4198 (WebCore::PluginPackage::determineQuirks): Reverse argument order; 4199 PlatformModuleVersion constructor takes leastSig, mostSig. 4200 4201 2008-07-16 Eric Seidel <eric (a] webkit.org> 4202 4203 Reviewed by mitz. 4204 4205 Attempt to make initializeATSUStyle human-readable by 4206 splitting it out into better-named static inline functions. 4207 4208 No functional changes, thus no tests. 4209 4210 * platform/graphics/mac/FontMac.mm: 4211 (WebCore::fontHasMirroringInfo): 4212 (WebCore::disableLigatures): 4213 (WebCore::initializeATSUStyle): 4214 4215 2008-07-16 Eric Seidel <eric (a] webkit.org> 4216 4217 No review, build fix only. 4218 4219 Attempt to fix Mac build 4220 4221 * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header. 4222 4223 2008-07-16 Eric Seidel <eric (a] webkit.org> 4224 4225 Reviewed by mitz. 4226 4227 Make ATSULayoutParameters a real C++ class 4228 (Give it a destructor to clean up after itself) 4229 (Also use OwnArrayPtr instead of manual member cleanup) 4230 4231 * platform/graphics/mac/FontMac.mm: 4232 (WebCore::ATSULayoutParameters::ATSULayoutParameters): 4233 (WebCore::ATSULayoutParameters::~ATSULayoutParameters): 4234 (WebCore::overrideLayoutOperation): 4235 (WebCore::ATSULayoutParameters::initialize): 4236 (WebCore::Font::selectionRectForComplexText): 4237 (WebCore::Font::drawComplexText): 4238 (WebCore::Font::floatWidthForComplexText): 4239 (WebCore::Font::offsetForPositionForComplexText): 4240 4241 2008-07-16 Eric Seidel <eric (a] webkit.org> 4242 4243 Reviewed by mitz. 4244 4245 Make ownership of copied UChar buffer clearer 4246 (and more leak-proof) by using a OwnArrayPtr. 4247 4248 No functional changes, thus no tests. 4249 4250 * platform/graphics/mac/FontMac.mm: 4251 (WebCore::copyRunForDirectionalOverrideIfNecessary): 4252 (WebCore::Font::selectionRectForComplexText): 4253 (WebCore::Font::drawComplexText): 4254 (WebCore::Font::offsetForPositionForComplexText): 4255 4256 2008-07-16 Eric Seidel <eric (a] webkit.org> 4257 4258 Reviewed by Sam. 4259 4260 Split out TextRun into its own header file. 4261 Re-order members to place all bools together 4262 (to allow compilers to better pack the struct) 4263 4264 No functional changes, thus no tests. 4265 4266 * WebCore.vcproj/WebCore.vcproj: 4267 * WebCore.xcodeproj/project.pbxproj: 4268 * platform/graphics/Font.h: Moved TextRun into its own file. 4269 * platform/graphics/TextRun.h: Split out from Font.h 4270 4271 2008-07-16 Simon Fraser <simon.fraser (a] apple.com> 4272 4273 Reviewed by Dave Hyatt 4274 4275 AnimationController needs to adjust z-index in the blended 4276 style in case opacity or transform were changed by blending. 4277 4278 https://bugs.webkit.org/show_bug.cgi?id=20047 4279 4280 Test: transitions/opacity-transition-zindex.html 4281 4282 * page/AnimationController.cpp: 4283 (WebCore::AnimationController::updateImplicitAnimations): 4284 4285 2008-07-16 Nikolas Zimmermann <zimmermann (a] kde.org> 4286 4287 Reviewed by Sam. 4288 4289 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052 4290 Prepare SVGAnimatedProperty introduction. 4291 4292 Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty 4293 contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters. 4294 See https://bugs.webkit.org/show_bug.cgi?id=20051 for details. 4295 4296 * dom/make_names.pl: Handle new params "exportString" / "exportStrings". 4297 * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string. 4298 * svg/svgattrs.in: Export all SVG attributes as strings. 4299 * svg/svgtags.in: Export all SVG tags as strings. 4300 * svg/xlinkattrs.in: Expose all XLink attributes as strings. 4301 4302 2008-07-16 Nikolas Zimmermann <zimmermann (a] kde.org> 4303 4304 Reviewed by Eric. 4305 4306 Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss) 4307 Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it. 4308 4309 Remove some uneeded contextElement() functions, by moving into approriate shared base classes. 4310 4311 * GNUmakefile.am: 4312 * WebCore.pro: 4313 * WebCore.vcproj/WebCore.vcproj: 4314 * WebCore.xcodeproj/project.pbxproj: 4315 * bindings/js/JSSVGLengthCustom.cpp: Added. 4316 (WebCore::JSSVGLength::value): 4317 (WebCore::JSSVGLength::convertToSpecifiedUnits): 4318 * bindings/scripts/CodeGeneratorObjC.pm: 4319 * css/CSSCursorImageValue.cpp: 4320 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): 4321 * rendering/RenderForeignObject.cpp: 4322 (WebCore::RenderForeignObject::translationForAttributes): 4323 * rendering/RenderSVGImage.cpp: 4324 (WebCore::RenderSVGImage::layout): 4325 * rendering/RenderSVGRoot.cpp: 4326 (WebCore::RenderSVGRoot::calcViewport): 4327 * rendering/RenderSVGText.cpp: 4328 (WebCore::RenderSVGText::layout): 4329 * rendering/RenderSVGViewportContainer.cpp: 4330 (WebCore::RenderSVGViewportContainer::calcViewport): 4331 * rendering/SVGCharacterLayoutInfo.cpp: 4332 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): 4333 (WebCore::SVGCharacterLayoutInfo::addStackContent): 4334 * rendering/SVGCharacterLayoutInfo.h: 4335 * rendering/SVGRootInlineBox.cpp: 4336 (WebCore::SVGRootInlineBox::buildTextChunks): 4337 * svg/SVGAnimateElement.h: 4338 * svg/SVGAnimateMotionElement.h: 4339 * svg/SVGAnimateTransformElement.h: 4340 * svg/SVGAnimationElement.h: 4341 (WebCore::SVGAnimationElement::contextElement): 4342 * svg/SVGCircleElement.cpp: 4343 (WebCore::SVGCircleElement::SVGCircleElement): 4344 (WebCore::SVGCircleElement::parseMappedAttribute): 4345 (WebCore::SVGCircleElement::toPathData): 4346 * svg/SVGCursorElement.cpp: 4347 (WebCore::SVGCursorElement::SVGCursorElement): 4348 (WebCore::SVGCursorElement::parseMappedAttribute): 4349 * svg/SVGEllipseElement.cpp: 4350 (WebCore::SVGEllipseElement::SVGEllipseElement): 4351 (WebCore::SVGEllipseElement::parseMappedAttribute): 4352 (WebCore::SVGEllipseElement::toPathData): 4353 * svg/SVGFilterElement.cpp: 4354 (WebCore::SVGFilterElement::SVGFilterElement): 4355 (WebCore::SVGFilterElement::parseMappedAttribute): 4356 (WebCore::SVGFilterElement::canvasResource): 4357 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 4358 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes): 4359 (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute): 4360 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): 4361 * svg/SVGForeignObjectElement.cpp: 4362 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): 4363 (WebCore::SVGForeignObjectElement::parseMappedAttribute): 4364 * svg/SVGImageElement.cpp: 4365 (WebCore::SVGImageElement::SVGImageElement): 4366 (WebCore::SVGImageElement::parseMappedAttribute): 4367 * svg/SVGLength.cpp: 4368 (WebCore::SVGLength::SVGLength): 4369 (WebCore::SVGLength::value): 4370 (WebCore::SVGLength::convertToSpecifiedUnits): 4371 (WebCore::SVGLength::PercentageOfViewport): 4372 * svg/SVGLength.h: 4373 * svg/SVGLength.idl: 4374 * svg/SVGLengthList.cpp: 4375 (WebCore::SVGLengthList::parse): 4376 * svg/SVGLengthList.h: 4377 * svg/SVGLineElement.cpp: 4378 (WebCore::SVGLineElement::SVGLineElement): 4379 (WebCore::SVGLineElement::parseMappedAttribute): 4380 (WebCore::SVGLineElement::toPathData): 4381 * svg/SVGLinearGradientElement.cpp: 4382 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): 4383 (WebCore::SVGLinearGradientElement::parseMappedAttribute): 4384 * svg/SVGMarkerElement.cpp: 4385 (WebCore::SVGMarkerElement::SVGMarkerElement): 4386 (WebCore::SVGMarkerElement::parseMappedAttribute): 4387 (WebCore::SVGMarkerElement::canvasResource): 4388 * svg/SVGMaskElement.cpp: 4389 (WebCore::SVGMaskElement::SVGMaskElement): 4390 (WebCore::SVGMaskElement::parseMappedAttribute): 4391 (WebCore::SVGMaskElement::drawMaskerContent): 4392 * svg/SVGPatternElement.cpp: 4393 (WebCore::SVGPatternElement::SVGPatternElement): 4394 (WebCore::SVGPatternElement::parseMappedAttribute): 4395 (WebCore::SVGPatternElement::buildPattern): 4396 * svg/SVGRadialGradientElement.cpp: 4397 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement): 4398 (WebCore::SVGRadialGradientElement::parseMappedAttribute): 4399 * svg/SVGRectElement.cpp: 4400 (WebCore::SVGRectElement::SVGRectElement): 4401 (WebCore::SVGRectElement::parseMappedAttribute): 4402 (WebCore::SVGRectElement::toPathData): 4403 * svg/SVGSVGElement.cpp: 4404 (WebCore::SVGSVGElement::SVGSVGElement): 4405 (WebCore::SVGSVGElement::viewport): 4406 (WebCore::SVGSVGElement::parseMappedAttribute): 4407 (WebCore::SVGSVGElement::getCTM): 4408 (WebCore::SVGSVGElement::getScreenCTM): 4409 * svg/SVGTextContentElement.cpp: 4410 (WebCore::SVGTextContentElement::SVGTextContentElement): 4411 (WebCore::SVGTextContentElement::parseMappedAttribute): 4412 * svg/SVGTextPathElement.cpp: 4413 (WebCore::SVGTextPathElement::SVGTextPathElement): 4414 (WebCore::SVGTextPathElement::parseMappedAttribute): 4415 * svg/SVGTextPositioningElement.cpp: 4416 (WebCore::SVGTextPositioningElement::parseMappedAttribute): 4417 * svg/SVGUseElement.cpp: 4418 (WebCore::SVGUseElement::SVGUseElement): 4419 (WebCore::SVGUseElement::parseMappedAttribute): 4420 (WebCore::SVGUseElement::buildPendingResource): 4421 (WebCore::SVGUseElement::buildInstanceTree): 4422 (WebCore::SVGUseElement::handleDeepUseReferencing): 4423 (WebCore::SVGUseElement::alterShadowTreeForSVGTag): 4424 (WebCore::SVGUseElement::expandUseElementsInShadowTree): 4425 (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): 4426 * svg/SVGUseElement.h: 4427 * svg/SynchronizableTypeWrapper.h: 4428 * svg/graphics/SVGImage.cpp: 4429 (WebCore::SVGImage::size): 4430 4431 2008-07-16 Geoffrey Garen <ggaren (a] apple.com> 4432 4433 Reviewed by Oliver Hunt. 4434 4435 Support for JavaScriptCore's first step toward putting doubles in 4436 registers: Treat ArgList iterators as Register*'s, not JSValue*'s. 4437 4438 * bindings/js/ScheduledAction.cpp: 4439 (WebCore::ScheduledAction::ScheduledAction): 4440 4441 2008-07-15 Maxime Britto <britto (a] apple.com> 4442 4443 Reviewed by Eric. 4444 4445 https://bugs.webkit.org/show_bug.cgi?id=17589 4446 <rdar://problem/5770893> 4447 Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling. 4448 Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways 4449 For the other platforms, nothing is changed but if someone want to activate this feature 4450 he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor. 4451 4452 * ChangeLog: 4453 * page/EventHandler.cpp: 4454 (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions 4455 (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters 4456 * platform/PlatformWheelEvent.h: 4457 (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll 4458 (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll 4459 (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled): 4460 (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled): 4461 * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior 4462 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 4463 * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior 4464 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 4465 * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior 4466 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 4467 * platform/win/ScrollViewWin.cpp: Added the page scroll (horiz/vertical) and reduced the number of pixels to scroll per line to keep the standard behavior with the factor 4468 (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions 4469 (WebCore::ScrollView::updateScrollbars): 4470 (WebCore::ScrollView::wheelEvent): 4471 * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API. 4472 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 4473 * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior 4474 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 4475 4476 2008-07-15 Kevin Ollivier <kevino (a] theolliviers.com> 4477 4478 wx build fix - adding AccessibilityImageMapLink.cpp to the wx build. 4479 4480 * WebCoreSources.bkl: 4481 4482 2008-07-15 Kevin McCullough <kmccullough (a] apple.com> 4483 4484 Reviewed by Dan. 4485 4486 <rdar://problem/5620273> REGRESSION: Apparent caching between form 4487 submits twice (on Maconomy) (18401) 4488 4489 Frames did not set the createdByParser flag even when they were. 4490 4491 * html/HTMLElementFactory.cpp: 4492 (WebCore::frameConstructor): 4493 (WebCore::iframeConstructor): 4494 4495 2008-07-15 Dan Bernstein <mitz (a] apple.com> 4496 4497 Reviewed by Dave Hyatt. 4498 4499 - fix https://bugs.webkit.org/show_bug.cgi?id=19525 4500 <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash 4501 4502 Test: fast/reflections/inline-crash.html 4503 4504 * rendering/RenderInline.cpp: 4505 (WebCore::RenderInline::setStyle): Added setHasReflection(false). 4506 Inline flows never have reflections. 4507 4508 2008-07-14 David Hyatt <hyatt (a] apple.com> 4509 4510 Allow <style> and <link> pretty much anywhere. They will still be moved to the <head> if 4511 no <body> exists yet though. 4512 4513 Reviewed by Sam 4514 4515 Added fast/css/style-parsed-outside-of-head.html 4516 4517 * html/HTMLElement.cpp: 4518 (WebCore::inlineTagList): 4519 4520 2008-07-15 Kevin McCullough <kmccullough (a] apple.com> 4521 4522 Reviewed by Geoff. 4523 4524 Rename pageGroupIdentifier to profileGroup to keep mention of a 4525 pageGroup out of JavaScriptCore. 4526 4527 * bindings/js/JSQuarantinedObjectWrapper.cpp: 4528 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): 4529 * bindings/js/ScriptController.cpp: 4530 (WebCore::ScriptController::clear): 4531 (WebCore::ScriptController::initScript): 4532 * history/CachedPage.cpp: 4533 (WebCore::CachedPage::restore): 4534 4535 2008-07-15 Adam Roben <aroben (a] apple.com> 4536 4537 WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions 4538 4539 <rdar://6059127> 4540 4541 Reviewed by John Sullivan. 4542 4543 * platform/graphics/win/FontCGWin.cpp: 4544 (WebCore::Font::drawGlyphs): Pass the result of 4545 WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle. 4546 * platform/win/WebCoreTextRenderer.cpp: 4547 (WebCore::WebCoreSetShouldUseFontSmoothing): 4548 (WebCore::WebCoreShouldUseFontSmoothing): 4549 Added. 4550 * platform/win/WebCoreTextRenderer.h: 4551 4552 2008-07-15 Adam Roben <aroben (a] apple.com> 4553 4554 Windows build fix 4555 4556 * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h} 4557 to the project. 4558 4559 2008-07-15 Holger Hans Peter Freyther <zecke (a] selfish.org> 4560 4561 Build fix for the Gtk+ and Qt platform. 4562 4563 * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build 4564 * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build 4565 4566 2008-07-14 Dan Bernstein <mitz (a] apple.com> 4567 4568 - Tiger build fix 4569 4570 * platform/mac/WidgetMac.mm: 4571 (WebCore::Widget::paint): 4572 4573 2008-07-14 Dan Bernstein <mitz (a] apple.com> 4574 4575 Reviewed by John Sullivan. 4576 4577 - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep: 4578 4579 * platform/mac/WidgetMac.mm: 4580 (WebCore::Widget::paint): Changed to account for the case of drawing 4581 into a bitmap context that is not a window's backing store. In that 4582 case, -displayRectIgnoringOpacity:inContext: is used to redirect the 4583 drawing to the correct context, after setting up the right transform 4584 on it. For subframes, additional code ensures that the scroll view will 4585 not paint the background behind a transparent frame. 4586 4587 2008-07-14 chris fleizach <cfleizach (a] apple.com> 4588 4589 Reviewed by Beth Dakin 4590 4591 <rdar://problem/6038106> AXChildren returned for this web area is null 4592 Accessibility of image maps needed to be updated 4593 4594 Tests: accessibility/image-map1.html 4595 accessibility/image-map2.html 4596 4597 * WebCore.xcodeproj/project.pbxproj: 4598 * page/AXObjectCache.cpp: 4599 (WebCore::AXObjectCache::get): 4600 * page/AccessibilityImageMapLink.cpp: Added. 4601 (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink): 4602 (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink): 4603 (WebCore::AccessibilityImageMapLink::create): 4604 (WebCore::AccessibilityImageMapLink::parentObject): 4605 (WebCore::AccessibilityImageMapLink::anchorElement): 4606 (WebCore::AccessibilityImageMapLink::accessibilityDescription): 4607 (WebCore::AccessibilityImageMapLink::title): 4608 (WebCore::AccessibilityImageMapLink::elementRect): 4609 (WebCore::AccessibilityImageMapLink::size): 4610 * page/AccessibilityImageMapLink.h: Added. 4611 (WebCore::AccessibilityImageMapLink::setHTMLAreaElement): 4612 (WebCore::AccessibilityImageMapLink::setHTMLMapElement): 4613 (WebCore::AccessibilityImageMapLink::roleValue): 4614 (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored): 4615 (WebCore::AccessibilityImageMapLink::isLink): 4616 * page/AccessibilityListBoxOption.h: 4617 * page/AccessibilityObject.cpp: 4618 (WebCore::AccessibilityObject::selectedChildren): 4619 (WebCore::AccessibilityObject::visibleChildren): 4620 * page/AccessibilityObject.h: 4621 (WebCore::): 4622 * page/AccessibilityRenderObject.cpp: 4623 (WebCore::AccessibilityRenderObject::parentObject): 4624 (WebCore::AccessibilityRenderObject::isAnchor): 4625 (WebCore::AccessibilityRenderObject::anchorElement): 4626 (WebCore::AccessibilityRenderObject::helpText): 4627 (WebCore::AccessibilityRenderObject::intValue): 4628 (WebCore::AccessibilityRenderObject::stringValue): 4629 (WebCore::AccessibilityRenderObject::title): 4630 (WebCore::AccessibilityRenderObject::accessibilityDescription): 4631 (WebCore::AccessibilityRenderObject::elementRect): 4632 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 4633 (WebCore::AccessibilityRenderObject::roleValue): 4634 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): 4635 (WebCore::AccessibilityRenderObject::addChildren): 4636 * page/AccessibilityRenderObject.h: 4637 * page/mac/AccessibilityObjectWrapper.mm: 4638 (convertToNSArray): 4639 (RoleEntry::): 4640 4641 2008-07-14 Sam Weinig <sam (a] webkit.org> 4642 4643 Rubber-stamped by David Hyatt. 4644 4645 Remove unused ExceptionCode parameter from compareDocumentPosition. 4646 4647 * dom/Document.cpp: 4648 (WebCore::Document::addStyleSheetCandidateNode): 4649 * dom/Node.cpp: 4650 (WebCore::Node::compareDocumentPosition): 4651 * dom/Node.h: 4652 * dom/Node.idl: 4653 4654 2008-07-14 David Hyatt <hyatt (a] apple.com> 4655 4656 Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>. 4657 4658 Reviewed by Sam 4659 4660 Added fast/css/style-outside-head.html 4661 Added fast/css/link-outside-head.html 4662 4663 * dom/Document.cpp: 4664 (WebCore::Document::addStyleSheetCandidateNode): 4665 (WebCore::Document::removeStyleSheetCandidateNode): 4666 (WebCore::Document::recalcStyleSelector): 4667 * dom/Document.h: 4668 * dom/Node.cpp: 4669 (WebCore::Node::compareDocumentPosition): 4670 * dom/ProcessingInstruction.cpp: 4671 (WebCore::ProcessingInstruction::checkStyleSheet): 4672 (WebCore::ProcessingInstruction::insertedIntoDocument): 4673 (WebCore::ProcessingInstruction::removedFromDocument): 4674 (WebCore::ProcessingInstruction::finishParsingChildren): 4675 * dom/ProcessingInstruction.h: 4676 (WebCore::ProcessingInstruction::setCreatedByParser): 4677 * dom/StyleElement.cpp: 4678 (WebCore::StyleElement::removedFromDocument): 4679 * dom/XMLTokenizer.cpp: 4680 (WebCore::XMLTokenizer::startElementNs): 4681 (WebCore::XMLTokenizer::processingInstruction): 4682 (WebCore::): 4683 * html/HTMLElementFactory.cpp: 4684 (WebCore::linkConstructor): 4685 * html/HTMLLinkElement.cpp: 4686 (WebCore::HTMLLinkElement::HTMLLinkElement): 4687 (WebCore::HTMLLinkElement::insertedIntoDocument): 4688 (WebCore::HTMLLinkElement::removedFromDocument): 4689 (WebCore::HTMLLinkElement::finishParsingChildren): 4690 * html/HTMLLinkElement.h: 4691 (WebCore::HTMLLinkElement::setCreatedByParser): 4692 * html/HTMLStyleElement.cpp: 4693 (WebCore::HTMLStyleElement::insertedIntoDocument): 4694 (WebCore::HTMLStyleElement::removedFromDocument): 4695 * svg/SVGStyleElement.cpp: 4696 (WebCore::SVGStyleElement::insertedIntoDocument): 4697 (WebCore::SVGStyleElement::removedFromDocument): 4698 4699 2008-07-14 Sam Weinig <sam (a] webkit.org> 4700 4701 Reviewed by Mark Rowe. 4702 4703 Sort interface extended attributes to appease *the* Mark Rowe. 4704 4705 * page/DOMWindow.idl: 4706 4707 2008-07-14 Anders Carlsson <andersca (a] apple.com> 4708 4709 Reviewed by Geoff. 4710 4711 <rdar://problem/6073974> 4712 https://bugs.webkit.org/show_bug.cgi?id=18106 4713 The "onscroll" event bubbles, which is inconsistent with Firefox and IE 4714 4715 Don't bubble the scroll event. 4716 4717 * rendering/RenderLayer.cpp: 4718 (WebCore::RenderLayer::scrollToOffset): 4719 * rendering/RenderListBox.cpp: 4720 (WebCore::RenderListBox::valueChanged): 4721 4722 2008-07-14 Adele Peterson <adele (a] apple.com> 4723 4724 Reviewed by Geoff. 4725 4726 Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings 4727 4728 The web server on this particular piece of hardware doesn't handle "text/xml" in the 4729 Accept header if the headers are sent in a certain order. Safari 2 used to send "*/*" in 4730 the Accept header. Firefox 2 sent "text/xml" but in an acceptable order for the web 4731 server. And Firefox 3 doesn't send "text/xml" at all in the Accept header since it 4732 is being deprecated in favor of "application/xml". We decided that the best solution is 4733 to match Firefox 3 and stop sending "text/xml" in the Accept header. 4734 4735 No test. There appears to be no way to get the raw headers in the original order in perl/php. 4736 4737 * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): 4738 4739 2008-07-14 Sam Weinig <sam (a] webkit.org> 4740 4741 Reviewed by Adele Peterson. 4742 4743 Fix for <rdar://problem/5769819> 4744 4745 Test: http/tests/security/cross-frame-access-object-prototype.html 4746 4747 * bindings/js/JSDOMWindowCustom.cpp: 4748 (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check. 4749 (WebCore::JSDOMWindow::defineGetter): Ditto. 4750 (WebCore::JSDOMWindow::defineSetter): Ditto. 4751 (WebCore::JSDOMWindow::lookupGetter): Ditto. 4752 (WebCore::JSDOMWindow::lookupSetter): Ditto. 4753 * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions 4754 of all the core JSObject functionality. 4755 * page/DOMWindow.idl: Override remaining core JSObject functionality, 4756 to inject security checks. 4757 4758 2008-07-14 Adam Roben <aroben (a] apple.com> 4759 4760 Windows build fixes 4761 4762 * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include 4763 path. 4764 * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM 4765 bindings to regenerate. 4766 * loader/FTPDirectoryDocument.cpp: 4767 * loader/FTPDirectoryParser.cpp: 4768 Fixed some duplicate macro definitions now that we're including 4769 pthread.h again. 4770 4771 2008-07-14 Alexey Proskuryakov <ap (a] webkit.org> 4772 4773 Reviewed by Kevin McCullough. 4774 4775 Make JSGlobalData refcounted in preparation to adding a way to create contexts that share 4776 global data. 4777 4778 * bindings/js/JSDOMWindowBase.cpp: 4779 (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method. 4780 4781 2008-07-14 Simon Hausmann <hausmann (a] webkit.org> 4782 4783 Reviewed by Holger. 4784 4785 Make listDirectory() in the Qt port work with empty namefilters. 4786 Don't include . and .. to avoid scanning the parent directory. 4787 4788 * platform/qt/FileSystemQt.cpp: 4789 (WebCore::listDirectory): 4790 4791 2008-07-14 Alexey Proskuryakov <ap (a] webkit.org> 4792 4793 Reviewed by Geoff Garen. 4794 4795 Eliminate per-thread JavaScript global data instance support and make arbitrary 4796 global data/global object combinations possible. 4797 4798 * bindings/js/JSDOMWindowBase.h: 4799 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added. 4800 WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one. 4801 4802 * bindings/js/JSDOMWindowShell.cpp: 4803 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 4804 (WebCore::JSDOMWindowShell::operator new): 4805 * bindings/js/ScriptController.cpp: 4806 (WebCore::ScriptController::clear): 4807 * bindings/scripts/CodeGeneratorJS.pm: 4808 Pass commonJSGlobalData() as an allocator. 4809 4810 * bridge/c/c_utility.cpp: 4811 (KJS::Bindings::identifierFromNPIdentifier): 4812 * bridge/jni/jni_class.cpp: 4813 (JavaClass::JavaClass): 4814 * history/CachedPage.cpp: 4815 (WebCore::CachedPage::restore): 4816 * storage/Database.cpp: 4817 (WebCore::Database::Database): 4818 * bindings/js/GCController.cpp: 4819 (WebCore::collect): 4820 (WebCore::GCController::gcTimerFired): 4821 (WebCore::GCController::garbageCollectNow): 4822 Use JSDOMWindow::commonJSGlobalData(). 4823 4824 * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so 4825 it need to be accesible outside of JSC). 4826 4827 * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData(). 4828 4829 2008-07-14 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 4830 4831 Reviewed by Simon. 4832 4833 MinGW build fixes 4834 4835 * plugins/win/PluginDatabaseWin.cpp: 4836 * plugins/win/PluginViewWin.cpp: 4837 (WebCore::PluginView::handleKeyboardEvent): 4838 (WebCore::PluginView::handleMouseEvent): 4839 * svg/SynchronizableTypeWrapper.h: 4840 (WebCore::::SynchronizableTypeWrapper): 4841 4842 2008-07-13 Sam Weinig <sam (a] webkit.org> 4843 4844 Reviewed by Oliver Hunt and Dan Bernstein. 4845 4846 Fix for <rdar://problem/5888127> 4847 https://bugs.webkit.org/show_bug.cgi?id=18699 4848 4849 - Match Firefox in restricting the size of custom cursor to images to 4850 128x128 px. 4851 - Restrict custom cursor hotspots to values within the bounds of the 4852 cursor image. 4853 4854 * manual-tests/cursor-max-size.html: Added. 4855 * page/EventHandler.cpp: 4856 (WebCore::EventHandler::selectCursor): 4857 4858 2008-07-13 Kevin Ollivier <kevino (a] theolliviers.com> 4859 4860 wx build fix. 4861 4862 * platform/graphics/wx/AffineTransformWx.cpp: 4863 (WebCore::AffineTransform::a): 4864 (WebCore::AffineTransform::b): 4865 (WebCore::AffineTransform::c): 4866 (WebCore::AffineTransform::d): 4867 (WebCore::AffineTransform::e): 4868 (WebCore::AffineTransform::f): 4869 4870 2008-07-12 Dan Bernstein <mitz (a] apple.com> 4871 4872 Reviewed by Oliver Hunt. 4873 4874 - fix https://bugs.webkit.org/show_bug.cgi?id=18088 4875 <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue 4876 4877 Test: fast/block/basic/min-pref-width-nowrap-floats.html 4878 4879 * rendering/RenderBlock.cpp: 4880 (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a 4881 float's width was added to the minimum preferred widths instead of just 4882 acting as a lower bound on the minimum preferred width (since the float 4883 can always be pushed down to be the only thing on the line). 4884 4885 2008-07-12 David D. Kilzer <ddkilzer (a] webkit.org> 4886 4887 Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page 4888 4889 <https://bugs.webkit.org/show_bug.cgi?id=13067> 4890 4891 Reviewed by Darin. 4892 4893 Test: WebCore/manual-tests/hash-ref.html 4894 4895 * loader/FrameLoader.cpp: 4896 (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer, 4897 FrameLoadType newLoadType, const String& frameName, Event* event, 4898 PassRefPtr<FormState> formState)): Extracted logic into 4899 shouldScrollToAnchor() for determining when to scroll to an anchor. 4900 4901 (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type, 4902 PassRefPtr<FormState> formState)): Added check for 4903 shouldScrollToAnchor() to catch cases when the user manually added a 4904 hash ref to the URL in the address bar. This is the bug fix. 4905 4906 (WebCore::FrameLoader::shouldReload): Simplified early return logic. 4907 We only need to check if the destinationURL has a hash ref, not the 4908 currentURL, per the comment in the method. 4909 4910 (WebCore::FrameLoader::shouldScrollToAnchor): Added. Logic extracted 4911 from the FrameLoader::load(const KURL& newURL, ...) method. Fixed order 4912 of arguments to shouldReload() since they were backwards, although the 4913 previous logic in the method made this irrelevant. 4914 4915 (WebCore::FrameLoader::loadItem): Removed call to shouldReload(). Since 4916 we're navigating to a HistoryItem, it doesn't make sense to ask whether 4917 we need to reload the page or not. Additionally, the logic at the end 4918 of shouldReload() is also checked in urlsMatchItem(), so there's no need 4919 to call the method. This fixed the fast/css/target-fragment-match.html 4920 test from continuously reloading after the other changes. 4921 4922 * loader/FrameLoader.h: 4923 (WebCore::FrameLoader::shouldScrollToAnchor): Added. 4924 4925 * manual-tests/hash-ref.html: Added. 4926 * manual-tests/resources/hash-ref-test.html: Added. 4927 4928 2008-07-11 Stephanie Lewis <slewis (a] apple.com> 4929 4930 Reviewed by Darin Adler. 4931 4932 No Functionality Changed. Change all the leak counting code to use the new WTF leak counter class. 4933 4934 * bindings/js/JSCustomSQLTransactionCallback.cpp: 4935 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): 4936 (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback): 4937 * bindings/js/JSEventListener.cpp: 4938 (WebCore::JSEventListener::JSEventListener): 4939 (WebCore::JSEventListener::~JSEventListener): 4940 * dom/Node.cpp: 4941 (WebCore::Node::Node): 4942 (WebCore::Node::~Node): 4943 * dom/Range.cpp: 4944 (WebCore::Range::Range): 4945 (WebCore::Range::~Range): 4946 * history/CachedPage.cpp: 4947 (WebCore::CachedPage::CachedPage): 4948 (WebCore::CachedPage::~CachedPage): 4949 * loader/SubresourceLoader.cpp: 4950 (WebCore::SubresourceLoader::SubresourceLoader): 4951 (WebCore::SubresourceLoader::~SubresourceLoader): 4952 * page/Frame.cpp: 4953 (WebCore::Frame::Frame): 4954 (WebCore::Frame::~Frame): 4955 * page/Page.cpp: 4956 (WebCore::Page::Page): 4957 (WebCore::Page::~Page): 4958 * rendering/RenderObject.cpp: 4959 (WebCore::RenderObject::RenderObject): 4960 (WebCore::RenderObject::~RenderObject): 4961 * rendering/bidi.cpp: 4962 (WebCore::throw): 4963 (WebCore::BidiRun::operator delete): 4964 4965 2008-07-11 Sam Weinig <sam (a] webkit.org> 4966 4967 Reviewed by Mark Rowe. 4968 4969 Update getSubStringLength and selectSubString methods exception throwing conditions 4970 based on SVG working group errata. 4971 4972 Test: svg/custom/selectSubString.html 4973 4974 * svg/SVGTextContentElement.cpp: 4975 (WebCore::SVGTextContentElement::getSubStringLength): 4976 (WebCore::SVGTextContentElement::selectSubString): 4977 4978 2008-07-11 Sam Weinig <sam (a] webkit.org> 4979 4980 Reviewed by Mark Rowe. 4981 4982 We can only use the Id fast path for querySelector and querySelectorAll 4983 if the selector is purely an Id selector. 4984 4985 Test: fast/dom/SelectorAPI/id-fastpath.html 4986 4987 * dom/Node.cpp: 4988 (WebCore::Node::querySelector): 4989 * dom/SelectorNodeList.cpp: 4990 (WebCore::createSelectorNodeList): 4991 4992 2008-07-11 David Hyatt <hyatt (a] apple.com> 4993 4994 Implement the DOM level 3 compareDocumentPosition method on Node. 4995 4996 Reviewed by Darin 4997 4998 * dom/Node.cpp: 4999 (WebCore::Node::compareDocumentPosition): 5000 * dom/Node.h: 5001 * dom/Node.idl: 5002 5003 2008-07-11 Brady Eidson <beidson (a] apple.com> 5004 5005 Rubberstamped by Sam 5006 5007 Removed unneeded export 5008 5009 * WebCore.base.exp: 5010 5011 2008-07-11 Kevin McCullough <kmccullough (a] apple.com> 5012 5013 Reviewed by Geoff. 5014 5015 <rdar://problem/6067178> REGRESSION: Start profile button in profiler 5016 now profiles inspector rather than actual page (19833) 5017 - The JSQuarantinedObjectWrapper should use the wrapped exec state 5018 so that calls to it execute in its quarantined world. 5019 5020 * bindings/js/JSQuarantinedObjectWrapper.cpp: 5021 (WebCore::JSQuarantinedObjectWrapper::construct): 5022 (WebCore::JSQuarantinedObjectWrapper::call): 5023 5024 2008-07-11 Simon Fraser <simon.fraser (a] apple.com> 5025 5026 Reviewed by Dave Hyatt 5027 5028 StyleRareNonInheritedData needs to initialize and compare 5029 m_maskBoxImage. 5030 <https://bugs.webkit.org/show_bug.cgi?id=20005> 5031 5032 * rendering/style/RenderStyle.cpp: 5033 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 5034 (WebCore::StyleRareNonInheritedData::operator==): 5035 5036 2008-07-11 Simon Fraser <simon.fraser (a] apple.com> 5037 5038 Reviewed by Dave Hyatt 5039 5040 Bug 18885: RenderLayer::enclosingPositionedAncestor() should 5041 look for transforms, since transforms create containing 5042 blocks. 5043 <https://bugs.webkit.org/show_bug.cgi?id=18885> 5044 5045 Test: fast/transforms/transform-positioned-ancestor.html 5046 5047 * rendering/RenderLayer.cpp: 5048 (WebCore::RenderLayer::stackingContext): 5049 (WebCore::RenderLayer::enclosingPositionedAncestor): 5050 (WebCore::RenderLayer::enclosingTransformedAncestor): 5051 5052 2008-07-11 Jacob Refstrup <jacob.refstrup (a] hp.com> 5053 5054 Reviewed by Darin Adler 5055 5056 http://bugs.webkit.org/show_bug.cgi?id=19978 5057 GTK port always ends up with # at the end of resource URLs (and hence can't load files) 5058 5059 - Optimized KURL::removeRef() and used it rather than setRef("") 5060 which after r35040 does the wrong thing. 5061 5062 * platform/KURL.cpp: 5063 (WebCore::KURL::removeRef): 5064 * platform/network/curl/ResourceHandleManager.cpp: 5065 (WebCore::ResourceHandleManager::initializeHandle): 5066 5067 2008-07-11 Simon Hausmann <hausmann (a] webkit.org> 5068 5069 Fix the Qt/Windows build, include windows.h for HWND directly 5070 instead of implicit inclusion through Timer.h. 5071 5072 * plugins/win/PluginMessageThrottlerWin.h: 5073 5074 2008-07-11 Dan Bernstein <mitz (a] apple.com> 5075 5076 Reviewed by Darin Adler. 5077 5078 - fix popularity tracking for cached resources, which regressed in r23923 5079 5080 * loader/Cache.cpp: 5081 (WebCore::Cache::requestResource): Changed to increase the access count 5082 whenever this function returns a CachedResource and the cache is 5083 enabled, instead of only when creating a new CachedResources. The 5084 incorrect behavior resulted in all resources in the cache having an 5085 access count of exactly 1 at all times. 5086 (WebCore::Cache::requestUserCSSStyleSheet): Ditto. 5087 5088 2008-07-11 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 5089 5090 Reviewed by Simon. 5091 5092 Enable Netscape plugins for the Qt/Windows build. 5093 5094 This required various smaller fixes across a wider set of 5095 files described below. 5096 5097 * WebCore.pro: Add various windows specific files to the build. 5098 * page/Page.h: Extend the #ifdeffery for windows types to include the 5099 Qt/Windows build. 5100 * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for 5101 the Qt port, as PluginViewWin.cpp uses it. 5102 * platform/graphics/qt/GraphicsContextQt.cpp: 5103 (WebCore::GraphicsContext::inTransparencyLayer): Implemented function. 5104 * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they 5105 are now implemented through *Win.cpp files. 5106 * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS. 5107 * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS. 5108 (WebCore::PluginView::setFrameGeometry): Ditto. 5109 (WebCore::PluginView::PluginView): Ditto. 5110 * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef, 5111 which expands to HWND directly for the Qt/Windows build and 5112 PlatformWidget for the remaining platforms. That is because 5113 PlatformWidget is QWidget* for the Qt build but for the plugin 5114 window we need a native window, aka HWND. 5115 * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h 5116 after config.h. 5117 * plugins/win/PluginViewWin.cpp: 5118 (windowHandleForPlatformWidget): Added a little helper function to 5119 determine the HWND from a PlatformWidget. 5120 (WebCore::registerPluginView): For the Qt port we need to set the 5121 global application instance handle here in the library, as the 5122 browser doesn't do it. 5123 (WebCore::PluginView::handleMouseEvent): Mask out 5124 ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used. 5125 (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT 5126 manually just here to avoid compiling in IntRectWin.cpp. 5127 (WebCore::PluginView::invalidateRegion): Ditto. 5128 (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget 5129 on containingWindow() to get the correct HWND for the Qt port. 5130 (WebCore::PluginView::init): Determine the parent HWND for m_window 5131 using windowHandleForPlatformWidget. 5132 5133 2008-07-11 Simon Hausmann <hausmann (a] webkit.org> 5134 5135 Rubber-stamped by Holger. 5136 5137 Enable Database and Icondatabase functionality for the Qt/Windows 5138 build when building inside Qt, as we can use the builtin copy of 5139 sqlite then. 5140 5141 * WebCore.pro: 5142 5143 2008-07-11 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 5144 5145 Reviewed by Adam Roben. 5146 5147 Fix compile with MinGW since it does not like friend static function. 5148 5149 * plugins/PluginView.h: 5150 * plugins/win/PluginViewWin.cpp: 5151 5152 2008-07-11 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 5153 5154 Reviewed by Simon. 5155 5156 Fix Qt/Win32 build. 5157 5158 * platform/graphics/qt/GraphicsContextQt.cpp: 5159 5160 2008-07-10 Sam Weinig <sam (a] webkit.org> 5161 5162 Reviewed by Oliver Hunt. 5163 5164 Add support for NSResolver to resolve namespaces for querySelector 5165 and querySelectorAll. 5166 5167 - Namespace resolution is done after parsing by iterating over all the 5168 parts of the CSSSelector. 5169 5170 Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml 5171 fast/dom/SelectorAPI/NSResolver-exceptions.xhtml 5172 5173 * GNUmakefile.am: Updated with new files. 5174 * WebCore.pro: Ditto. 5175 * WebCore.vcproj/WebCore.vcproj: Ditto. 5176 * WebCore.xcodeproj/project.pbxproj: Ditto. 5177 * WebCoreSources.bkl: Ditto. 5178 5179 * bindings/js/JSDOMBinding.cpp: 5180 (WebCore::execStateFromNode): 5181 * bindings/js/JSDOMBinding.h: 5182 Move execStateFromNode here from NodeFilter. 5183 5184 * bindings/js/JSDocumentCustom.cpp: 5185 (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver 5186 and instead create one if the argument is not undefined or null. 5187 (WebCore::JSDocument::querySelectorAll): Ditto. 5188 * bindings/js/JSDocumentFragmentCustom.cpp: 5189 (WebCore::JSDocumentFragment::querySelector): Ditto. 5190 (WebCore::JSDocumentFragment::querySelectorAll): Ditto. 5191 * bindings/js/JSElementCustom.cpp: 5192 (WebCore::JSElement::querySelector): Ditto. 5193 (WebCore::JSElement::querySelectorAll): Ditto. 5194 5195 * bindings/js/JSNSResolver.cpp: Added. 5196 (WebCore::JSNSResolver::JSNSResolver): 5197 (WebCore::JSNSResolver::mark): 5198 (WebCore::JSNSResolver::lookupNamespaceURI): Try and get the function 5199 from the passed in argument, either the value itself, or the result of 5200 getting the lookupNamespaceURI property, and call it. 5201 (WebCore::toNSResolver): 5202 * bindings/js/JSNSResolver.h: Added. 5203 (WebCore::JSNSResolver::create): 5204 5205 * dom/Document.idl: Update with NSResolver parameter. 5206 * dom/DocumentFragment.idl: Ditto. 5207 * dom/Element.idl: Ditto. 5208 5209 * dom/NSResolver.h: Added. 5210 (WebCore::NSResolver::~NSResolver): 5211 (WebCore::NSResolver::mark): 5212 Abstract base class. 5213 5214 * dom/NSResolver.idl: Added. 5215 5216 * dom/Node.cpp: 5217 (WebCore::forEachTagSelector): 5218 (WebCore::forEachSelector): 5219 Functions to iterate over all parts of the selector. 5220 5221 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()): 5222 Functor to be passed to forEachSelector to determine if a selector 5223 needs namespace resolution, for the case when no NSResolver is passed 5224 and we need to determine whether to throw a NAMESPACE_ERR. 5225 5226 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor): 5227 (WebCore::ResolveNamespaceFunctor::operator()): 5228 Functor to resolve namespaces for the selector. 5229 5230 (WebCore::selectorNeedsNamespaceResolution): 5231 (WebCore::resolveNamespacesForSelector): 5232 (WebCore::Node::querySelector): Resolve namepspaces, including the defaultNamespace 5233 if a NSResolver is passed in. 5234 (WebCore::Node::querySelectorAll): Ditto. 5235 * dom/Node.h: 5236 5237 * dom/NodeFilter.cpp: 5238 * dom/NodeFilter.h: 5239 * dom/NodeIterator.h: 5240 (WebCore::NodeIterator::nextNode): 5241 (WebCore::NodeIterator::previousNode): 5242 * dom/TreeWalker.h: 5243 (WebCore::TreeWalker::parentNode): 5244 (WebCore::TreeWalker::firstChild): 5245 (WebCore::TreeWalker::lastChild): 5246 (WebCore::TreeWalker::previousSibling): 5247 (WebCore::TreeWalker::nextSibling): 5248 (WebCore::TreeWalker::previousNode): 5249 (WebCore::TreeWalker::nextNode): 5250 Use the version of execStateFromNode in JSDOMBinding. 5251 5252 2008-07-10 Mark Rowe <mrowe (a] apple.com> 5253 5254 Reviewed by Sam Weinig. 5255 5256 Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute. 5257 5258 * Configurations/WebCore.xcconfig: 5259 5260 2008-07-10 Dean Jackson <dino (a] apple.com> 5261 5262 Reviewed by hyatt. 5263 5264 Calculate computed style for -webkit-transform property 5265 https://bugs.webkit.org/show_bug.cgi?id=19864 5266 5267 Test: css3/transform-computed-style-001.html 5268 5269 * css/CSSComputedStyleDeclaration.cpp: 5270 (WebCore::computedTransform): 5271 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 5272 handles -webkit-transform property now 5273 * manual-tests/computed-transform-value.html: Added. 5274 5275 2008-07-10 Dan Bernstein <mitz (a] apple.com> 5276 5277 Reviewed by Adam Roben. 5278 5279 - fix a parse error in inspector.js 5280 5281 * page/inspector/inspector.js: Added missing brace. 5282 5283 2008-07-10 Adam Roben <aroben (a] apple.com> 5284 5285 Build fix 5286 5287 * WebCore.vcproj/QTMovieWin.vcproj: Add 5288 OSXCompatibilityHeaders[/GNUCompatibility] to the include path. 5289 5290 2008-07-10 Chris Fleizach <cfleizach (a] apple.com> 5291 5292 Reviewed by Dan Bernstein 5293 5294 <rdar://problem/6067408> AX: internal anchors broken 5295 5296 * page/AccessibilityRenderObject.cpp: 5297 (WebCore::AccessibilityRenderObject::internalLinkElement): 5298 * platform/KURL.cpp: 5299 (WebCore::KURL::removeRef): 5300 * platform/KURL.h: 5301 5302 2008-07-10 Mark Rowe <mrowe (a] apple.com> 5303 5304 Build fix. 5305 5306 * bridge/npapi.h: Remove extra comma. 5307 5308 2008-07-10 Sam Weinig <sam (a] webkit.org> 5309 5310 Reviewed by Mark Rowe. 5311 5312 Remove no-op debug method. 5313 5314 * css/CSSSelector.cpp: 5315 * css/CSSSelector.h: 5316 5317 2008-07-10 Sam Weinig <sam (a] webkit.org> 5318 5319 Reviewed by Dave Hyatt and Darin Adler. 5320 5321 Add support for calling querySelector and querySelectorAll on DocumentFragments 5322 5323 - Fixes bug where nodes not in the document tree would not match based on ID due 5324 to over optimization. 5325 5326 Test: fast/dom/SelectorAPI/detached-element.html 5327 5328 * GNUmakefile.am: 5329 * WebCore.pro: 5330 * WebCore.vcproj/WebCore.vcproj: 5331 * WebCore.xcodeproj/project.pbxproj: 5332 * WebCoreSources.bkl: 5333 * bindings/js/JSDocumentFragmentCustom.cpp: Added. 5334 (WebCore::JSDocumentFragment::querySelector): Add custom code matching JSElement 5335 and JSDocument that checks for a 2nd arguments and throws an exception indicating 5336 we do not currently support the optional NSResolver part of the Selectors API spec. 5337 (WebCore::JSDocumentFragment::querySelectorAll): Ditto. 5338 * dom/DocumentFragment.idl: Add querySelector and querySelectorAll declarations. 5339 5340 * dom/Node.cpp: 5341 (WebCore::Node::querySelector): Make the CSS parser parse the selector 5342 according to the strictness of the document so that mixed case ID selectors 5343 match in quirks mode. Also, don't use the fast ID path if the root is not 5344 in the DOM tree, as it won't work. 5345 (WebCore::Node::querySelectorAll): Ditto. 5346 * dom/SelectorNodeList.cpp: 5347 (WebCore::createSelectorNodeList): Don't use the fast ID path if the root is not 5348 in the DOM tree, as it won't work. 5349 5350 2008-07-10 Anthony Ricaud <rik24d (a] gmail.com> 5351 5352 Bug 19389: querySelectorAll exception while searching invalid CSS selector 5353 <https://bugs.webkit.org/show_bug.cgi?id=19389> 5354 5355 Reviewed by Tim Hatcher. 5356 5357 * page/inspector/inspector.js: Added a try/catch block. 5358 5359 2008-07-10 Brent Fulgham <bfulgham (a] gmail.com> 5360 5361 Correct a build regression due to an uninitialized variable. 5362 5363 <https://bugs.webkit.org/show_bug.cgi?id=19976> 5364 5365 Reviewed by Darin. 5366 5367 * platform/graphics/cairo/FontCairo.cpp: 5368 (WebCore::Font::drawGlyphs): 5369 5370 2008-07-10 Adam Roben <aroben (a] apple.com> 5371 5372 Fix Bug 19580: REGRESSION (r34432): PGO-only crash in 5373 HTMLCollection::resetCollectionInfo (codegen issue?) 5374 5375 <https://bugs.webkit.org/show_bug.cgi?id=19580> 5376 <rdar://6029794> 5377 5378 Reviewed by Cameron Zwarich. 5379 5380 * WebCore.vcproj/WebCore.vcproj: Disable LTCG for HTMLFormElement.cpp, 5381 which was causing some bad codegen in HTMLFormElement::elements. 5382 * html/HTMLFormElement.cpp: Touched this file to force it to rebuild. 5383 5384 2008-07-10 Anders Carlsson <andersca (a] apple.com> 5385 5386 Reviewed by Jon. 5387 5388 <rdar://problem/6067135> 5389 WebKit should respond true to a query for NPNVSupportsWindowless. 5390 5391 Handle NPNVSupportsWindowless and return true. 5392 5393 * bridge/npapi.h: 5394 * plugins/win/PluginViewWin.cpp: 5395 (WebCore::PluginView::getValue): 5396 5397 2008-07-10 Kevin McCullough <kmccullough (a] apple.com> 5398 5399 Reviewed by Darin. 5400 5401 -Minor cleanup. Renamed callTree() to head() and no longer use m_head 5402 directly but instead keep it private and access via a method(). 5403 5404 * page/JavaScriptProfile.cpp: 5405 (WebCore::getHeadCallback): 5406 5407 2008-07-10 Simon Fraser <simon.fraser (a] apple.com> 5408 5409 When a mask image changes, ensure that elements 5410 that use that mask image are repainted correctly. 5411 5412 <https://bugs.webkit.org/show_bug.cgi?id=19954> 5413 5414 Reviewed by Dave Hyatt 5415 5416 * manual-tests/canvas-mask-redraw.html 5417 Manual testcase 5418 * rendering/RenderBox.cpp: 5419 (WebCore::RenderBox::imageChanged): 5420 (WebCore::RenderBox::repaintLayerRectsForImage): 5421 * rendering/RenderBox.h: 5422 Loop through background layers and mask layers, and 5423 if this image is used in a layer, compute a repaint 5424 rect and repaint. 5425 * rendering/RenderImage.cpp: 5426 (WebCore::RenderImage::imageChanged): 5427 If this image has a mask, call the base class method. 5428 * rendering/RenderObject.cpp: 5429 Remove a bogus 'return'. 5430 5431 2008-07-10 Simon Fraser <simon.fraser (a] apple.com> 5432 5433 Transforms create a containing block, so 5434 RenderLayer::shouldBeOverflowOnly() needs to look for transforms. 5435 <https://bugs.webkit.org/show_bug.cgi?id=18886> 5436 5437 Reviewed by Dave Hyatt 5438 5439 Test: fast/transforms/transform-overflow.html 5440 5441 * rendering/RenderLayer.cpp: 5442 (WebCore::RenderLayer::shouldBeOverflowOnly): 5443 5444 2008-07-09 Alex Mathews <possessedpenguinbob (a] gmail.com> 5445 5446 Reviewed by Oliver Hunt. 5447 5448 bug 19835: WebKit needs cross-platform filter system 5449 <https://bugs.webkit.org/show_bug.cgi?id=19835> 5450 5451 More class refactoring in preparation for cross-platform filter 5452 implementation. 5453 5454 * WebCore.xcodeproj/project.pbxproj: 5455 * rendering/SVGRenderTreeAsText.h: 5456 (WebCore::operator<<): 5457 * svg/FilterEffect.cpp: 5458 (WebCore::FilterEffect::externalRepresentation): 5459 * svg/FilterEffect.h: 5460 * svg/SVGFEBlendElement.cpp: 5461 (WebCore::SVGFEBlendElement::build): 5462 * svg/SVGFEBlendElement.h: 5463 * svg/SVGFEColorMatrixElement.cpp: 5464 (WebCore::SVGFEColorMatrixElement::build): 5465 * svg/SVGFEColorMatrixElement.h: 5466 * svg/SVGFEComponentTransferElement.cpp: 5467 (WebCore::SVGFEComponentTransferElement::build): 5468 * svg/SVGFEComponentTransferElement.h: 5469 * svg/SVGFECompositeElement.cpp: 5470 (WebCore::SVGFECompositeElement::build): 5471 * svg/SVGFECompositeElement.h: 5472 * svg/SVGFEDiffuseLightingElement.cpp: 5473 (WebCore::SVGFEDiffuseLightingElement::filterEffect): 5474 (WebCore::SVGFEDiffuseLightingElement::build): 5475 (WebCore::SVGFEDiffuseLightingElement::findLights): 5476 * svg/SVGFEDiffuseLightingElement.h: 5477 * svg/SVGFEDisplacementMapElement.cpp: 5478 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): 5479 (WebCore::SVGFEDisplacementMapElement::stringToChannel): 5480 (WebCore::SVGFEDisplacementMapElement::filterEffect): 5481 (WebCore::SVGFEDisplacementMapElement::build): 5482 * svg/SVGFEDisplacementMapElement.h: 5483 * svg/SVGFEFloodElement.cpp: 5484 (WebCore::SVGFEFloodElement::filterEffect): 5485 (WebCore::SVGFEFloodElement::build): 5486 * svg/SVGFEFloodElement.h: 5487 (WebCore::SVGFEFloodElement::contextElement): 5488 * svg/SVGFEGaussianBlurElement.cpp: 5489 (WebCore::SVGFEGaussianBlurElement::filterEffect): 5490 (WebCore::SVGFEGaussianBlurElement::build): 5491 * svg/SVGFEGaussianBlurElement.h: 5492 * svg/SVGFEImageElement.cpp: 5493 (WebCore::SVGFEImageElement::filterEffect): 5494 (WebCore::SVGFEImageElement::build): 5495 * svg/SVGFEImageElement.h: 5496 * svg/SVGFEMergeElement.cpp: 5497 (WebCore::SVGFEMergeElement::filterEffect): 5498 (WebCore::SVGFEMergeElement::build): 5499 * svg/SVGFEMergeElement.h: 5500 (WebCore::SVGFEMergeElement::contextElement): 5501 * svg/SVGFEOffsetElement.cpp: 5502 (WebCore::SVGFEOffsetElement::filterEffect): 5503 (WebCore::SVGFEOffsetElement::build): 5504 * svg/SVGFEOffsetElement.h: 5505 * svg/SVGFESpecularLightingElement.cpp: 5506 (WebCore::SVGFESpecularLightingElement::filterEffect): 5507 (WebCore::SVGFESpecularLightingElement::findLights): 5508 (WebCore::SVGFESpecularLightingElement::build): 5509 * svg/SVGFESpecularLightingElement.h: 5510 * svg/SVGFETileElement.cpp: 5511 (WebCore::SVGFETileElement::filterEffect): 5512 (WebCore::SVGFETileElement::build): 5513 * svg/SVGFETileElement.h: 5514 * svg/SVGFETurbulenceElement.cpp: 5515 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement): 5516 (WebCore::SVGFETurbulenceElement::parseMappedAttribute): 5517 (WebCore::SVGFETurbulenceElement::filterEffect): 5518 (WebCore::SVGFETurbulenceElement::build): 5519 * svg/SVGFETurbulenceElement.h: 5520 * svg/SVGFilterPrimitiveStandardAttributes.h: 5521 * svg/graphics/filters/SVGFEConvolveMatrix.cpp: 5522 (WebCore::FEConvolveMatrix::FEConvolveMatrix): 5523 (WebCore::FEConvolveMatrix::create): 5524 (WebCore::FEConvolveMatrix::kernelSize): 5525 (WebCore::FEConvolveMatrix::setKernelSize): 5526 (WebCore::FEConvolveMatrix::kernel): 5527 (WebCore::FEConvolveMatrix::setKernel): 5528 (WebCore::FEConvolveMatrix::divisor): 5529 (WebCore::FEConvolveMatrix::setDivisor): 5530 (WebCore::FEConvolveMatrix::bias): 5531 (WebCore::FEConvolveMatrix::setBias): 5532 (WebCore::FEConvolveMatrix::targetOffset): 5533 (WebCore::FEConvolveMatrix::setTargetOffset): 5534 (WebCore::FEConvolveMatrix::edgeMode): 5535 (WebCore::FEConvolveMatrix::setEdgeMode): 5536 (WebCore::FEConvolveMatrix::kernelUnitLength): 5537 (WebCore::FEConvolveMatrix::setKernelUnitLength): 5538 (WebCore::FEConvolveMatrix::preserveAlpha): 5539 (WebCore::FEConvolveMatrix::setPreserveAlpha): 5540 (WebCore::FEConvolveMatrix::apply): 5541 (WebCore::FEConvolveMatrix::dump): 5542 (WebCore::operator<<): 5543 (WebCore::FEConvolveMatrix::externalRepresentation): 5544 * svg/graphics/filters/SVGFEConvolveMatrix.h: 5545 (WebCore::): 5546 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: 5547 (WebCore::FEDiffuseLighting::FEDiffuseLighting): 5548 (WebCore::FEDiffuseLighting::create): 5549 (WebCore::FEDiffuseLighting::~FEDiffuseLighting): 5550 (WebCore::FEDiffuseLighting::lightingColor): 5551 (WebCore::FEDiffuseLighting::setLightingColor): 5552 (WebCore::FEDiffuseLighting::surfaceScale): 5553 (WebCore::FEDiffuseLighting::setSurfaceScale): 5554 (WebCore::FEDiffuseLighting::diffuseConstant): 5555 (WebCore::FEDiffuseLighting::setDiffuseConstant): 5556 (WebCore::FEDiffuseLighting::kernelUnitLengthX): 5557 (WebCore::FEDiffuseLighting::setKernelUnitLengthX): 5558 (WebCore::FEDiffuseLighting::kernelUnitLengthY): 5559 (WebCore::FEDiffuseLighting::setKernelUnitLengthY): 5560 (WebCore::FEDiffuseLighting::lightSource): 5561 (WebCore::FEDiffuseLighting::setLightSource): 5562 (WebCore::FEDiffuseLighting::apply): 5563 (WebCore::FEDiffuseLighting::dump): 5564 (WebCore::FEDiffuseLighting::externalRepresentation): 5565 * svg/graphics/filters/SVGFEDiffuseLighting.h: 5566 * svg/graphics/filters/SVGFEDisplacementMap.cpp: 5567 (WebCore::FEDisplacementMap::FEDisplacementMap): 5568 (WebCore::FEDisplacementMap::create): 5569 (WebCore::FEDisplacementMap::xChannelSelector): 5570 (WebCore::FEDisplacementMap::setXChannelSelector): 5571 (WebCore::FEDisplacementMap::yChannelSelector): 5572 (WebCore::FEDisplacementMap::setYChannelSelector): 5573 (WebCore::FEDisplacementMap::scale): 5574 (WebCore::FEDisplacementMap::setScale): 5575 (WebCore::FEDisplacementMap::apply): 5576 (WebCore::FEDisplacementMap::dump): 5577 (WebCore::operator<<): 5578 (WebCore::FEDisplacementMap::externalRepresentation): 5579 * svg/graphics/filters/SVGFEDisplacementMap.h: 5580 (WebCore::): 5581 * svg/graphics/filters/SVGFEFlood.cpp: 5582 (WebCore::FEFlood::FEFlood): 5583 (WebCore::FEFlood::create): 5584 (WebCore::FEFlood::floodColor): 5585 (WebCore::FEFlood::setFloodColor): 5586 (WebCore::FEFlood::floodOpacity): 5587 (WebCore::FEFlood::setFloodOpacity): 5588 (WebCore::FEFlood::apply): 5589 (WebCore::FEFlood::dump): 5590 (WebCore::FEFlood::externalRepresentation): 5591 * svg/graphics/filters/SVGFEFlood.h: 5592 * svg/graphics/filters/SVGFEGaussianBlur.cpp: 5593 (WebCore::FEGaussianBlur::FEGaussianBlur): 5594 (WebCore::FEGaussianBlur::create): 5595 (WebCore::FEGaussianBlur::stdDeviationX): 5596 (WebCore::FEGaussianBlur::setStdDeviationX): 5597 (WebCore::FEGaussianBlur::stdDeviationY): 5598 (WebCore::FEGaussianBlur::setStdDeviationY): 5599 (WebCore::FEGaussianBlur::apply): 5600 (WebCore::FEGaussianBlur::dump): 5601 (WebCore::FEGaussianBlur::externalRepresentation): 5602 * svg/graphics/filters/SVGFEGaussianBlur.h: 5603 * svg/graphics/filters/SVGFEImage.cpp: 5604 (WebCore::FEImage::FEImage): 5605 (WebCore::FEImage::create): 5606 (WebCore::FEImage::~FEImage): 5607 (WebCore::FEImage::cachedImage): 5608 (WebCore::FEImage::apply): 5609 (WebCore::FEImage::dump): 5610 (WebCore::FEImage::externalRepresentation): 5611 * svg/graphics/filters/SVGFEImage.h: 5612 * svg/graphics/filters/SVGFEMerge.cpp: 5613 (WebCore::FEMerge::FEMerge): 5614 (WebCore::FEMerge::create): 5615 (WebCore::FEMerge::mergeInputs): 5616 (WebCore::FEMerge::setMergeInputs): 5617 (WebCore::FEMerge::apply): 5618 (WebCore::FEMerge::dump): 5619 (WebCore::FEMerge::externalRepresentation): 5620 * svg/graphics/filters/SVGFEMerge.h: 5621 * svg/graphics/filters/SVGFEMorphology.cpp: 5622 (WebCore::FEMorphology::FEMorphology): 5623 (WebCore::FEMorphology::create): 5624 (WebCore::FEMorphology::morphologyOperator): 5625 (WebCore::FEMorphology::setMorphologyOperator): 5626 (WebCore::FEMorphology::radiusX): 5627 (WebCore::FEMorphology::setRadiusX): 5628 (WebCore::FEMorphology::radiusY): 5629 (WebCore::FEMorphology::setRadiusY): 5630 (WebCore::FEMorphology::apply): 5631 (WebCore::FEMorphology::dump): 5632 (WebCore::operator<<): 5633 (WebCore::FEMorphology::externalRepresentation): 5634 * svg/graphics/filters/SVGFEMorphology.h: 5635 (WebCore::): 5636 * svg/graphics/filters/SVGFEOffset.cpp: 5637 (WebCore::FEOffset::FEOffset): 5638 (WebCore::FEOffset::create): 5639 (WebCore::FEOffset::dx): 5640 (WebCore::FEOffset::setDx): 5641 (WebCore::FEOffset::dy): 5642 (WebCore::FEOffset::setDy): 5643 (WebCore::FEOffset::apply): 5644 (WebCore::FEOffset::dump): 5645 (WebCore::FEOffset::externalRepresentation): 5646 * svg/graphics/filters/SVGFEOffset.h: 5647 * svg/graphics/filters/SVGFESpecularLighting.cpp: 5648 (WebCore::FESpecularLighting::FESpecularLighting): 5649 (WebCore::FESpecularLighting::create): 5650 (WebCore::FESpecularLighting::~FESpecularLighting): 5651 (WebCore::FESpecularLighting::lightingColor): 5652 (WebCore::FESpecularLighting::setLightingColor): 5653 (WebCore::FESpecularLighting::surfaceScale): 5654 (WebCore::FESpecularLighting::setSurfaceScale): 5655 (WebCore::FESpecularLighting::specularConstant): 5656 (WebCore::FESpecularLighting::setSpecularConstant): 5657 (WebCore::FESpecularLighting::specularExponent): 5658 (WebCore::FESpecularLighting::setSpecularExponent): 5659 (WebCore::FESpecularLighting::kernelUnitLengthX): 5660 (WebCore::FESpecularLighting::setKernelUnitLengthX): 5661 (WebCore::FESpecularLighting::kernelUnitLengthY): 5662 (WebCore::FESpecularLighting::setKernelUnitLengthY): 5663 (WebCore::FESpecularLighting::lightSource): 5664 (WebCore::FESpecularLighting::setLightSource): 5665 (WebCore::FESpecularLighting::apply): 5666 (WebCore::FESpecularLighting::dump): 5667 (WebCore::FESpecularLighting::externalRepresentation): 5668 * svg/graphics/filters/SVGFESpecularLighting.h: 5669 * svg/graphics/filters/SVGFETile.cpp: 5670 (WebCore::FETile::FETile): 5671 (WebCore::FETile::create): 5672 (WebCore::FETile::apply): 5673 (WebCore::FETile::dump): 5674 (WebCore::FETile::externalRepresentation): 5675 * svg/graphics/filters/SVGFETile.h: 5676 * svg/graphics/filters/SVGFETurbulence.cpp: 5677 (WebCore::FETurbulence::FETurbulence): 5678 (WebCore::FETurbulence::create): 5679 (WebCore::FETurbulence::type): 5680 (WebCore::FETurbulence::setType): 5681 (WebCore::FETurbulence::baseFrequencyY): 5682 (WebCore::FETurbulence::setBaseFrequencyY): 5683 (WebCore::FETurbulence::baseFrequencyX): 5684 (WebCore::FETurbulence::setBaseFrequencyX): 5685 (WebCore::FETurbulence::seed): 5686 (WebCore::FETurbulence::setSeed): 5687 (WebCore::FETurbulence::numOctaves): 5688 (WebCore::FETurbulence::setNumOctaves): 5689 (WebCore::FETurbulence::stitchTiles): 5690 (WebCore::FETurbulence::setStitchTiles): 5691 (WebCore::FETurbulence::apply): 5692 (WebCore::FETurbulence::dump): 5693 (WebCore::operator<<): 5694 (WebCore::FETurbulence::externalRepresentation): 5695 * svg/graphics/filters/SVGFETurbulence.h: 5696 (WebCore::): 5697 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm: 5698 * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm: 5699 * svg/graphics/filters/cg/SVGFEFloodCg.mm: 5700 * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm: 5701 * svg/graphics/filters/cg/SVGFEHelpersCg.h: 5702 * svg/graphics/filters/cg/SVGFEHelpersCg.mm: 5703 (WebCore::getVectorForChannel): 5704 * svg/graphics/filters/cg/SVGFEImageCg.mm: 5705 * svg/graphics/filters/cg/SVGFEMergeCg.mm: 5706 * svg/graphics/filters/cg/SVGFEOffsetCg.mm: 5707 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm: 5708 * svg/graphics/filters/cg/SVGFETileCg.mm: 5709 5710 2008-07-09 Mark Rowe <mrowe (a] apple.com> 5711 5712 Reviewed by Geoff Garen. 5713 5714 Don't warn about deprecated functions in production builds. 5715 5716 * Configurations/Base.xcconfig: 5717 * Configurations/DebugRelease.xcconfig: 5718 5719 2008-07-09 Brady Eidson <beidson (a] apple.com> 5720 5721 Reviewed by Darin 5722 5723 <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame 5724 has been installed in a frame tree. 5725 5726 The root of this problem was that calling init() on a new frame could end up calling arbitrary 5727 javascript that might end up removing the frame from the tree. This opened up a small can of worms 5728 such as the frame not having yet been installed in its frame tree, and other assumed behavior while 5729 destroying the frame. 5730 5731 Test: fast/loader/frame-creation-removal.html 5732 5733 * loader/FrameLoader.cpp: 5734 (WebCore::FrameLoader::endIfNotLoadingMainResource): If the frame doesn't have a page, don't close up 5735 the document and parser because they don't exist, and this frame is on its way out. 5736 (WebCore::FrameLoader::finishedParsing): We can't rely on the refCount check to discover "am I being deleted?" 5737 because we no longer store refCounts of 0. The new check is "do I have a FrameView?" while will always be 5738 false if the Frame is being destroyed. 5739 5740 2008-07-09 Dean Jackson <dino (a] apple.com> 5741 5742 Changed to use the correct license in header comment (via Darin) 5743 5744 * css/WebKitCSSTransformValue.idl: 5745 5746 2008-07-09 Dean Jackson <dino (a] apple.com> 5747 5748 Add DOM interface for WebKitCSSTransformValue. 5749 https://bugs.webkit.org/show_bug.cgi?id=19863 5750 5751 Reviewed by Hyatt. 5752 5753 * bindings/objc/DOMInternal.h: 5754 * css/WebKitCSSTransformValue.idl: Added. 5755 5756 * bindings/scripts/CodeGeneratorObjC.pm: 5757 make sure new class inherits from CSSValue not Node 5758 5759 * DerivedSources.make: 5760 * GNUmakefile.am: 5761 * WebCore.pro: 5762 * WebCore.vcproj/WebCore.vcproj: 5763 * WebCore.xcodeproj/project.pbxproj: 5764 * WebCoreSources.bkl: 5765 Adding new generated files 5766 5767 2008-07-09 Maxime Britto <britto (a] apple.com> 5768 5769 Reviewed by Adele. 5770 5771 http://bugs.webkit.org/show_bug.cgi?id=14227 5772 Add the middle click panning feature to the windows release. 5773 Details on almost each method below. 5774 Manual test is included in the patch. 5775 5776 * ChangeLog: 5777 * WebCore.vcproj/WebCore.vcproj: 5778 * manual-tests/panScroll.html: Added. 5779 * manual-tests/resources/big-page.html: Added. 5780 * page/EventHandler.cpp: Added the panScroll start/stop handlers and adapted the autoscroll for both to share some functions. 5781 (WebCore::EventHandler::EventHandler): Initialize the new class members for the panScroll 5782 (WebCore::EventHandler::handleMouseDraggedEvent): Prevent the autoscroll to trigger if the panScroll is in progress 5783 (WebCore::EventHandler::handleMouseReleaseEvent): Prevent the autoscroll to stop the panScroll on mouse release 5784 (WebCore::EventHandler::handleAutoscroll): Added the specific calls for the panScroll (save mouse position, draw the panScroll icon) to the shared code 5785 (WebCore::EventHandler::autoscrollTimerFired): Specify the calls to perform for each function (autoscroll and panScroll) 5786 (WebCore::EventHandler::stopAutoscrollTimer): Specify the calls to perform for each function (autoscroll and panScroll) 5787 (WebCore::EventHandler::handleMousePressEvent): Trigger for the panScroll. Test is the button is the middle button and try to find a renderer where the panScroll is possible. If it finds one, it calls the handleAutoscroll method. 5788 * page/EventHandler.h: 5789 (WebCore::EventHandler::panScrollInProgress): Getter used by the sub frames's EventHandler to notice the main frame EventHandler 5790 (WebCore::EventHandler::setPanScrollInProgress): Setter used by the sub frames's EventHandler to notice the main frame EventHandler 5791 * platform/ScrollView.h: Added a method used by the RenderObject to test if the view can be scrolled. Added the print/remove panScroll icon methods between the windows platform flags 5792 * platform/gtk/ScrollViewGtk.cpp: 5793 (WebCore::ScrollView::isScrollable): Not implemented : returns true 5794 * platform/mac/ScrollViewMac.mm: Implemented because it was useful for the autoscroll feature. 5795 (WebCore::ScrollView::isScrollable): 5796 * platform/qt/ScrollViewQt.cpp: 5797 (WebCore::ScrollView::isScrollable): Not implemented : returns true 5798 * platform/win/ScrollViewWin.cpp: 5799 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added a boolean and an IntPoint to draw the icon. 5800 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): If the icon must be drawn, define the rect to invalidate to erase the previous icon and to display the new one. 5801 (WebCore::ScrollView::updateContents): I split this method to be able to invalidate a rect with window coordinates instead of contents coordinates. This function now converts the contents coord in window coord and calls the new updateWindowRect() method 5802 (WebCore::ScrollView::updateWindowRect): New method which performs the work that was doing the end of the old updateContents : invalidate a rect with window coordinates 5803 (WebCore::ScrollView::isScrollable): checks is the view has scrollbars 5804 (WebCore::ScrollView::printPanScrollIcon): sets the boolean and the IntPoint for the icon. Invalidate his rect and ask for repaint. 5805 (WebCore::ScrollView::removePanScrollIcon): sets the boolean to false. Invalidate his rect and ask for repaint. 5806 (WebCore::ScrollView::paint): Modified to draw the icon if needed. 5807 * platform/wx/ScrollViewWx.cpp: 5808 (WebCore::ScrollView::isScrollable): Not implemented : returns true 5809 * rendering/RenderLayer.cpp: 5810 (WebCore::RenderLayer::panScrollFromPoint): Receives the Middle click location and retrieves the currentMouse position from the EventHandler. With these informations it computes the direction to scroll to and the speed then calls for the final scroll. 5811 * rendering/RenderLayer.h: 5812 * rendering/RenderListBox.cpp: Adapt the panScroll to the ListBox object to scroll by lines instead of pixels 5813 (WebCore::RenderListBox::panScroll): 5814 (WebCore::RenderListBox::scrollToward): 5815 (WebCore::RenderListBox::autoscroll): 5816 * rendering/RenderListBox.h: 5817 (WebCore::RenderListBox::shouldPanScroll): 5818 * rendering/RenderObject.cpp: 5819 (WebCore::RenderObject::shouldAutoscroll): Improved the verification to avoid triggering the autoscroll/panScroll when the root object can't scroll 5820 (WebCore::RenderObject::panScroll): Calls the RenderLayer's panScrollFromPoint() method 5821 * rendering/RenderObject.h: 5822 (WebCore::RenderObject::stopPanScroll): 5823 5824 2008-07-09 Dean Jackson <dino (a] apple.com> 5825 5826 Rename CSSTransformValue to WebKitCSSTransformValue as it is non-standard for 5827 the moment. Also, WebKitCSSTransformValue is a CSSValueList (comma sep) 5828 https://bugs.webkit.org/show_bug.cgi?id=19861 5829 5830 Reviewed by Hyatt 5831 5832 * css/CSSParser.cpp: 5833 * css/CSSStyleSelector.cpp: 5834 * css/CSSTransformValue.cpp: Removed. 5835 * css/CSSTransformValue.h: Removed. 5836 * css/CSSValueList.h: 5837 * css/WebKitCSSTransformValue.cpp: Added. 5838 * css/WebKitCSSTransformValue.h: Added. 5839 5840 * GNUmakefile.am: 5841 * WebCore.order: 5842 * WebCore.pro: 5843 * WebCore.vcproj/WebCore.vcproj: 5844 * WebCore.xcodeproj/project.pbxproj: 5845 * WebCoreSources.bkl: 5846 updated for new file names 5847 5848 5849 2008-07-09 David Hyatt <hyatt (a] apple.com> 5850 5851 Switch transitions back to a "destination" model as far as choosing which transitions should apply on a style 5852 change. Preserve the behavior of allowing stale transitions (in the absence of property changes) to run to 5853 completion. 5854 5855 Reviewed by Dean 5856 5857 * manual-tests/transitions.html: 5858 * manual-tests/transitions2.html: 5859 * page/AnimationController.cpp: 5860 (WebCore::ImplicitAnimation::reset): 5861 (WebCore::CompositeImplicitAnimation::animate): 5862 (WebCore::AnimationControllerPrivate::get): 5863 (WebCore::AnimationController::updateImplicitAnimations): 5864 5865 2008-07-09 Michelangelo De Simone <m.des (a] mac.com> 5866 5867 Reviewed by Adele. 5868 5869 Added the virtual function Node::isTextControl() in order to simplify text field and textarea checks. 5870 5871 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 5872 Clean up in PseudoReadOnly and PseudoReadWrite cases removing unnecessary checks and casts in favor of the sole isTextControl() check. 5873 * dom/Node.h: Added base isTextControl(). 5874 * html/HTMLInputElement.h: Added isTextControl() which wraps HTMLInputElement::isTextField(). 5875 * html/HTMLTextAreaElement.h: Added isTextControl(). 5876 5877 2008-07-09 Rob Buis <buis (a] kde.org> 5878 5879 Reviewed by Eric. 5880 5881 https://bugs.webkit.org/show_bug.cgi?id=15431 5882 SVGRenderStyle should store pre-modified resource URIs 5883 5884 Store pre-modified resource URIs to decrease string 5885 operations during layout/rendering. 5886 5887 * css/SVGCSSStyleSelector.cpp: 5888 (WebCore::CSSStyleSelector::applySVGProperty): 5889 * rendering/RenderPath.cpp: 5890 (WebCore::RenderPath::absoluteClippedOverflowRect): 5891 (WebCore::RenderPath::drawMarkersIfNeeded): 5892 * rendering/RenderSVGContainer.cpp: 5893 (WebCore::RenderSVGContainer::selfWillPaint): 5894 (WebCore::RenderSVGContainer::absoluteClippedOverflowRect): 5895 * rendering/RenderSVGImage.cpp: 5896 (WebCore::RenderSVGImage::calculateAbsoluteBounds): 5897 * rendering/RenderSVGRoot.cpp: 5898 (WebCore::RenderSVGRoot::paint): 5899 (WebCore::RenderSVGRoot::absoluteClippedOverflowRect): 5900 * rendering/RenderSVGText.cpp: 5901 (WebCore::RenderSVGText::absoluteClippedOverflowRect): 5902 * rendering/SVGRenderSupport.cpp: 5903 (WebCore::prepareToRenderSVGContent): 5904 5905 2008-07-09 Anders Carlsson <andersca (a] apple.com> 5906 5907 Reviewed by Mitz. 5908 5909 Remove an unused instance variable. 5910 5911 * loader/DocumentLoader.h: 5912 5913 2008-07-09 Dan Bernstein <mitz (a] apple.com> 5914 5915 Reviewed by Anders Carlsson. 5916 5917 - remove unused #includes 5918 5919 * dom/XMLTokenizer.cpp: 5920 * html/PreloadScanner.cpp: 5921 * loader/CachedCSSStyleSheet.cpp: 5922 * loader/CachedScript.cpp: 5923 * loader/CachedXBLDocument.cpp: 5924 * loader/CachedXSLStyleSheet.cpp: 5925 * page/mac/FrameMac.mm: 5926 * xml/XSLTProcessor.cpp: 5927 5928 2008-07-08 Geoffrey Garen <ggaren (a] apple.com> 5929 5930 Reviewed by Oliver Hunt. 5931 5932 Only artificially mark JS DOM wrappers if they have custom properties. 5933 5934 21X speedup on http://nerget.com/jstests/dom-mandelbrot.html. 5935 5936 No, that is not a typo. 5937 5938 * bindings/js/JSDOMBinding.cpp: 5939 (WebCore::ScriptInterpreter::markDOMNodesForDocument): 5940 5941 2008-07-08 Kevin Watters <kevinwatters (a] gmail.com> 5942 5943 Reviewed by Kevin Ollivier. 5944 5945 Fix to previous patch for handling mouse up events. 5946 5947 https://bugs.webkit.org/show_bug.cgi?id=18464 5948 5949 * platform/wx/MouseEventWx.cpp: 5950 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 5951 5952 2008-07-08 Dan Bernstein <mitz (a] apple.com> 5953 5954 Reviewed by Brady Eidson. 5955 5956 - initialize the Archives log channel's state 5957 5958 * platform/mac/LoggingMac.mm: 5959 (WebCore::InitializeLoggingChannelsIfNecessary): 5960 5961 2008-07-08 Kevin McCullough <kmccullough (a] apple.com> 5962 5963 Added manual test for the new heavy view. 5964 5965 * manual-tests/inspector/profiler-test-heavy-view.html: Added. 5966 5967 2008-07-08 Darin Adler <darin (a] apple.com> 5968 5969 Reviewed by Mitz. 5970 5971 - fix <rdar://problem/6043731> REGRESSION (3-4): RedEnvelope.com 5972 looks wrong due to OpenCube QuickMenu appVersion check 5973 5974 * page/Navigator.cpp: 5975 (WebCore::shouldHideFourDot): Add dqm_loader.js as another filename. 5976 5977 2008-07-08 Dan Bernstein <mitz (a] apple.com> 5978 5979 Reviewed by John Sullivan. 5980 5981 - WebCore part of <rdar://problem/6008409> Need a way to disable updates in offscreen views 5982 5983 Added a setting, updatesWhenOffscreen(), which controls whether an 5984 offscreen web view gets marked as needing update when its contents 5985 change (the existing behavior) or not (a new behavior), in which case it 5986 will be marked as needing update just before it goes on screen. The 5987 existing behavior (updating while offscreen) remains the default. 5988 5989 * WebCore.base.exp: Added Settings::setUpdatesWhenOffscreen(). 5990 * page/FrameView.cpp: 5991 (WebCore::FrameView::shouldUpdateWhenOffscreen): Added. Returns the 5992 value from settings. 5993 * page/FrameView.h: 5994 * page/Settings.cpp: 5995 (WebCore::Settings::setUpdatesWhenOffscreen): Added. 5996 * page/Settings.h: 5997 (WebCore::Settings::updatesWhenOffscreen): Added. 5998 * platform/ScrollView.h: 5999 * platform/mac/ScrollViewMac.mm: 6000 (WebCore::ScrollView::updateContents): Added code to return early and 6001 not call -setNeedsDisplayInRect: if the view is not in a visible window 6002 and the setting is not to update when offscreen. 6003 6004 2008-07-08 Simon Hausmann <hausmann (a] webkit.org> 6005 6006 Fix the build with enabled SVG filters. 6007 6008 * svg/SVGFESpecularLightingElement.cpp: The last argument to 6009 ANIMATED_PROPERTY_DEFINITIONS has to be full class name, including 6010 the attr suffix. 6011 6012 2008-07-07 Sam Weinig <sam (a] webkit.org> 6013 6014 Reviewed by Anders Carlsson. 6015 6016 Remove extraneous null check. 6017 6018 * dom/Node.cpp: 6019 (WebCore::Node::querySelector): 6020 (WebCore::Node::querySelectorAll): 6021 6022 2008-07-07 Sam Weinig <sam (a] webkit.org> 6023 6024 Reviewed by Anders Carlsson. 6025 6026 Fix for https://bugs.webkit.org/show_bug.cgi?id=19928 6027 Use of CSS3 Namespaces syntax in Selectors API should throw an exception 6028 6029 - Throw an NAMESPACE_ERR exception if a non-null or "*" namespace is 6030 used in a selector passed to querySelector or querySelectorAll. 6031 6032 Test: fast/dom/SelectorAPI/not-supported-namespace-in-selector.html 6033 6034 * dom/Node.cpp: 6035 (WebCore::selectorNeedsNamespaceResolution): 6036 (WebCore::Node::querySelector): 6037 (WebCore::Node::querySelectorAll): 6038 6039 2008-07-07 Simon Fraser <simon.fraser (a] apple.com> 6040 6041 Reviewed by Darin. 6042 6043 Fix for https://bugs.webkit.org/show_bug.cgi?id=19933 6044 nodeIterator with filter fails on documents not in a frame 6045 6046 Tests: traversal/node-iterator-009.html 6047 traversal/tree-walker-006.html 6048 6049 * bindings/js/JSNodeFilterCondition.cpp: 6050 * bindings/js/JSNodeFilterCondition.h: 6051 * bindings/js/JSNodeFilterCustom.cpp: 6052 * bindings/js/JSNodeIteratorCustom.cpp: 6053 * bindings/js/JSTreeWalkerCustom.cpp: 6054 * bindings/objc/DOM.mm: 6055 * dom/NodeFilter.cpp: 6056 * dom/NodeFilter.h: 6057 * dom/NodeFilterCondition.cpp: 6058 * dom/NodeFilterCondition.h: 6059 * dom/NodeIterator.cpp: 6060 * dom/NodeIterator.h: 6061 * dom/Traversal.cpp: 6062 * dom/Traversal.h: 6063 * dom/TreeWalker.cpp: 6064 * dom/TreeWalker.h: 6065 6066 2008-07-07 Adele Peterson <adele (a] apple.com> 6067 6068 Reviewed by Dan Bernstein. 6069 6070 Fix for https://bugs.webkit.org/show_bug.cgi?id=19924 6071 <rdar://problem/6057160> Disabled file input element updates its displayed file info when a file is dropped from the Finder. 6072 6073 * page/DragController.cpp: (WebCore::DragController::concludeDrag): 6074 Check that the file control is enabled before taking dropped files. 6075 6076 2008-07-07 Adele Peterson <adele (a] apple.com> 6077 6078 Reviewed by Beth. 6079 6080 Fix for <rdar://problem/5860507> <AUDIO> playback noticeably more quiet than QuickTime 6081 6082 Change default volume setting to 1.0. 6083 6084 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): 6085 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer): 6086 6087 2008-07-07 Darin Adler <darin (a] apple.com> 6088 6089 Reviewed by Mark Rowe. 6090 6091 - fix <rdar://problem/6020441> REGRESSION: Layers on NWA.com render ugly 6092 6093 The old version of the OpenCube QuickMenu library used on this site still has code 6094 that detects Netscape 4 by checking appVersion to see if it has the substring "4." 6095 in it. We decided to special-case the filename of the script and tweak the appVersion 6096 for files with that name. 6097 6098 * bindings/js/ScriptController.cpp: 6099 (WebCore::ScriptController::ScriptController): Replace m_processingInlineCode with 6100 m_sourceURL. Use false instead of 0 to initialize a boolean. 6101 (WebCore::ScriptController::evaluate): Call argument sourceURL, not filename. 6102 Store current sourceURL in m_sourceURL. This fixes a mistake in the code that 6103 maintained the value of m_processingInlineCode, since the old code set it to 6104 false rather than restoring it. Renamed a local variable named sourceURL to 6105 exceptionSourceURL for clarity. 6106 (WebCore::ScriptController::processingUserGesture): Code that formerly used 6107 m_processingInlineCode to detect that it was evaluating code with no URL now 6108 uses m_sourceURL to do the same check. 6109 6110 * bindings/js/ScriptController.h: Renamed filename argument to sourceURL; it has always 6111 been a URL, not a file path. Added a public sourceURL function and m_sourceURL and 6112 removed m_processingInlineCode. 6113 6114 * page/Navigator.cpp: 6115 (WebCore::shouldHideFourDot): Added. Returns true if the currently running script has 6116 a source URL ending in "/dqm_script.js" and if the settings say we should do 6117 site-specific quirks (really JavaScript-library-specific in this case). 6118 (WebCore::Navigator::appVersion): Replace "4." with "4_" if shouldHideFourDot is true. 6119 6120 2008-07-07 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 6121 6122 Reviewed by Geoff. 6123 6124 Bug 19907: REGRESSION(r34824-r34941): Reproducible crash trying to log in to MediaTemple.net Account Center 6125 <https://bugs.webkit.org/show_bug.cgi?id=19907> 6126 6127 Clear exceptions set on ExecStates before returning from NPAPI 6128 callbacks, in order to avoid causing problems for the next script that 6129 executes. 6130 6131 While fixing this bug, the question was raised of whether we are 6132 correctly propagating exception information back to the caller: 6133 6134 Bug 19936: Correctly propagate exception information from NPAPI callbacks 6135 <https://bugs.webkit.org/show_bug.cgi?id=19936> 6136 6137 * bridge/NP_jsobject.cpp: 6138 (_NPN_InvokeDefault): 6139 (_NPN_Invoke): 6140 (_NPN_Evaluate): 6141 (_NPN_GetProperty): 6142 (_NPN_SetProperty): 6143 (_NPN_RemoveProperty): 6144 (_NPN_HasProperty): 6145 (_NPN_HasMethod): 6146 (_NPN_Enumerate): 6147 6148 2008-07-07 Dan Bernstein <mitz (a] apple.com> 6149 6150 Reviewed by Darin Adler. 6151 6152 - fix <rdar://problem/6057650> REGRESSION (r35025): Crash beneath FontCache::invalidate() when activating Safari with no windows open 6153 6154 * css/CSSFontFaceSource.cpp: 6155 (WebCore::CSSFontFaceSource::getFontData): Added a null check because 6156 docLoader() can return 0 now. 6157 * css/CSSFontSelector.cpp: 6158 (WebCore::CSSFontSelector::docLoader): Added a null check of m_document. 6159 (WebCore::CSSFontSelector::addFontFaceRule): Ditto. 6160 (WebCore::CSSFontSelector::fontLoaded): Ditto. 6161 (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto. 6162 (WebCore::fontDataForGenericFamily): Added a null check of document. 6163 * css/CSSFontSelector.h: 6164 (WebCore::CSSFontSelector::clearDocument): Added. 6165 * css/CSSStyleSelector.cpp: 6166 (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a call to 6167 CSSFontSelector::clearDocument(). When the style selector is destroyed, 6168 there is no guarantee that the document will continue to exist. 6169 6170 2008-07-07 Julien Chaffraix <jchaffraix (a] webkit.org> 6171 6172 Not reviewed. 6173 6174 No svg build fix. 6175 6176 * DerivedSources.make: Add JSSVGElementWrapperFactory.cpp target. 6177 * svg/animation/SMILTimeContainer.cpp: Add ENABLE(SVG) guard. 6178 6179 2008-07-07 Michelangelo De Simone <m.des (a] mac.com> 6180 6181 Reviewed by Adele. 6182 6183 Support for CSS3 :read-only and :read-write pseudoclasses for readonly text controls. 6184 6185 URL: http://www.w3.org/TR/web-forms-2/#relation 6186 6187 Tests: fast/css/readonly-pseudoclass-opera-001.html 6188 fast/css/readonly-pseudoclass-opera-002.html 6189 fast/css/readonly-pseudoclass-opera-003.html 6190 fast/css/readonly-pseudoclass-opera-004.html 6191 fast/css/readonly-pseudoclass-opera-005.html 6192 6193 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): 6194 Added "read-only" and "read-write" values for PseudoType extraction. 6195 * css/CSSSelector.h: (WebCore::CSSSelector::): 6196 Added PseudoReadOnly and PseudoReadWrite entries in PseudoType enum. 6197 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 6198 Checks to determine whether to match :read-only and :read-write pseudoclasses on 6199 text controls. 6200 6201 2008-07-07 Sam Weinig <sam (a] webkit.org> 6202 6203 Reviewed by Geoffrey Garen. 6204 6205 Fix for https://bugs.webkit.org/show_bug.cgi?id=19928 6206 querySelectorAll should throw an exception if a NSResolver is passed in. 6207 6208 - Throw an NOT_SUPPORTED_ERR if a non-null or undefined parameter is passed 6209 as the second argument to querySelector or querySelectorAll. 6210 6211 Test: fast/dom/SelectorAPI/not-supported-NSResolver.html 6212 6213 * bindings/js/JSDocumentCustom.cpp: 6214 (WebCore::JSDocument::querySelector): 6215 (WebCore::JSDocument::querySelectorAll): 6216 * bindings/js/JSElementCustom.cpp: 6217 (WebCore::JSElement::querySelector): 6218 (WebCore::JSElement::querySelectorAll): 6219 * dom/Document.idl: 6220 * dom/Element.idl: 6221 6222 2008-07-07 Brady Eidson <beidson (a] apple.com> 6223 6224 Reviewed by Mitz and Geoff 6225 6226 Test: fast/loader/empty-ref-versus-no-ref.html 6227 6228 Fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760> 6229 "all DOM operations stop working when location.hash set to '#'" 6230 6231 The underlying problem is that KURL didn't really know the difference between "empty ref" 6232 and "no ref at all" when changing the ref. So changing to the empty ref in JS ended up 6233 affecting removal of the ref, which ended up causing an infinite load load, also killing 6234 javascript. 6235 6236 * platform/KURL.cpp: 6237 (WebCore::KURL::setRef): Changed "isEmpty()" to "isNull()", since NULL has the special 6238 meaning of "no ref at all" while empty means "empty ref" 6239 6240 2008-07-07 Kevin McCullough <kmccullough (a] apple.com> 6241 6242 Reviewed by Darin. 6243 6244 Because profiler.h no longer #includes profile.h we need to explicitly 6245 include it in console.cpp. 6246 6247 * page/Console.cpp: 6248 6249 2008-07-07 Nikolas Zimmermann <zimmermann (a] kde.org> 6250 6251 Not reviewed. Build fix. 6252 6253 Fix --svg-filters build (affects Qt build, mac/win don't have it on by default) 6254 6255 * svg/SVGFEColorMatrixElement.cpp: 6256 * svg/SVGFEDiffuseLightingElement.cpp: 6257 * svg/SVGFEImageElement.cpp: 6258 * svg/SVGFELightElement.cpp: 6259 * svg/SVGFESpecularLightingElement.cpp: 6260 6261 2008-07-07 Nikolas Zimmermann <zimmermann (a] kde.org> 6262 6263 Reviewed by Antti. 6264 6265 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support) 6266 6267 Revised version of the patch, not using pointer-to-member function callbacks anymore - after discussion with Adam Roben. 6268 Remove unneccessary parameters of all macros. 6269 6270 SVG Errata states: "All SVG DOM objects that directly correspond to an 6271 attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This 6272 means that any changes made to the attribute are immediately reflected in the 6273 corresponding SVG DOM object." (see linked URL on bug report) 6274 6275 Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect> 6276 element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value). 6277 6278 Add a new synchronization layer to handle SVG DOM -> XML changes. 6279 6280 Added test: svg/custom/svg-xml-dom-sync.html 6281 Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml) 6282 6283 * dom/Element.cpp: 6284 (WebCore::Element::Element): Initialize the two new bits. 6285 (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks. 6286 (WebCore::Element::getAttribute): Ditto. 6287 (WebCore::Element::hasAttributes): Ditto. 6288 * dom/Element.h: Add two bits: m_areSVGAttributesValid/m_synchronizingSVGAttributes, to track synchronization status. 6289 (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute. 6290 * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros. 6291 * svg/SVGAElement.cpp: 6292 * svg/SVGAElement.h: 6293 * svg/SVGAnimatedTemplate.h: 6294 (WebCore::lookupOrCreateWrapper): Take new AnimatedPropertySynchronizer callback as parameter, and associate it with the wrappers. 6295 * svg/SVGCircleElement.cpp: 6296 (WebCore::SVGCircleElement::SVGCircleElement): 6297 * svg/SVGCircleElement.h: 6298 * svg/SVGClipPathElement.cpp: 6299 * svg/SVGClipPathElement.h: 6300 * svg/SVGComponentTransferFunctionElement.cpp: 6301 * svg/SVGComponentTransferFunctionElement.h: 6302 * svg/SVGCursorElement.cpp: 6303 (WebCore::SVGCursorElement::SVGCursorElement): 6304 * svg/SVGCursorElement.h: 6305 * svg/SVGElement.cpp: 6306 (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization. 6307 (WebCore::SVGElement::setSynchronizedSVGAttributes): 6308 * svg/SVGElement.h: 6309 (WebCore::SVGElement::invokeSVGPropertySynchronizer): 6310 (WebCore::SVGElement::invokeAllSVGPropertySynchronizers): 6311 (WebCore::SVGElement::addSVGPropertySynchronizer): 6312 * svg/SVGEllipseElement.cpp: 6313 * svg/SVGEllipseElement.h: 6314 * svg/SVGExternalResourcesRequired.cpp: 6315 * svg/SVGExternalResourcesRequired.h: 6316 * svg/SVGFEBlendElement.cpp: 6317 * svg/SVGFEBlendElement.h: 6318 * svg/SVGFEColorMatrixElement.cpp: 6319 * svg/SVGFEColorMatrixElement.h: 6320 * svg/SVGFEComponentTransferElement.cpp: 6321 * svg/SVGFEComponentTransferElement.h: 6322 * svg/SVGFECompositeElement.cpp: 6323 * svg/SVGFECompositeElement.h: 6324 * svg/SVGFEDiffuseLightingElement.cpp: 6325 * svg/SVGFEDiffuseLightingElement.h: 6326 * svg/SVGFEDisplacementMapElement.cpp: 6327 * svg/SVGFEDisplacementMapElement.h: 6328 * svg/SVGFEGaussianBlurElement.cpp: 6329 * svg/SVGFEGaussianBlurElement.h: 6330 * svg/SVGFEImageElement.cpp: 6331 * svg/SVGFEImageElement.h: 6332 * svg/SVGFELightElement.cpp: 6333 * svg/SVGFELightElement.h: 6334 * svg/SVGFEMergeNodeElement.cpp: 6335 * svg/SVGFEMergeNodeElement.h: 6336 * svg/SVGFEOffsetElement.cpp: 6337 * svg/SVGFEOffsetElement.h: 6338 * svg/SVGFESpecularLightingElement.cpp: 6339 * svg/SVGFESpecularLightingElement.h: 6340 * svg/SVGFETileElement.cpp: 6341 * svg/SVGFETileElement.h: 6342 * svg/SVGFETurbulenceElement.cpp: 6343 * svg/SVGFETurbulenceElement.h: 6344 * svg/SVGFilterElement.cpp: 6345 * svg/SVGFilterElement.h: 6346 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 6347 * svg/SVGFilterPrimitiveStandardAttributes.h: 6348 * svg/SVGFitToViewBox.cpp: 6349 * svg/SVGFitToViewBox.h: 6350 * svg/SVGForeignObjectElement.cpp: 6351 * svg/SVGForeignObjectElement.h: 6352 * svg/SVGGradientElement.cpp: 6353 * svg/SVGGradientElement.h: 6354 * svg/SVGImageElement.cpp: 6355 * svg/SVGImageElement.h: 6356 * svg/SVGLineElement.cpp: 6357 * svg/SVGLineElement.h: 6358 * svg/SVGLinearGradientElement.cpp: 6359 * svg/SVGLinearGradientElement.h: 6360 * svg/SVGMarkerElement.cpp: 6361 * svg/SVGMarkerElement.h: 6362 * svg/SVGMaskElement.cpp: 6363 * svg/SVGMaskElement.h: 6364 * svg/SVGPathElement.cpp: 6365 * svg/SVGPathElement.h: 6366 * svg/SVGPatternElement.cpp: 6367 * svg/SVGPatternElement.h: 6368 * svg/SVGRadialGradientElement.cpp: 6369 * svg/SVGRadialGradientElement.h: 6370 * svg/SVGRectElement.cpp: 6371 * svg/SVGRectElement.h: 6372 * svg/SVGSVGElement.cpp: 6373 * svg/SVGSVGElement.h: 6374 * svg/SVGScriptElement.h: 6375 * svg/SVGStopElement.cpp: 6376 * svg/SVGStopElement.h: 6377 * svg/SVGStyledElement.cpp: 6378 * svg/SVGStyledElement.h: 6379 * svg/SVGStyledTransformableElement.cpp: 6380 * svg/SVGStyledTransformableElement.h: 6381 * svg/SVGSymbolElement.h: 6382 * svg/SVGTextContentElement.cpp: 6383 * svg/SVGTextContentElement.h: 6384 * svg/SVGTextElement.cpp: 6385 * svg/SVGTextElement.h: 6386 * svg/SVGTextPathElement.cpp: 6387 * svg/SVGTextPathElement.h: 6388 * svg/SVGTextPositioningElement.cpp: 6389 * svg/SVGTextPositioningElement.h: 6390 * svg/SVGURIReference.cpp: 6391 * svg/SVGURIReference.h: 6392 * svg/SVGUseElement.cpp: 6393 * svg/SVGUseElement.h: 6394 * svg/SVGViewElement.h: 6395 * svg/SynchronizableTypeWrapper.h: Added. 6396 6397 2008-07-07 Nikolas Zimmermann <zimmermann (a] kde.org> 6398 6399 Reviewed by Oliver. 6400 6401 Working on: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support) 6402 6403 Splitting up large patch in small chunk: Land valueAsString() implementation on it's own. 6404 6405 Added valueAsString() conversion for all SVG primitive types, needed by the SVG<->XML synchronization layer. 6406 Unify "null value for a SVG animated type" concept, which was implemented in SVGDocumentExtensions before, 6407 in SVGAnimatedTemplate. 6408 6409 * svg/SVGAnimatedTemplate.h: 6410 (WebCore::SVGAnimatedTemplate::associatedAttributeName): 6411 (WebCore::lookupOrCreateWrapper): 6412 (WebCore::SVGAnimatedTypeValue::null): 6413 (WebCore::SVGAnimatedTypeValue::toString): 6414 (WebCore::): 6415 * svg/SVGDocumentExtensions.h: 6416 (WebCore::SVGDocumentExtensions::baseValue): 6417 * svg/SVGLengthList.cpp: 6418 (WebCore::SVGLengthList::valueAsString): 6419 * svg/SVGLengthList.h: 6420 * svg/SVGNumberList.cpp: 6421 (WebCore::SVGNumberList::valueAsString): 6422 * svg/SVGNumberList.h: 6423 * svg/SVGPreserveAspectRatio.cpp: 6424 (WebCore::SVGPreserveAspectRatio::valueAsString): 6425 * svg/SVGPreserveAspectRatio.h: 6426 * svg/SVGTransformList.cpp: 6427 (SVGTransformList::valueAsString): 6428 * svg/SVGTransformList.h: 6429 6430 2008-07-06 Sam Weinig <sam (a] webkit.org> 6431 6432 Reviewed by Dan Bernstein. 6433 6434 Rename "Access-Contol-Origin" to "Origin" to match the latest 6435 Access Control for Cross-Site Request draft. (Editor's Draft 25 May 2008) 6436 6437 * xml/XMLHttpRequest.cpp: 6438 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): 6439 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): 6440 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): 6441 6442 2008-07-06 Dan Bernstein <mitz (a] apple.com> 6443 6444 - try to fix the Windows build 6445 6446 * WebCore.vcproj/WebCore.vcproj: 6447 6448 2008-07-06 Dan Bernstein <mitz (a] apple.com> 6449 6450 - add missing brace 6451 6452 * platform/graphics/qt/FontCacheQt.cpp: 6453 6454 2008-07-06 Dan Bernstein <mitz (a] apple.com> 6455 6456 - try to fix the Qt build 6457 6458 * platform/graphics/qt/FontCacheQt.cpp: 6459 (WebCore::FontCache::addClient): 6460 (WebCore::FontCache::removeClient): 6461 6462 2008-07-06 Sam Weinig <sam (a] webkit.org> 6463 6464 Reviewed by Cameron Zwarich. 6465 6466 Add #include for kjs/protect.h. 6467 6468 * xml/XMLHttpRequest.cpp: 6469 (WebCore::XMLHttpRequest::loadRequestAsynchronously): 6470 6471 2008-07-06 David Kilzer <ddkilzer (a] apple.com> 6472 6473 Save a few more bits in RenderStyle 6474 6475 Reviewed by Darin. 6476 6477 No test cases added since there is no change in behavior. 6478 6479 This changes WebCore::StyleMarqueeData from using 6 bits to 5 bits, 6480 WebCore::RenderStyle::inherited_flags from using 36 bits to 35 bits, 6481 and WebCore::RenderStyle::noninherited_flags from using 49 bits to 6482 47 bits. 6483 6484 * rendering/style/RenderStyle.h: 6485 (WebCore::StyleMarqueeData::behavior): Reduce from 3 bits to 2 bits 6486 since EMarqueeBehavior has 4 items. 6487 (WebCore::RenderStyle::inherited_flags._text_align): Reduce from 6488 4 bits to 3 bits since ETextAlign has 8 items. 6489 (WebCore::RenderStyle::noninherited_flags._overflowX): Reduce from 6490 4 bits to 3 bits since EOverflow has 6 items. 6491 (WebCore::RenderStyle::noninherited_flags._overflowY): Ditto. 6492 6493 2008-07-06 Dan Bernstein <mitz (a] apple.com> 6494 6495 Reviewed by Darin Adler. 6496 6497 - fix <rdar://problem/5735163> WebCore caching makes text look wrong after font changes; need to respond appropriately instead 6498 6499 * css/CSSFontSelector.cpp: 6500 (WebCore::CSSFontSelector::CSSFontSelector): Added a call to 6501 FontCache::addClient(). 6502 (WebCore::CSSFontSelector::~CSSFontSelector): Added a call to 6503 FontCache::removeClient(). 6504 (WebCore::CSSFontSelector::fontCacheInvalidated): Added. Called by the 6505 font cache when it is invalidated, and ensures that the document is 6506 updated. 6507 6508 * css/CSSFontSelector.h: 6509 6510 * platform/graphics/Font.cpp: 6511 (WebCore::Font::operator==): Added code to compare the font fallback 6512 lists' font cache generations. 6513 6514 * platform/graphics/FontCache.cpp: 6515 (WebCore::FontCache::addClient): Added. 6516 (WebCore::FontCache::removeClient): Added. 6517 (WebCore::FontCache::generation): Added. 6518 (WebCore::FontCache::invalidate): Added. Deletes the platform data 6519 cache, increments the generation counter, and notifies all clients. 6520 6521 * platform/graphics/FontCache.h: 6522 6523 * platform/graphics/FontFallbackList.cpp: 6524 (WebCore::FontFallbackList::FontFallbackList): Added initialization of 6525 m_generation. 6526 (WebCore::FontFallbackList::invalidate): Added code to reset 6527 m_generation. 6528 (WebCore::FontFallbackList::fontDataAt): Added an assertion. 6529 (WebCore::FontFallbackList::fontDataForCharacters): Ditto. 6530 (WebCore::FontFallbackList::setPlatformFont): Ditto. 6531 6532 * platform/graphics/FontFallbackList.h: 6533 (WebCore::FontFallbackList::generation): Added. Returns the font cache 6534 generation used to populate the list. 6535 6536 * platform/graphics/FontSelector.h: 6537 (WebCore::FontSelector::fontCacheInvalidated): Added. 6538 6539 * platform/graphics/mac/FontCacheMac.mm: 6540 (WebCore::fontCacheATSNotificationCallback): Added. Calls 6541 FontCache::invalidate(). 6542 (WebCore::FontCache::platformInit): Added code to register for ATS 6543 notifications. 6544 6545 * svg/SVGFontFaceElement.cpp: Removed unneeded #inlcudes. 6546 6547 2008-07-05 Sam Weinig <sam (a] webkit.org> 6548 6549 Rubber-stamped by Cameron Zwarich. 6550 6551 Rename list.h/cpp to ArgList.h/cpp. 6552 6553 * ForwardingHeaders/kjs/ArgList.h: Copied from WebCore/ForwardingHeaders/kjs/list.h. 6554 * ForwardingHeaders/kjs/list.h: Removed. 6555 * WebCore.vcproj/WebCore.vcproj: 6556 * bridge/qt/qt_instance.cpp: 6557 * page/Console.cpp: 6558 6559 2008-07-05 Sam Weinig <sam (a] webkit.org> 6560 6561 Rubber-stamped by Cameron Zwarich. 6562 6563 Split Arguments, IndexToNameMap, PrototypeFunction, GlobalEvalFunction and 6564 the functions on the global object out of JSFunction.h/cpp. 6565 6566 * ForwardingHeaders/kjs/PrototypeFunction.h: Added. 6567 * bindings/js/JSDOMBinding.cpp: 6568 6569 2008-07-05 Dan Bernstein <mitz (a] apple.com> 6570 6571 Rubber-stamped by Sam Weinig. 6572 6573 - rename BidiIterator and BidiState 6574 6575 Renamed BidiIterator to InlineIterator and BidiState 6576 to InlineBidiResolver. Renamed variables of type InlineBidiResolver{*,&} 6577 to "resolver". 6578 6579 * rendering/RenderBlock.h: 6580 * rendering/RootInlineBox.h: 6581 * rendering/bidi.cpp: 6582 (WebCore::InlineIterator::InlineIterator): 6583 (WebCore::operator==): 6584 (WebCore::operator!=): 6585 (WebCore::bidiNext): 6586 (WebCore::bidiFirst): 6587 (WebCore::InlineIterator::increment): 6588 (WebCore::InlineBidiResolver::increment): 6589 (WebCore::InlineIterator::atEnd): 6590 (WebCore::InlineIterator::current): 6591 (WebCore::InlineIterator::direction): 6592 (WebCore::chopMidpointsAt): 6593 (WebCore::checkMidpoints): 6594 (WebCore::addMidpoint): 6595 (WebCore::appendRunsForObject): 6596 (WebCore::InlineBidiResolver::appendRun): 6597 (WebCore::RenderBlock::bidiReorderLine): 6598 (WebCore::buildCompactRuns): 6599 (WebCore::RenderBlock::layoutInlineChildren): 6600 (WebCore::RenderBlock::determineStartPosition): 6601 (WebCore::RenderBlock::determineEndPosition): 6602 (WebCore::RenderBlock::matchedEndLine): 6603 (WebCore::skipNonBreakingSpace): 6604 (WebCore::requiresLineBox): 6605 (WebCore::RenderBlock::generatesLineBoxesForInlineChild): 6606 (WebCore::RenderBlock::skipWhitespace): 6607 (WebCore::shouldSkipWhitespaceAfterStartObject): 6608 (WebCore::RenderBlock::findNextLineBreak): 6609 6610 2008-07-05 Jan Michael Alonzo <jmalonzo (a] webkit.org> 6611 6612 Rubber-stamped by Oliver Hunt 6613 6614 Coding style fix 6615 6616 * html/CanvasRenderingContext2D.cpp: Indentation fix 6617 6618 2008-07-04 Oliver Hunt <oliver (a] apple.com> 6619 6620 Fix windows build 6621 6622 * WebCore.vcproj/WebCore.vcproj: 6623 6624 2008-07-04 Sam Weinig <sam (a] webkit.org> 6625 6626 Fix Qt build. 6627 6628 * bridge/qt/qt_instance.cpp: 6629 6630 2008-07-04 Sam Weinig <sam (a] webkit.org> 6631 6632 Rubber-stamped by Dan Bernstein. 6633 6634 Split Error and GetterSetter out of JSObject.h. 6635 6636 * ForwardingHeaders/kjs/Error.h: Added. 6637 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 6638 * bindings/js/JSClipboardCustom.cpp: 6639 * bindings/js/JSDOMWindowBase.cpp: 6640 * bindings/js/JSEventTargetBase.cpp: 6641 * bindings/js/JSHTMLDocumentCustom.cpp: 6642 * bindings/js/JSXMLHttpRequestCustom.cpp: 6643 * bindings/scripts/CodeGeneratorJS.pm: 6644 * bridge/NP_jsobject.cpp: 6645 * bridge/jni/jni_instance.cpp: 6646 * bridge/jni/jni_runtime.cpp: 6647 * bridge/objc/objc_instance.mm: 6648 * bridge/objc/objc_runtime.mm: 6649 * bridge/objc/objc_utility.h: 6650 * bridge/runtime_array.cpp: 6651 * bridge/runtime_method.cpp: 6652 * bridge/runtime_object.cpp: 6653 6654 2008-07-04 David D. Kilzer <ddkilzer (a] webkit.org> 6655 6656 Bug 15290: REGRESSION (r14184-r14216): Duplicate DOCTYPE definitions when saving files as webarchives 6657 6658 <https://bugs.webkit.org/show_bug.cgi?id=15290> 6659 <rdar://problem/5509173> 6660 6661 Reviewed by Dan Bernstein. 6662 6663 Tests: webarchive/archive-empty-frame-dom.html 6664 webarchive/doctype.html 6665 6666 * editing/markup.cpp: 6667 (WebCore::createFullMarkup): If the Node is a Document or a 6668 DocumentType, don't prepend the <!DOCTYPE> tag since that will 6669 cause it to be duplicated. 6670 * loader/archive/cf/LegacyWebArchive.cpp: 6671 (WebCore::LegacyWebArchive::create): Ditto. 6672 6673 2008-07-04 Jan Michael Alonzo <jmalonzo (a] webkit.org> 6674 6675 Gtk build fix 6676 6677 * GNUmakefile.am: 6678 6679 2008-07-04 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 6680 6681 Reviewed by Eric Seidel. 6682 6683 Bring our implementation of the Netscape plugin API closer to current 6684 code style guidelines. 6685 6686 * bridge/NP_jsobject.cpp: 6687 (getListFromVariantArgs): 6688 (jsAllocate): 6689 (jsDeallocate): 6690 (_NPN_CreateScriptObject): 6691 (_NPN_CreateNoScriptObject): 6692 (_NPN_InvokeDefault): 6693 (_NPN_Invoke): 6694 (_NPN_Evaluate): 6695 (_NPN_GetProperty): 6696 (_NPN_SetProperty): 6697 (_NPN_RemoveProperty): 6698 (_NPN_HasProperty): 6699 (_NPN_HasMethod): 6700 (_NPN_Enumerate): 6701 * bridge/npruntime_impl.h: 6702 6703 2008-07-04 Simon Hausmann <hausmann (a] webkit.org> 6704 6705 Fix the Qt/Windows build. 6706 6707 * WebCore.pro: Moved PluginMainThreadScheduler.cpp to the main 6708 sources, so that it is always compiled. 6709 * platform/qt/CursorQt.cpp: #undef CopyCursor, as it's defined by some 6710 Windows header. 6711 * platform/qt/KeyboardCodes.h: Don't re-define some of the keycodes 6712 that are defined by Windows already. 6713 * platform/qt/TemporaryLinkStubs.cpp: Removed the PluginDatabase stubs 6714 that are now platform-independent in plugin/PluginDatabase.cpp. 6715 6716 2008-07-04 Simon Hausmann <hausmann (a] webkit.org> 6717 6718 Fix the Mac build for real, don't define listDirectory() twice. 6719 6720 * platform/mac/FileSystemMac.mm: 6721 6722 2008-07-04 Simon Hausmann <hausmann (a] webkit.org> 6723 6724 Prospective Mac build fix. 6725 6726 * platform/mac/FileSystemMac.mm: Include NotImplemented.h. 6727 * platform/posix/FileSystemPOSIX.cpp: Ditto. 6728 6729 2008-07-04 Tor Arne Vestb <tavestbo (a] trolltech.com> 6730 6731 Reviewed by Simon. 6732 6733 Move duplicated code from each PluginDatabaseXX-implementation 6734 to PluginDabase.cpp -- ifdefed based on the XP_PLATFORM we are 6735 compiling plugins for. 6736 6737 This make the code cleaner and we can share common patterns. 6738 The only implementation left which is specific is the Win 6739 implementation (also used by QtWebKit/Win), but we might 6740 want to move that too. 6741 6742 * GNUmakefile.am: Removed PluginDatabaseGtk.cpp from the build. 6743 * WebCore.pro: Removed PluginDatabaseQt.cpp from the build. 6744 * plugins/PluginDatabase.cpp: 6745 (WebCore::PluginDatabase::defaultPluginDirectories): 6746 (WebCore::PluginDatabase::isPreferredPluginDirectory): 6747 (WebCore::PluginDatabase::getPluginPathsInDirectories): 6748 * plugins/gtk/PluginDatabaseGtk.cpp: Removed. 6749 * plugins/qt/PluginDatabaseQt.cpp: Removed. 6750 * plugins/wx/PluginDatabaseWx.cpp: Removed. 6751 * webcore-wx.bkl: Removed PluginDatabaseWx.cpp from the build. 6752 6753 2008-07-04 Simon Hausmann <hausmann (a] webkit.org> 6754 6755 Fix the Wx build. 6756 6757 * WebCoreSources.bkl: Add plugins/PluginMainThreadScheduler.cpp to the 6758 build. 6759 * page/FocusController.cpp: 6760 (WebCore::FocusController::setActive): Extend MAC #ifdef to WX as 6761 layoutIfNeededRecursive does not exist for the Wx port. 6762 6763 2008-07-04 Simon Hausmann <hausmann (a] webkit.org> 6764 6765 Fix the Gtk build, adapt to renamed files. 6766 6767 * GNUmakefile.am: 6768 6769 2008-07-04 Simon Hausmann <hausmann (a] webkit.org> 6770 6771 Fix the Qt build, adapt to renamed files. 6772 6773 * WebCore.pro: 6774 6775 2008-07-03 Oliver Hunt <oliver (a] apple.com> 6776 6777 Reviewed by Eric Seidel. 6778 6779 Move filter implementations to platform directory. 6780 6781 * WebCore.vcproj/WebCore.vcproj 6782 * WebCore.xcodeproj/project.pbxproj: 6783 * svg/SVGComponentTransferFunctionElement.h: 6784 * svg/SVGFEBlendElement.h: 6785 * svg/SVGFEColorMatrixElement.h: 6786 * svg/SVGFEComponentTransferElement.h: 6787 * svg/SVGFECompositeElement.h: 6788 * platform/graphics/filters/FEBlend.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.cpp. 6789 * platform/graphics/filters/FEBlend.h: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.h. 6790 * platform/graphics/filters/FEColorMatrix.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.cpp. 6791 * platform/graphics/filters/FEColorMatrix.h: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.h. 6792 * platform/graphics/filters/FEComponentTransfer.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.cpp. 6793 * platform/graphics/filters/FEComponentTransfer.h: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.h. 6794 * platform/graphics/filters/FEComposite.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.cpp. 6795 * platform/graphics/filters/FEComposite.h: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.h. 6796 6797 2008-07-03 Alex Mathews <possessedpenguinbob (a] gmail.com> 6798 6799 Reviewed by Oliver Hunt. 6800 6801 Bug 19835: WebKit needs cross-platform filter system 6802 <https://bugs.webkit.org/show_bug.cgi?id=19835> 6803 6804 More class refactoring in preparation for cross-platform filter 6805 implementation. 6806 6807 * WebCore.xcodeproj/project.pbxproj: 6808 * svg/FilterEffect.h: 6809 * svg/SVGComponentTransferFunctionElement.cpp: 6810 (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): 6811 (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): 6812 (WebCore::SVGComponentTransferFunctionElement::transferFunction): 6813 * svg/SVGComponentTransferFunctionElement.h: 6814 * svg/SVGFEColorMatrixElement.cpp: 6815 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement): 6816 (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): 6817 (WebCore::SVGFEColorMatrixElement::filterEffect): 6818 (WebCore::SVGFEColorMatrixElement::build): 6819 * svg/SVGFEColorMatrixElement.h: 6820 * svg/SVGFEComponentTransferElement.cpp: 6821 (WebCore::SVGFEComponentTransferElement::filterEffect): 6822 (WebCore::SVGFEComponentTransferElement::build): 6823 * svg/SVGFEComponentTransferElement.h: 6824 * svg/SVGFECompositeElement.cpp: 6825 (WebCore::SVGFECompositeElement::SVGFECompositeElement): 6826 (WebCore::SVGFECompositeElement::parseMappedAttribute): 6827 (WebCore::SVGFECompositeElement::filterEffect): 6828 (WebCore::SVGFECompositeElement::build): 6829 * svg/SVGFECompositeElement.h: 6830 * svg/graphics/filters/SVGFEBlend.cpp: 6831 * svg/graphics/filters/SVGFEBlend.h: 6832 * svg/graphics/filters/SVGFEColorMatrix.cpp: 6833 (WebCore::FEColorMatrix::FEColorMatrix): 6834 (WebCore::FEColorMatrix::create): 6835 (WebCore::FEColorMatrix::type): 6836 (WebCore::FEColorMatrix::setType): 6837 (WebCore::FEColorMatrix::values): 6838 (WebCore::FEColorMatrix::setValues): 6839 (WebCore::FEColorMatrix::apply): 6840 (WebCore::FEColorMatrix::dump): 6841 * svg/graphics/filters/SVGFEColorMatrix.h: 6842 (WebCore::): 6843 * svg/graphics/filters/SVGFEComponentTransfer.cpp: 6844 (WebCore::FEComponentTransfer::FEComponentTransfer): 6845 (WebCore::FEComponentTransfer::create): 6846 (WebCore::FEComponentTransfer::redFunction): 6847 (WebCore::FEComponentTransfer::setRedFunction): 6848 (WebCore::FEComponentTransfer::greenFunction): 6849 (WebCore::FEComponentTransfer::setGreenFunction): 6850 (WebCore::FEComponentTransfer::blueFunction): 6851 (WebCore::FEComponentTransfer::setBlueFunction): 6852 (WebCore::FEComponentTransfer::alphaFunction): 6853 (WebCore::FEComponentTransfer::setAlphaFunction): 6854 (WebCore::FEComponentTransfer::apply): 6855 (WebCore::FEComponentTransfer::dump): 6856 * svg/graphics/filters/SVGFEComponentTransfer.h: 6857 (WebCore::): 6858 (WebCore::ComponentTransferFunction::ComponentTransferFunction): 6859 * svg/graphics/filters/SVGFEComposite.cpp: 6860 (WebCore::FEComposite::FEComposite): 6861 (WebCore::FEComposite::create): 6862 (WebCore::FEComposite::operation): 6863 (WebCore::FEComposite::setOperation): 6864 (WebCore::FEComposite::k1): 6865 (WebCore::FEComposite::setK1): 6866 (WebCore::FEComposite::k2): 6867 (WebCore::FEComposite::setK2): 6868 (WebCore::FEComposite::k3): 6869 (WebCore::FEComposite::setK3): 6870 (WebCore::FEComposite::k4): 6871 (WebCore::FEComposite::setK4): 6872 (WebCore::FEComposite::apply): 6873 (WebCore::FEComposite::dump): 6874 * svg/graphics/filters/SVGFEComposite.h: 6875 (WebCore::): 6876 * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm: Removed. 6877 * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm: Removed. 6878 * svg/graphics/filters/cg/SVGFECompositeCg.mm: Removed. 6879 6880 2008-07-03 Dan Bernstein <mitz (a] apple.com> 6881 6882 Reviewed by John Sullivan. 6883 6884 - fix <rdar://problem/6020930> Bidi Problem When Resizing Window 6885 6886 Test: fast/text/international/bidi-AN-after-empty-run.html 6887 6888 * platform/text/BidiResolver.h: 6889 (WebCore::::appendRun): Changed to reset the current direction and 6890 "end of run" direction even in the empty run case. 6891 * rendering/bidi.cpp: 6892 (WebCore::BidiState::appendRun): Ditto. 6893 6894 2008-07-02 Jon Honeycutt <jhoneycutt (a] apple.com> 6895 6896 <rdar://5983747> Safari crashes trying to load the SilverLight plugin 6897 6898 If a plug-in returned an error code from NPP_NewStream, we would call 6899 NPP_DestroyStream while cleaning up the request. We now only call 6900 NPP_DestroyStream if NPP_NewStream was successful, matching Firefox. 6901 6902 Reviewed by Anders. 6903 6904 * plugins/PluginStream.cpp: 6905 (WebCore::PluginStream::startStream): If NPP_NewStream returns an error, 6906 don't set m_streamState to StreamStarted, and return after calling 6907 cancelAndDestroyStream. 6908 (WebCore::PluginStream::destroyStream): Don't call NPP_DestroyStream if 6909 the stream didn't start successfully. 6910 6911 2008-07-03 David Hyatt <hyatt (a] apple.com> 6912 6913 Revise Dan's fix for an assert on Windows, since layoutIfNeededRecursive doesn't exist on the 6914 Mac. Revert updateControlTints and add the layout call outside of it in the already-existing 6915 !PLATFORM(MAC) ifdef in FocusController's setActive method. 6916 6917 Reviewed by ggaren, weinig 6918 6919 * page/FocusController.cpp: 6920 (WebCore::FocusController::setActive): 6921 * page/FrameView.cpp: 6922 (WebCore::FrameView::updateControlTints): 6923 6924 2008-07-03 Alexey Proskuryakov <ap (a] webkit.org> 6925 6926 Reviewed by Darin. 6927 6928 https://bugs.webkit.org/show_bug.cgi?id=19884 6929 Locating a store at www.366.ru doesn't work 6930 6931 Test: fast/forms/submit-with-base.html 6932 6933 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Treat empty action the same 6934 as missing one - ignore base URL. 6935 6936 2008-07-03 Dan Bernstein <mitz (a] apple.com> 6937 6938 Reviewed by John Sullivan. 6939 6940 - fix <rdar://problem/6048904> Assert in WebCore::Frame::paint in Windows 6941 6942 * page/FrameView.cpp: 6943 (WebCore::FrameView::updateControlTints): Changed to update layout 6944 recursively and not just for the top-level frame. 6945 6946 2008-07-03 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 6947 6948 Reviewed by Geoff. 6949 6950 Bug 19853: REGRESSION (r34838): Crash when visiting http://www.thewebsiteisdown.com/salesguy.html 6951 https://bugs.webkit.org/show_bug.cgi?id=19853 6952 6953 Remove the body of _NPN_SetException(), because it was simply calling 6954 throwError(), which sets an exception on an ExecState but does not 6955 actually handle it. The presence of an exception on the global ExecState 6956 causes assertions that there is no exception set on that ExecState to 6957 fail, as well as causing Machine::execute() to mistakingly return 0 in 6958 some cases, as it assumes the presence of an exception implies that it 6959 has run out of memory. 6960 6961 * bridge/NP_jsobject.cpp: 6962 (_NPN_SetException): 6963 6964 2008-07-03 Maciej Katafiasz <mathrick (a] gmail.com> 6965 6966 Gtk build fix with SVG filters enabled 6967 6968 * GNUmakefile.am: Include missing SVG filter sources 6969 6970 2008-07-03 Simon Hausmann <hausmann (a] webkit.org> 6971 6972 Fix the Qt build, added FilterEffect to the build. 6973 6974 * WebCore.pro: 6975 6976 2008-07-02 Brady Eidson <beidson (a] apple.com> 6977 6978 Reviewed by Mitz Pettel and John Sullivan 6979 6980 Fix for <rdar://problem/5549871> - Crash when calling [WebView stopLoading:] or [WebFrame stopLoading] 6981 inside of the frame load delegate method -webView:didStartProvisionalLoadForFrame:. 6982 6983 Test: fast/loader/stop-provisional-loads.html 6984 6985 * loader/FrameLoader.cpp: 6986 (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Since the provisionalDocumentLoader may have been cleared 6987 by the prepareForLoadStart() call, null check it again. 6988 6989 2008-07-01 Alex Mathews <possessedpenguinbob (a] gmail.com> 6990 6991 Reviewed by Oliver Hunt. 6992 6993 Renaming of class SVGFEBlend to FEBlend as well as removing 6994 a little bit of antiquated code. This includes the removal of 6995 SVGFEBlendCg.mm; the feBlend element will now no longer 6996 render. 6997 6998 * WebCore.xcodeproj/project.pbxproj: 6999 * svg/FilterBuilder.h: 7000 (WebCore::FilterBuilder::add): 7001 (WebCore::FilterBuilder::getEffectById): 7002 * svg/SVGFEBlendElement.cpp: 7003 (WebCore::SVGFEBlendElement::SVGFEBlendElement): 7004 (WebCore::SVGFEBlendElement::parseMappedAttribute): 7005 (WebCore::SVGFEBlendElement::filterEffect): 7006 (WebCore::SVGFEBlendElement::build): 7007 * svg/SVGFEBlendElement.h: 7008 * svg/SVGFilterPrimitiveStandardAttributes.h: 7009 * svg/graphics/filters/SVGFEBlend.cpp: 7010 (WebCore::FEBlend::FEBlend): 7011 (WebCore::FEBlend::create): 7012 (WebCore::FEBlend::in2): 7013 (WebCore::FEBlend::setIn2): 7014 (WebCore::FEBlend::blendMode): 7015 (WebCore::FEBlend::setBlendMode): 7016 (WebCore::FEBlend::apply): 7017 (WebCore::FEBlend::dump): 7018 * svg/graphics/filters/SVGFEBlend.h: 7019 (WebCore::): 7020 * svg/graphics/filters/cg/SVGFEBlendCg.mm: Removed. 7021 7022 2008-07-02 Beth Dakin <bdakin (a] apple.com> 7023 7024 Reviewed by Darin. 7025 7026 Fix for <rdar://problem/6015523> Implement ARIA ranges/sliders 7027 and 7028 <rdar://problem/5934355> Need to implement ARIA role="spinbutton" 7029 7030 * page/AccessibilityObject.h: 7031 (WebCore::AccessibilityObject::isSlider): 7032 * page/AccessibilityRenderObject.cpp: 7033 (WebCore::AccessibilityRenderObject::isSlider): 7034 (WebCore::AccessibilityRenderObject::valueForRange): 7035 (WebCore::AccessibilityRenderObject::maxValueForRange): 7036 (WebCore::AccessibilityRenderObject::minValueForRange): 7037 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): We 7038 were addressing the generic has-an-ARIA-role case too early here. 7039 (WebCore::AccessibilityRenderObject::focusedUIElement): This is a 7040 bug I ran into while testing role='spinbutton', spinbutton is a 7041 role that can have an active descendant. But we were always trying 7042 to forward focus to the active descendant, even if one was not 7043 specified. 7044 (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant): 7045 'spinbutton' maps to ProgressIndicatorRole. 7046 (WebCore::RoleEntry::): 7047 (WebCore::AccessibilityRenderObject::canSetValueAttribute): 7048 * page/AccessibilityRenderObject.h: 7049 * page/mac/AccessibilityObjectWrapper.mm: 7050 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 7051 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 7052 7053 2008-07-02 Dan Bernstein <mitz (a] apple.com> 7054 7055 Reviewed by Adam Roben. 7056 7057 - Windows build fix 7058 7059 Renamed the ERROR token in the XPath grammar to XPATH_ERROR, because 7060 the ERROR macro is defined in <wingdi.h>. 7061 7062 * xml/XPathGrammar.y: 7063 * xml/XPathParser.cpp: 7064 (WebCore::XPath::Parser::lexString): 7065 (WebCore::XPath::Parser::nextTokenInternal): 7066 7067 2008-07-02 Alexey Proskuryakov <ap (a] webkit.org> 7068 7069 Inspired and reviewed by Mark Rowe. 7070 7071 Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style. 7072 7073 * bindings/objc/ExceptionHandlers.h: 7074 * bindings/objc/WebScriptObject.mm: 7075 * dom/Document.cpp: 7076 * dom/Node.cpp: 7077 * page/Frame.cpp: 7078 * page/InspectorController.cpp: 7079 * page/JavaScriptProfileNode.cpp: 7080 * page/mac/FrameMac.mm: 7081 * platform/mac/ThreadCheck.mm: 7082 * xml/XMLHttpRequest.cpp: 7083 7084 2008-07-02 Simon Hausmann <hausmann (a] webkit.org> 7085 7086 Fix the Gtk build. 7087 7088 * plugins/gtk/PluginViewGtk.cpp: Adapt to JSLock API changes. 7089 (WebCore::PluginView::paint): 7090 (WebCore::PluginView::handleKeyboardEvent): 7091 (WebCore::PluginView::handleMouseEvent): 7092 (WebCore::PluginView::setNPWindowRect): 7093 (WebCore::PluginView::stop): 7094 (WebCore::PluginView::init): 7095 7096 2008-07-02 Simon Hausmann <hausmann (a] webkit.org> 7097 7098 Build fixes. 7099 7100 * WebCore.pro: Added plugins/PluginMainThreadScheduler.cpp to the 7101 build. 7102 * bridge/qt/qt_instance.cpp: Adjust to JSLock API change. 7103 * bridge/qt/qt_runtime.cpp: Ditto. 7104 (KJS::Bindings::convertValueToQVariant): 7105 (KJS::Bindings::convertQVariantToValue): 7106 (KJS::Bindings::QtRuntimeMetaMethod::call): 7107 (KJS::Bindings::QtRuntimeConnectionMethod::call): 7108 (KJS::Bindings::QtConnectionObject::execute): 7109 * page/JavaScriptProfileNode.cpp: Inlude kjs/JSValue.h instead of 7110 JavaScriptCore/JSValue.h. 7111 * plugins/qt/PluginViewQt.cpp: Adjust to JSLock API changes. 7112 (WebCore::PluginView::setNPWindowRect): Ditto. 7113 (WebCore::PluginView::stop): Ditto. 7114 (WebCore::PluginView::init): Ditto. 7115 7116 2008-07-02 Alexey Proskuryakov <ap (a] webkit.org> 7117 7118 Build fix. 7119 7120 * plugins/PluginView.cpp: 7121 (WebCore::PluginView::start): 7122 (WebCore::getString): 7123 (WebCore::PluginView::performRequest): 7124 (WebCore::PluginView::bindingInstance): 7125 * plugins/win/PluginViewWin.cpp: 7126 (WebCore::PluginView::dispatchNPEvent): 7127 (WebCore::PluginView::setNPWindowRect): 7128 (WebCore::PluginView::stop): 7129 Pass false to JSLock and JSLock::DropAllLocks constructors. 7130 7131 2008-07-01 Oliver Hunt <oliver (a] apple.com> 7132 7133 Reviewed by Geoff Garen. 7134 7135 <rdar://problem/5974306> CanvasRenderingContext2D becomes invalid when source canvas element is collected 7136 7137 In order to fix this we now make the rendering context and the canvas element 7138 share the same reference count, ensuring that references to the rendering 7139 context will force the canvas element to remain live as well. 7140 7141 Test: fast/canvas/canvas-longlived-context.html 7142 7143 * html/CanvasRenderingContext2D.cpp: 7144 (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode): 7145 (WebCore::CanvasRenderingContext2D::createImageData): 7146 (WebCore::CanvasRenderingContext2D::getImageData): 7147 (WebCore::CanvasRenderingContext2D::putImageData): 7148 * html/CanvasRenderingContext2D.h: 7149 (WebCore::CanvasRenderingContext2D::create): 7150 * html/HTMLCanvasElement.cpp: 7151 (WebCore::HTMLCanvasElement::getContext): 7152 * html/HTMLCanvasElement.h: 7153 7154 2008-07-01 Alexey Proskuryakov <ap (a] webkit.org> 7155 7156 Reviewed by Darin. 7157 7158 Disable JSLock for per-thread contexts. 7159 7160 * bridge/runtime_root.cpp: 7161 (KJS::Bindings::RootObject::invalidate): 7162 (KJS::Bindings::RootObject::gcProtect): 7163 (KJS::Bindings::RootObject::gcUnprotect): 7164 Don't lock while calling gcProtect/gcUnprotect, which now has its own implicit lock. 7165 7166 * storage/Database.cpp: (WebCore::Database::Database): Call Heap::setGCProtectNeedsLocking 7167 to indicate that protected value list can be concurrently accessed from multiple threads now. 7168 7169 * xml/XMLHttpRequest.cpp: 7170 (WebCore::XMLHttpRequest::loadRequestSynchronously): There is no need to drop the locks here, 7171 as fake locks cannot deadlock, and there is no danger that someone will try to take a real 7172 JSLock on the main thread while we are waiting for response. 7173 (WebCore::XMLHttpRequest::loadRequestAsynchronously): There is no need to explicitly lock 7174 around gcProtect/gcUnprotect now. 7175 (WebCore::XMLHttpRequest::dropProtection): Access heap directly, rather than via 7176 JSGlobalData::threadInstance(). 7177 7178 * bindings/js/GCController.cpp: 7179 (WebCore::collect): 7180 (WebCore::GCController::gcTimerFired): 7181 (WebCore::GCController::garbageCollectNow): 7182 (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging): 7183 * bindings/js/JSCustomSQLStatementCallback.cpp: 7184 (WebCore::JSCustomSQLStatementCallback::handleEvent): 7185 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 7186 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 7187 * bindings/js/JSCustomSQLTransactionCallback.cpp: 7188 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 7189 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 7190 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 7191 * bindings/js/JSCustomVoidCallback.cpp: 7192 (WebCore::JSCustomVoidCallback::handleEvent): 7193 * bindings/js/JSCustomXPathNSResolver.cpp: 7194 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 7195 * bindings/js/JSDOMWindowBase.cpp: 7196 (WebCore::DOMWindowTimer::~DOMWindowTimer): 7197 (WebCore::JSDOMWindowBase::clear): 7198 (WebCore::JSDOMWindowBase::timerFired): 7199 * bindings/js/JSEventCustom.cpp: 7200 (WebCore::toJS): 7201 * bindings/js/JSEventListener.cpp: 7202 (WebCore::JSAbstractEventListener::handleEvent): 7203 (WebCore::JSLazyEventListener::parseCode): 7204 * bindings/js/JSNodeFilterCondition.cpp: 7205 (WebCore::JSNodeFilterCondition::acceptNode): 7206 * bindings/js/ScheduledAction.cpp: 7207 (WebCore::ScheduledAction::execute): 7208 * bindings/js/ScriptController.cpp: 7209 (WebCore::ScriptController::evaluate): 7210 (WebCore::ScriptController::clear): 7211 (WebCore::ScriptController::createHTMLEventHandler): 7212 (WebCore::ScriptController::createSVGEventHandler): 7213 (WebCore::ScriptController::initScript): 7214 (WebCore::ScriptController::updateDocument): 7215 * bindings/objc/WebScriptObject.mm: 7216 (-[WebScriptObject callWebScriptMethod:withArguments:]): 7217 (-[WebScriptObject evaluateWebScript:]): 7218 (-[WebScriptObject setValue:forKey:]): 7219 (-[WebScriptObject valueForKey:]): 7220 (-[WebScriptObject removeWebScriptKey:]): 7221 (-[WebScriptObject stringRepresentation]): 7222 (-[WebScriptObject webScriptValueAtIndex:]): 7223 (-[WebScriptObject setWebScriptValueAtIndex:value:]): 7224 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 7225 * bridge/NP_jsobject.cpp: 7226 (_NPN_InvokeDefault): 7227 (_NPN_Invoke): 7228 (_NPN_Evaluate): 7229 (_NPN_GetProperty): 7230 (_NPN_SetProperty): 7231 (_NPN_RemoveProperty): 7232 (_NPN_HasProperty): 7233 (_NPN_HasMethod): 7234 (_NPN_SetException): 7235 (_NPN_Enumerate): 7236 * bridge/c/c_class.cpp: 7237 (KJS::Bindings::CClass::~CClass): 7238 (KJS::Bindings::CClass::methodsNamed): 7239 (KJS::Bindings::CClass::fieldNamed): 7240 * bridge/c/c_instance.cpp: 7241 (KJS::Bindings::CInstance::invokeMethod): 7242 (KJS::Bindings::CInstance::invokeDefaultMethod): 7243 (KJS::Bindings::CInstance::getPropertyNames): 7244 * bridge/c/c_runtime.cpp: 7245 (KJS::Bindings::CField::valueFromInstance): 7246 (KJS::Bindings::CField::setValueToInstance): 7247 * bridge/c/c_utility.cpp: 7248 (KJS::Bindings::convertValueToNPVariant): 7249 (KJS::Bindings::convertNPVariantToValue): 7250 * bridge/jni/jni_class.cpp: 7251 (JavaClass::JavaClass): 7252 (JavaClass::~JavaClass): 7253 * bridge/jni/jni_instance.cpp: 7254 (JavaInstance::stringValue): 7255 * bridge/jni/jni_jsobject.mm: 7256 (JavaJSObject::call): 7257 (JavaJSObject::eval): 7258 (JavaJSObject::getMember): 7259 (JavaJSObject::setMember): 7260 (JavaJSObject::removeMember): 7261 (JavaJSObject::getSlot): 7262 (JavaJSObject::setSlot): 7263 (JavaJSObject::toString): 7264 (JavaJSObject::convertValueToJObject): 7265 (JavaJSObject::convertJObjectToValue): 7266 * bridge/jni/jni_objc.mm: 7267 (KJS::Bindings::dispatchJNICall): 7268 * bridge/jni/jni_runtime.cpp: 7269 (JavaMethod::signature): 7270 * bridge/jni/jni_runtime.h: 7271 (KJS::Bindings::JavaString::JavaString): 7272 (KJS::Bindings::JavaString::_commonInit): 7273 (KJS::Bindings::JavaString::~JavaString): 7274 (KJS::Bindings::JavaString::UTF8String): 7275 * bridge/jni/jni_utility.cpp: 7276 (KJS::Bindings::convertArrayInstanceToJavaArray): 7277 (KJS::Bindings::convertValueToJValue): 7278 * bridge/npruntime.cpp: 7279 (_NPN_GetStringIdentifier): 7280 * bridge/objc/objc_instance.mm: 7281 (ObjcInstance::moveGlobalExceptionToExecState): 7282 (ObjcInstance::invokeMethod): 7283 (ObjcInstance::invokeDefaultMethod): 7284 (ObjcInstance::setValueOfUndefinedField): 7285 (ObjcInstance::getValueOfUndefinedField): 7286 * bridge/objc/objc_runtime.mm: 7287 (ObjcField::valueFromInstance): 7288 (ObjcField::setValueToInstance): 7289 * bridge/objc/objc_utility.mm: 7290 (KJS::Bindings::convertValueToObjcValue): 7291 (KJS::Bindings::convertNSStringToString): 7292 (KJS::Bindings::convertObjcValueToValue): 7293 * bridge/runtime.cpp: 7294 (KJS::Bindings::Instance::createRuntimeObject): 7295 * dom/Document.cpp: 7296 (WebCore::Document::~Document): 7297 * dom/Node.cpp: 7298 (WebCore::Node::setDocument): 7299 * history/CachedPage.cpp: 7300 (WebCore::CachedPage::CachedPage): 7301 (WebCore::CachedPage::restore): 7302 (WebCore::CachedPage::clear): 7303 * html/HTMLPlugInElement.cpp: 7304 (WebCore::HTMLPlugInElement::createNPObject): 7305 * loader/FrameLoader.cpp: 7306 (WebCore::getString): 7307 * page/Frame.cpp: 7308 (WebCore::Frame::bindingRootObject): 7309 (WebCore::Frame::windowScriptNPObject): 7310 (WebCore::Frame::clearScriptObjects): 7311 * page/InspectorController.cpp: 7312 (WebCore::jsStringRef): 7313 (WebCore::ConsoleMessage::ConsoleMessage): 7314 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): 7315 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): 7316 (WebCore::getResourceDocumentNode): 7317 (WebCore::search): 7318 (WebCore::inspectedWindow): 7319 (WebCore::wrapCallback): 7320 (WebCore::currentCallFrame): 7321 (WebCore::profiles): 7322 (WebCore::InspectorController::focusNode): 7323 (WebCore::InspectorController::addDatabaseScriptResource): 7324 (WebCore::InspectorController::addScriptProfile): 7325 * page/JavaScriptCallFrame.cpp: 7326 (WebCore::JavaScriptCallFrame::evaluate): 7327 * page/JavaScriptProfileNode.cpp: 7328 (WebCore::getTotalTime): 7329 (WebCore::getSelfTime): 7330 (WebCore::getTotalPercent): 7331 (WebCore::getSelfPercent): 7332 (WebCore::getNumberOfCalls): 7333 (WebCore::getChildren): 7334 (WebCore::getVisible): 7335 * page/mac/FrameMac.mm: 7336 (WebCore::Frame::windowScriptObject): 7337 Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebCore 7338 doesn't need locking. In the future, it may be possible to remove some of these if we 7339 establish that this won't make JSC assertions fail (and that we don't want to add such 7340 assertions either). 7341 Added includes that are now needed. 7342 7343 2008-07-01 Dan Bernstein <mitz (a] apple.com> 7344 7345 Reviewed by Oliver Hunt. 7346 7347 - fix a CSSParserValueList leak seen on the build bot 7348 7349 * css/CSSParser.cpp: 7350 (WebCore::BorderImageParseContext::commitBorderImage): 7351 7352 2008-07-01 Alex Mathews <possessedpenguinbob (a] gmail.com> 7353 7354 Reviewed by Oliver Hunt. 7355 7356 Prep for more Filter class name changes. Added the first few files for 7357 the new Filter architecture to come. 7358 7359 * WebCore.xcodeproj/project.pbxproj: 7360 * svg/Filter.cpp: Added. 7361 (WebCore::Filter::Filter): 7362 (WebCore::Filter::create): 7363 * svg/Filter.h: Added. 7364 * svg/FilterBuilder.h: Added. 7365 (WebCore::FilterBuilder::add): 7366 (WebCore::FilterBuilder::getEffectById): 7367 (WebCore::FilterBuilder::filter): 7368 * svg/FilterEffect.cpp: Added. 7369 (WebCore::FilterEffect::FilterEffect): 7370 (WebCore::FilterEffect::~FilterEffect): 7371 * svg/FilterEffect.h: Added. 7372 7373 2008-07-01 Christian Dywan <christian (a] twotoasts.de> 7374 7375 Gtk+ build fix. 7376 7377 * GNUmakefile.am: add WebCore/plugins/PluginMainThreadScheduler.cpp 7378 7379 2008-07-01 Anders Carlsson <andersca (a] apple.com> 7380 7381 Reviewed by Darin. 7382 7383 Add PluginMainThreadScheduler.{cpp|h} to build. 7384 7385 * WebCore.base.exp: 7386 * WebCore.xcodeproj/project.pbxproj: 7387 * plugins/PluginMainThreadScheduler.cpp: 7388 7389 2008-07-01 Dan Bernstein <mitz (a] apple.com> 7390 7391 Reviewed by Darin Adler. 7392 7393 - move the method to set the base writing direction from Frame to Editor 7394 7395 * WebCore.base.exp: Updated. 7396 * editing/Editor.cpp: 7397 (WebCore::Editor::setBaseWritingDirection): Changed the parameter to a 7398 WritingDirection enum value and added the special behavior when the 7399 focused node is a text field or a text area. 7400 * editing/Editor.h: 7401 * page/ContextMenuController.cpp: 7402 (WebCore::ContextMenuController::contextMenuItemSelected): Changed back 7403 to call the Editor method. 7404 * page/Frame.cpp: Removed setSelectionBaseWritingDirection(). 7405 * page/Frame.h: 7406 7407 2008-07-01 Darin Adler <darin (a] apple.com> 7408 7409 Reviewed by Oliver. 7410 7411 - slight tweak of the setHash fix 7412 7413 * bindings/js/JSLocationCustom.cpp: 7414 (WebCore::JSLocation::setHash): Use oldRef instead of recomputing url.ref(). 7415 7416 2008-07-01 Dan Bernstein <mitz (a] apple.com> 7417 7418 Reviewed by Anders Carlsson. 7419 7420 - Mac release build fix 7421 7422 * page/Console.cpp: 7423 7424 2008-07-01 Dan Bernstein <mitz (a] apple.com> 7425 7426 Reviewed by Anders Carlsson. 7427 7428 - fix <rdar://problem/6045896> REGRESSION: Leak in WebCore::StringImpl::create 7429 7430 * css/CSSPrimitiveValue.cpp: 7431 (WebCore::CSSPrimitiveValue::cleanup): 7432 7433 2008-07-01 Anders Carlsson <andersca (a] apple.com> 7434 7435 Reviewed by Jon. 7436 7437 Don't add the Mozilla user agent quirk for Flash 10. 7438 7439 * plugins/win/PluginPackageWin.cpp: 7440 (WebCore::PluginPackage::isPluginBlacklisted): 7441 (WebCore::PluginPackage::determineQuirks): 7442 7443 2008-07-01 David Kilzer <ddkilzer (a] apple.com> 7444 7445 Move data: URL parsing code in HTMLObjectElement to KURL 7446 7447 Reviewed by Ada and Darin. 7448 7449 No test cases added since there is no change in behavior. 7450 7451 * html/HTMLObjectElement.cpp: 7452 (WebCore::HTMLObjectElement::isImageType): Extracted data: URL 7453 parsing code into WebCore::mimeTypeFromDataURL() in KURL.cpp. 7454 * platform/KURL.cpp: 7455 (WebCore::mimeTypeFromDataURL): Added. 7456 * platform/KURL.h: 7457 (WebCore::mimeTypeFromDataURL): Added. 7458 7459 2008-07-01 Dan Bernstein <mitz (a] apple.com> 7460 7461 Reviewed by Dave Hyatt. 7462 7463 - fix <rdar://problem/6045890> REGRESSION: Leak in WebCore::CSSParser::createFloatingValueList() 7464 7465 * css/CSSParser.cpp: 7466 (WebCore::CSSParser::addUnresolvedProperty): 7467 7468 2008-07-01 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 7469 7470 Reviewed by Brady Eidson. 7471 7472 Bug 19822: REGRESSION (r30243): setting location.hash to "#" causes a reload 7473 <https://bugs.webkit.org/show_bug.cgi?id=19822> 7474 7475 Change JSLocation::setHash() to not schedule navigation in the case 7476 where the old fragment is the null String and the new fragment is an 7477 empty String. 7478 7479 * bindings/js/JSLocationCustom.cpp: 7480 (WebCore::JSLocation::setHash): 7481 7482 2008-06-30 Anders Carlsson <andersca (a] apple.com> 7483 7484 Reviewed by Adam. 7485 7486 Add PluginMainThreadScheduler, a singleton which is responsible for scheduling plug-in 7487 callbacks on the main thread. Use this to implement NPN_PluginThreadAsyncCall on Windows. 7488 7489 * WebCore.vcproj/WebCore.vcproj: 7490 Add PluginMainThreadScheduler.{cpp|h} 7491 7492 * plugins/PluginMainThreadScheduler.cpp: Added. 7493 * plugins/PluginMainThreadScheduler.h: Added. 7494 7495 * plugins/PluginView.cpp: 7496 (WebCore::PluginView::start): 7497 Register with the thread scheduler. 7498 7499 * plugins/npapi.cpp: 7500 (NPN_PluginThreadAsyncCall): 7501 Call the thread scheduler. 7502 7503 * plugins/win/PluginPackageWin.cpp: 7504 (WebCore::PluginPackage::load): 7505 Initialize the NPN_PluginThreadAsyncCall callback. 7506 7507 * plugins/win/PluginViewWin.cpp: 7508 (WebCore::PluginView::stop): 7509 Unregister with the scheduler. This makes sure that we won't try to deliver callbacks 7510 after the plug-in has been destroyed. 7511 7512 2008-07-01 Adam Roben <aroben (a] apple.com> 7513 7514 Roll out r34913, as it broke the Windows build due to bad casting 7515 7516 r34913 introduced code that assigned pointers-to-member from a derived 7517 class into a base class pointer-to-member type (e.g., assigned a void 7518 (SVGUseElement::*)() into a void (SVGElement::*)()). This is bad 7519 because it could allow us to call SVGUseElement member functions on a 7520 different SVGElement-derived class. MSVC rightly flagged this as an 7521 error. 7522 7523 Rubberstamped by Anders Carlsson. 7524 7525 2008-07-01 Darin Adler <darin (a] apple.com> 7526 7527 - fix build 7528 7529 * bindings/scripts/CodeGeneratorJS.pm: Fix warnings that indicate this was 7530 not working propertly. 7531 7532 2008-07-01 Dan Bernstein <mitz (a] apple.com> 7533 7534 Reviewed by Darin Adler. 7535 7536 - fix <rdar://problem/6045893> REGRESSION: Leak in WebCore::HTMLCanvasElement::createPlatformImage() const 7537 7538 * html/CanvasRenderingContext2D.cpp: 7539 (WebCore::CanvasRenderingContext2D::createPattern): 7540 7541 2008-07-01 Sam Weinig <sam (a] webkit.org> 7542 7543 Reviewed by Darin Adler. 7544 7545 Split JSCell and JSNumberCell class declarations out of JSValue.h 7546 7547 * ForwardingHeaders/kjs/JSNumberCell.h: Added. 7548 * bindings/scripts/CodeGeneratorJS.pm: 7549 * bridge/c/c_instance.cpp: 7550 7551 2008-07-01 chris fleizach <cfleizach (a] apple.com> 7552 7553 Reviewed by Beth Dakin 7554 7555 <rdar://problem/6041580> REGRESSION: AX: AXSize of radio buttons is 0,0 7556 7557 Test: accessibility/radio-button-checkbox-size.html 7558 7559 * page/AccessibilityRenderObject.cpp: 7560 (WebCore::AccessibilityRenderObject::checkboxOrRadioRect): 7561 7562 2008-07-01 Dan Bernstein <mitz (a] apple.com> 7563 7564 Reviewed by Antti Koivisto. 7565 7566 - fix SVG pointer-events layout test failures 7567 7568 * css/SVGCSSParser.cpp: 7569 (WebCore::CSSParser::parseSVGValue): 7570 7571 2008-07-01 Nikolas Zimmermann <zimmermann (a] kde.org> 7572 7573 Reviewed by Antti. 7574 7575 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19841 7576 Fix two small problems in the gradient & pattern code. 7577 7578 Added 12 new layout tests: svg/dynamic-updates/SVGLinearGradientElement*.html 7579 7580 * svg/SVGLinearGradientElement.cpp: 7581 (WebCore::SVGLinearGradientElement::collectGradientProperties): Compare against already computed bounding box information, instead of querying attributes. 7582 * svg/SVGPatternElement.cpp: 7583 (WebCore::SVGPatternElement::collectPatternProperties): Ditto. 7584 * svg/SVGRadialGradientElement.cpp: 7585 (WebCore::SVGRadialGradientElement::collectGradientProperties): Ditto. 7586 (WebCore::SVGRadialGradientElement::svgAttributeChanged): 'fxAttr' updating wasn't handled. Copy'n'paste error. 7587 7588 2008-07-01 Simon Hausmann <hausmann (a] webkit.org> 7589 7590 Fix the build, include SVGTransformList.h instead of 7591 SVGTransformlist.h 7592 7593 * svg/SVGGradientElement.h: 7594 7595 2008-07-01 Alexey Proskuryakov <ap (a] webkit.org> 7596 7597 Reviewed by Antti. 7598 7599 <rdar://problem/6033080> REGRESSION: Some CH characters display as garbage on webpage for 7600 the first time. 7601 7602 Test: fast/encoding/preload-encoding.html 7603 7604 * html/PreloadScanner.cpp: 7605 (WebCore::PreloadScanner::tokenize): Reset charset when entering a tag, not just when 7606 starting a load. 7607 7608 2008-07-01 Nikolas Zimmermann <zimmermann (a] kde.org> 7609 7610 Reviewed by Antti & Eric. 7611 7612 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support) 7613 7614 SVG Errata states: "All SVG DOM objects that directly correspond to an 7615 attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This 7616 means that any changes made to the attribute are immediately reflected in the 7617 corresponding SVG DOM object." (see linked URL on bug report) 7618 7619 Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect> 7620 element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value). 7621 7622 Add a new synchronization layer to handle SVG DOM -> XML changes. 7623 7624 Global macro change #1: ANIMATED_PROPERTY_FORWARD_DECLARATIONS contains the class name where it's defined as first parameter. 7625 Global macro change #2: Add ANIMATED_PROPERTY_START_DECLARATIONS to all direct base-classes. 7626 Global macro change #3: Rename ANIMATED_PROPERTY_DEFINITIONS to ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED for refcounted types (ie. SVGTransformList*). 7627 7628 Added test: svg/custom/svg-xml-dom-sync.html 7629 Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml) 7630 7631 * dom/Element.cpp: 7632 (WebCore::Element::Element): Initialize the two new bits. 7633 (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks. 7634 (WebCore::Element::getAttribute): Ditto. 7635 (WebCore::Element::hasAttributes): Ditto. 7636 * dom/Element.h: Add two bits: m_synchronizedSVGAttributes/m_synchronizingSVGAttribute, to track synchronization status. 7637 (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute. 7638 * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros. 7639 * svg/SVGAElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7640 (WebCore::SVGAElement::contextElement): Return non-const value. 7641 * svg/SVGAltGlyphElement.h: 7642 (WebCore::SVGAltGlyphElement::contextElement): Ditto. 7643 * svg/SVGAnimateElement.h: 7644 (WebCore::SVGAnimateElement::contextElement): Ditto. 7645 * svg/SVGAnimateMotionElement.h: 7646 (WebCore::SVGAnimateMotionElement::contextElement): Ditto. 7647 * svg/SVGAnimateTransformElement.h: 7648 (WebCore::SVGAnimateTransformElement::contextElement): Ditto. 7649 * svg/SVGAnimatedTemplate.h: Add toString() conversion to all SVGAnimated* classes 7650 (WebCore::SVGAnimatedTemplate::toString): 7651 (WebCore::SVGAnimatedTemplate::associatedAttributeName): 7652 (WebCore::lookupOrCreateWrapper): 7653 (WebCore::SVGAnimatedAngle::SVGAnimatedAngle): 7654 (WebCore::SVGAnimatedAngle::toString): 7655 (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean): 7656 (WebCore::SVGAnimatedBoolean::toString): 7657 (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration): 7658 (WebCore::SVGAnimatedEnumeration::toString): 7659 (WebCore::SVGAnimatedInteger::SVGAnimatedInteger): 7660 (WebCore::SVGAnimatedInteger::toString): 7661 (WebCore::SVGAnimatedLength::SVGAnimatedLength): 7662 (WebCore::SVGAnimatedLength::toString): 7663 (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList): 7664 (WebCore::SVGAnimatedLengthList::toString): 7665 (WebCore::SVGAnimatedNumber::SVGAnimatedNumber): 7666 (WebCore::SVGAnimatedNumber::toString): 7667 (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList): 7668 (WebCore::SVGAnimatedNumberList::toString): 7669 (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio): 7670 (WebCore::SVGAnimatedPreserveAspectRatio::toString): 7671 (WebCore::SVGAnimatedRect::SVGAnimatedRect): 7672 (WebCore::SVGAnimatedRect::toString): 7673 (WebCore::SVGAnimatedString::SVGAnimatedString): 7674 (WebCore::SVGAnimatedString::toString): 7675 (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList): 7676 (WebCore::SVGAnimatedTransformList::toString): 7677 (WebCore::SVGAnimatedType::SVGAnimatedType): 7678 * svg/SVGAnimationElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7679 * svg/SVGCircleElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7680 (WebCore::SVGCircleElement::contextElement): Return non-const value. 7681 * svg/SVGClipPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7682 (WebCore::SVGClipPathElement::contextElement): Return non-const value. 7683 * svg/SVGComponentTransferFunctionElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. 7684 * svg/SVGComponentTransferFunctionElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this class is a base class. 7685 * svg/SVGCursorElement.cpp: Wrap SVGLength objects in SVGLength() statements. 7686 (WebCore::SVGCursorElement::SVGCursorElement): 7687 * svg/SVGCursorElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. Add ANIMATED_PROPERTY_START_DECLARATIONS. 7688 (WebCore::SVGCursorElement::contextElement): Return non-const value. 7689 * svg/SVGDefsElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7690 (WebCore::SVGDefsElement::contextElement): Return non-const value. 7691 * svg/SVGElement.cpp: 7692 (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization. 7693 (WebCore::SVGElement::setSynchronizedSVGAttributes): 7694 * svg/SVGElement.h: Add helper class "StoredTypeWithDirtyFlag". 7695 (StoredTypeWithDirtyFlag::StoredTypeWithDirtyFlag): Tracks a type and a flag indicating that SVG<->XML DOM synchronization has to be done. 7696 (StoredTypeWithDirtyFlag::operator=): 7697 (StoredTypeWithDirtyFlag::operator==): 7698 (StoredTypeWithDirtyFlag::operator!=): 7699 (StoredTypeWithDirtyFlag::operator StoredType): 7700 (WebCore::SVGElement::invokeSVGPropertySynchronizer): New set of functions taking care of invoking the update handlers. 7701 (WebCore::SVGElement::invokeAllSVGPropertySynchronizers): Ditto. 7702 (WebCore::SVGElement::addSVGPropertySynchronizer): Ditto. 7703 * svg/SVGEllipseElement.cpp: Wrap SVGLength objects in SVGLength() statements. 7704 (WebCore::SVGEllipseElement::SVGEllipseElement): 7705 * svg/SVGEllipseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7706 (WebCore::SVGEllipseElement::contextElement): Return non-const value. 7707 * svg/SVGExternalResourcesRequired.h: Change contextElement() to return a non-const value. 7708 * svg/SVGFEBlendElement.h: 7709 (WebCore::SVGFEBlendElement::contextElement): Return non-const value. 7710 * svg/SVGFEColorMatrixElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. 7711 * svg/SVGFEColorMatrixElement.h: 7712 (WebCore::SVGFEColorMatrixElement::contextElement): Return non-const value. 7713 * svg/SVGFEComponentTransferElement.h: 7714 (WebCore::SVGFEComponentTransferElement::contextElement): Return non-const value. 7715 * svg/SVGFECompositeElement.h: 7716 (WebCore::SVGFECompositeElement::contextElement): Return non-const value. 7717 * svg/SVGFEDiffuseLightingElement.h: 7718 (WebCore::SVGFEDiffuseLightingElement::contextElement): Return non-const value. 7719 * svg/SVGFEDisplacementMapElement.h: 7720 (WebCore::SVGFEDisplacementMapElement::contextElement): Return non-const value. 7721 * svg/SVGFEFloodElement.h: 7722 (WebCore::SVGFEFloodElement::contextElement): Return non-const value. 7723 * svg/SVGFEGaussianBlurElement.h: 7724 (WebCore::SVGFEGaussianBlurElement::contextElement): Return non-const value. 7725 * svg/SVGFEImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. 7726 * svg/SVGFEImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7727 (WebCore::SVGFEImageElement::contextElement): Return non-const value. 7728 * svg/SVGFELightElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class. 7729 * svg/SVGFEMergeElement.h: 7730 (WebCore::SVGFEMergeElement::contextElement): Return non-const value. 7731 * svg/SVGFEMergeNodeElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class. 7732 (WebCore::SVGFEMergeNodeElement::contextElement): Return non-const value. 7733 * svg/SVGFEOffsetElement.h: 7734 (WebCore::SVGFEOffsetElement::contextElement): Return non-const value. 7735 * svg/SVGFESpecularLightingElement.h: 7736 (WebCore::SVGFESpecularLightingElement::contextElement): Return non-const value. 7737 * svg/SVGFETileElement.h: 7738 (WebCore::SVGFETileElement::contextElement): Return non-const value. 7739 * svg/SVGFETurbulenceElement.h: 7740 (WebCore::SVGFETurbulenceElement::contextElement): Return non-const value. 7741 * svg/SVGFilterElement.cpp: Wrap SVGLength objects in SVGLength() statements. 7742 (WebCore::SVGFilterElement::SVGFilterElement): 7743 * svg/SVGFilterElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7744 (WebCore::SVGFilterElement::contextElement): Return non-const value. 7745 * svg/SVGFilterPrimitiveStandardAttributes.cpp: Wrap SVGLength objects in SVGLength() statements. 7746 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes): 7747 * svg/SVGFilterPrimitiveStandardAttributes.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7748 (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): Return non-const value. 7749 * svg/SVGFitToViewBox.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. 7750 * svg/SVGFitToViewBox.h: Change contextElement() to return a non-const value. 7751 * svg/SVGFontElement.h: 7752 (WebCore::SVGFontElement::contextElement): Return non-const value. 7753 * svg/SVGForeignObjectElement.cpp: Wrap SVGLength objects in SVGLength() statements. 7754 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): 7755 * svg/SVGForeignObjectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7756 (WebCore::SVGForeignObjectElement::contextElement): Return non-const value. 7757 * svg/SVGGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7758 (WebCore::SVGGElement::contextElement): Return non-const value. 7759 * svg/SVGGradientElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. 7760 * svg/SVGGradientElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7761 * svg/SVGImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements. 7762 (WebCore::SVGImageElement::SVGImageElement): 7763 * svg/SVGImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7764 (WebCore::SVGImageElement::contextElement): Return non-const value. 7765 * svg/SVGLengthList.cpp: 7766 (WebCore::SVGLengthList::valueAsString): Add new function converting SVG values to strings. 7767 * svg/SVGLengthList.h: 7768 * svg/SVGLineElement.cpp: Wrap SVGLength objects in SVGLength() statements. 7769 (WebCore::SVGLineElement::SVGLineElement): 7770 * svg/SVGLineElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7771 (WebCore::SVGLineElement::contextElement): Return non-const value. 7772 * svg/SVGLinearGradientElement.cpp: 7773 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): Wrap SVGLength objects in SVGLength() statements. 7774 (WebCore::SVGLinearGradientElement::collectGradientProperties): 7775 * svg/SVGLinearGradientElement.h: 7776 (WebCore::SVGLinearGradientElement::contextElement): Return non-const value. 7777 * svg/SVGMPathElement.h: 7778 (WebCore::SVGMPathElement::contextElement): Return non-const value. 7779 * svg/SVGMarkerElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements. 7780 (WebCore::SVGMarkerElement::SVGMarkerElement): 7781 * svg/SVGMarkerElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7782 (WebCore::SVGMarkerElement::contextElement): Return non-const value. 7783 * svg/SVGMaskElement.cpp: Wrap SVGLength objects in SVGLength() statements. 7784 (WebCore::SVGMaskElement::SVGMaskElement): 7785 * svg/SVGMaskElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7786 (WebCore::SVGMaskElement::contextElement): Return non-const value. 7787 * svg/SVGNumberList.cpp: 7788 (WebCore::SVGNumberList::valueAsString): Add new function converting SVG values to strings. 7789 * svg/SVGNumberList.h: 7790 * svg/SVGPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7791 (WebCore::SVGPathElement::contextElement): Return non-const value. 7792 * svg/SVGPatternElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements. 7793 (WebCore::SVGPatternElement::SVGPatternElement): 7794 (WebCore::SVGPatternElement::collectPatternProperties): 7795 * svg/SVGPatternElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7796 (WebCore::SVGPatternElement::contextElement): Return non-const value. 7797 * svg/SVGPolyElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7798 (WebCore::SVGPolyElement::contextElement): Return non-const value. 7799 * svg/SVGPreserveAspectRatio.cpp: 7800 (WebCore::SVGPreserveAspectRatio::valueAsString): Add new function converting SVG values to strings. 7801 * svg/SVGPreserveAspectRatio.h: 7802 * svg/SVGRadialGradientElement.cpp: Wrap SVGLength objects in SVGLength() statements. 7803 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement): 7804 (WebCore::SVGRadialGradientElement::svgAttributeChanged): 7805 (WebCore::SVGRadialGradientElement::collectGradientProperties): 7806 * svg/SVGRadialGradientElement.h: 7807 (WebCore::SVGRadialGradientElement::contextElement): Return non-const value. 7808 * svg/SVGRectElement.cpp: Wrap SVGLength objects in SVGLength() statements. 7809 (WebCore::SVGRectElement::SVGRectElement): 7810 * svg/SVGRectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7811 (WebCore::SVGRectElement::contextElement): Return non-const value. 7812 * svg/SVGSVGElement.cpp: Wrap SVGLength objects in SVGLength() statements. 7813 (WebCore::SVGSVGElement::SVGSVGElement): 7814 (WebCore::SVGSVGElement::currentView): Pass non-const SVGSVGElement* object to SVGViewSpec. 7815 * svg/SVGSVGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7816 (WebCore::SVGSVGElement::contextElement): Return non-const value. 7817 * svg/SVGScriptElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7818 (WebCore::SVGScriptElement::contextElement): Return non-const value. 7819 * svg/SVGStyledElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class. 7820 * svg/SVGStyledTransformableElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. 7821 * svg/SVGStyledTransformableElement.h: 7822 * svg/SVGSwitchElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7823 (WebCore::SVGSwitchElement::contextElement): Return non-const value. 7824 * svg/SVGSymbolElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7825 (WebCore::SVGSymbolElement::contextElement): Return non-const value. 7826 * svg/SVGTRefElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7827 (WebCore::SVGTRefElement::contextElement): Return non-const value. 7828 * svg/SVGTSpanElement.h: 7829 (WebCore::SVGTSpanElement::contextElement): Return non-const value. 7830 * svg/SVGTextContentElement.cpp: Wrap SVGLength objects in SVGLength() statements. 7831 (WebCore::SVGTextContentElement::SVGTextContentElement): 7832 * svg/SVGTextContentElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7833 * svg/SVGTextElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. 7834 * svg/SVGTextElement.h: 7835 (WebCore::SVGTextElement::contextElement): Return non-const value. 7836 * svg/SVGTextPathElement.cpp: Wrap SVGLength objects in SVGLength() statements. 7837 (WebCore::SVGTextPathElement::SVGTextPathElement): 7838 * svg/SVGTextPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7839 (WebCore::SVGTextPathElement::contextElement): Return non-const value. 7840 * svg/SVGTextPositioningElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. 7841 * svg/SVGTextPositioningElement.h: 7842 * svg/SVGTransformList.cpp: 7843 (SVGTransformList::valueAsString): Add new function converting SVG values to strings. 7844 * svg/SVGTransformList.h: 7845 * svg/SVGURIReference.h: Change contextElement() to return a non-const value. 7846 * svg/SVGUseElement.cpp: Wrap SVGLength objects in SVGLength() statements. 7847 (WebCore::SVGUseElement::SVGUseElement): 7848 * svg/SVGUseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7849 (WebCore::SVGUseElement::contextElement): Return non-const value. 7850 * svg/SVGViewElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. 7851 (WebCore::SVGViewElement::contextElement): Return non-const value. 7852 * svg/SVGViewSpec.cpp: 7853 (WebCore::SVGViewSpec::SVGViewSpec): Pass non-const context element in constructor. 7854 (WebCore::SVGViewSpec::contextElement): Return non-const value. 7855 * svg/SVGViewSpec.h: 7856 7857 2008-07-01 Alex Mathews <possessedpenguinbob (a] gmail.com> 7858 7859 Reviewed by Nikolas Zimmermann. 7860 7861 Class name changes for SVG Light Effect files. The class names that changed : 7862 7863 SVGLightSource -> LightSource 7864 SVGDistantLightSource -> DistantLightSource 7865 SVGPointLightSource -> PointLightSource 7866 SVGSpotLightSource -> SpotLightSource 7867 7868 Every other file that is changed is just propagating the class name changes to 7869 dependent files. 7870 7871 * svg/SVGFEDiffuseLightingElement.cpp: 7872 (WebCore::SVGFEDiffuseLightingElement::updateLights): 7873 * svg/SVGFEDistantLightElement.cpp: 7874 (WebCore::SVGFEDistantLightElement::lightSource): 7875 * svg/SVGFEDistantLightElement.h: 7876 * svg/SVGFELightElement.h: 7877 * svg/SVGFEPointLightElement.cpp: 7878 (WebCore::SVGFEPointLightElement::lightSource): 7879 * svg/SVGFEPointLightElement.h: 7880 * svg/SVGFESpecularLightingElement.cpp: 7881 (WebCore::SVGFESpecularLightingElement::updateLights): 7882 * svg/SVGFESpotLightElement.cpp: 7883 (WebCore::SVGFESpotLightElement::lightSource): 7884 * svg/SVGFESpotLightElement.h: 7885 * svg/graphics/filters/SVGDistantLightSource.h: 7886 (WebCore::DistantLightSource::DistantLightSource): 7887 (WebCore::DistantLightSource::azimuth): 7888 (WebCore::DistantLightSource::elevation): 7889 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: 7890 (WebCore::SVGFEDiffuseLighting::lightSource): 7891 (WebCore::SVGFEDiffuseLighting::setLightSource): 7892 * svg/graphics/filters/SVGFEDiffuseLighting.h: 7893 * svg/graphics/filters/SVGFESpecularLighting.cpp: 7894 (WebCore::SVGFESpecularLighting::lightSource): 7895 (WebCore::SVGFESpecularLighting::setLightSource): 7896 * svg/graphics/filters/SVGFESpecularLighting.h: 7897 * svg/graphics/filters/SVGLightSource.cpp: 7898 (WebCore::PointLightSource::externalRepresentation): 7899 (WebCore::SpotLightSource::externalRepresentation): 7900 (WebCore::DistantLightSource::externalRepresentation): 7901 * svg/graphics/filters/SVGLightSource.h: 7902 (WebCore::): 7903 (WebCore::LightSource::LightSource): 7904 (WebCore::LightSource::~LightSource): 7905 (WebCore::LightSource::type): 7906 * svg/graphics/filters/SVGPointLightSource.h: 7907 (WebCore::PointLightSource::PointLightSource): 7908 (WebCore::PointLightSource::position): 7909 * svg/graphics/filters/SVGSpotLightSource.h: 7910 (WebCore::SpotLightSource::SpotLightSource): 7911 (WebCore::SpotLightSource::position): 7912 (WebCore::SpotLightSource::direction): 7913 (WebCore::SpotLightSource::specularExponent): 7914 (WebCore::SpotLightSource::limitingConeAngle): 7915 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm: 7916 (WebCore::SVGFEDiffuseLighting::getCIFilter): 7917 * svg/graphics/filters/cg/SVGFEHelpersCg.h: 7918 * svg/graphics/filters/cg/SVGFEHelpersCg.mm: 7919 (WebCore::getLightVectors): 7920 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm: 7921 (WebCore::SVGFESpecularLighting::getCIFilter): 7922 7923 2008-07-01 Alp Toker <alp (a] nuanti.com> 7924 7925 Rubber-stamped by Holger. 7926 7927 autotools cleanup: move some GTK+-specific sources from libwebcore to 7928 libwebcoregtk. 7929 7930 * GNUmakefile.am: 7931 7932 2008-07-01 Dan Bernstein <mitz (a] apple.com> 7933 7934 Reviewed by Oliver Hunt. 7935 7936 - fix the non-SVG build 7937 7938 * css/CSSValueKeywords.in: Added 'all'. 7939 * css/SVGCSSValueKeywords.in: Removed 'all'. 7940 7941 2008-07-01 Simon Hausmann <hausmann (a] webkit.org> 7942 7943 Build fix, include DateInstance.h. 7944 7945 * bridge/qt/qt_runtime.cpp: 7946 7947 2008-06-30 Adele Peterson <adele (a] apple.com> 7948 7949 Reviewed by Oliver. 7950 7951 Fix for <rdar://problem/5882050> clicking in hidden close box area of empty searchfield causes mousedown to stop firing 7952 7953 Test: fast/forms/search-hidden-cancel-button.html 7954 7955 * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler): 7956 Don't start capturing mouse events if the cancel button isn't visible. This was causing the button to start but never stop capturing mouse events. 7957 7958 2008-06-30 Sam Weinig <sam (a] webkit.org> 7959 7960 Rubber-stamped by Darin Adler. 7961 7962 Split InternalFunction into its own header file. 7963 7964 * ForwardingHeaders/kjs/InternalFunction.h: Added. 7965 * bridge/runtime_method.h: 7966 7967 2008-06-30 Adele Peterson <adele (a] apple.com> 7968 7969 Reviewed by Anders. 7970 7971 Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas 7972 7973 Test: editing/selection/select-all-textarea.html 7974 7975 * dom/Node.cpp: 7976 (WebCore::Node::shadowAncestorNode): Break out code to find the root of the shadow tree into a new helper function. 7977 (WebCore::Node::shadowTreeRootNode): Added helper function. 7978 * dom/Node.h: 7979 * dom/Range.cpp: (WebCore::Range::shadowTreeRootNode): Added helper function. 7980 * dom/Range.h: 7981 * editing/Selection.cpp: (WebCore::Selection::shadowTreeRootNode): ditto. 7982 * editing/Selection.h: 7983 * editing/SelectionController.h: (WebCore::SelectionController::shadowTreeRootNode): ditto. 7984 * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): 7985 If the selection is in a shadow tree, only select the contents of that shadow tree, not the whole document. 7986 * page/Frame.cpp: 7987 (WebCore::Frame::findString): Use the new shadowTreeRootNode helper functions. 7988 (WebCore::Frame::markAllMatchesForText): ditto. 7989 7990 2008-06-30 chris fleizach <cfleizach (a] apple.com> 7991 7992 Reviewed by Beth Dakin 7993 7994 <rdar://problem/4180780> Add attribute to get all the radio buttons in a set 7995 7996 * page/AccessibilityObject.cpp: 7997 (WebCore::AccessibilityObject::linkedUIElements): 7998 * page/AccessibilityObject.h: 7999 * page/AccessibilityRenderObject.cpp: 8000 (WebCore::AccessibilityRenderObject::internalLinkElement): 8001 (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers): 8002 (WebCore::AccessibilityRenderObject::linkedUIElements): 8003 * page/AccessibilityRenderObject.h: 8004 * page/mac/AccessibilityObjectWrapper.mm: 8005 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 8006 8007 2008-06-30 Dan Bernstein <mitz (a] apple.com> 8008 8009 Reviewed by Adele Peterson. 8010 8011 - WebCore part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari 8012 8013 * WebCore.base.exp: Removed Editor::setBaseWritingDirection() and added 8014 Frame::setSelectionBaseWritingDirection(). 8015 * page/ContextMenuController.cpp: 8016 (WebCore::ContextMenuController::contextMenuItemSelected): Changed to 8017 call Frame::setSelectionBaseWritingDirection(). 8018 * page/Frame.cpp: 8019 (WebCore::Frame::setSelectionBaseWritingDirection): Added. If the 8020 focused node is a text field or text area, changes its 'dir' attribute. 8021 This is what IE does when the user changes the writing direction in a 8022 text control. Otherwise, calls down to Editor::setBaseWritingDirection(). 8023 * page/Frame.h: 8024 8025 2008-06-30 David Kilzer <ddkilzer (a] apple.com> 8026 8027 Improve HTMLObjectElement data encapsulation 8028 8029 Reviewed by Dave Hyatt. 8030 8031 HTMLObjectElement has some public member variables that should be 8032 private with accessor methods. 8033 8034 No test cases added since there is no change in behavior. 8035 8036 * html/HTMLObjectElement.cpp: 8037 (WebCore::HTMLObjectElement::HTMLObjectElement): Reorder 8038 initialization of member variables to match defined order in header. 8039 * html/HTMLObjectElement.h: 8040 (WebCore::HTMLObjectElement::classId): Added. 8041 (WebCore::HTMLObjectElement::url): Added. 8042 (WebCore::HTMLObjectElement::serviceType): Added. 8043 * rendering/RenderPartObject.cpp: 8044 (WebCore::RenderPartObject::updateWidget): Use new accessor methods 8045 in HTMLObjectElement now that its member variables are private. 8046 8047 2008-06-30 Dan Bernstein <mitz (a] apple.com> 8048 8049 Reviewed by Anders Carlsson. 8050 8051 - remove unused member variable 8052 8053 * page/Page.h: Removed Page::m_focusedNode. 8054 8055 2008-06-30 Anders Carlsson <andersca (a] apple.com> 8056 8057 Reviewed by Adam. 8058 8059 <rdar://problem/6014209> 8060 Crash when loading manifest from application cache fails 8061 8062 There is no need to set any handles to 0 after calling cacheUpdateFailed(), since 8063 that is done inside the function. Furthermore, after calling cacheUpdateFailed() the cache 8064 group could be deleted causing us to access freed memory and then crashing. 8065 8066 * loader/appcache/ApplicationCacheGroup.cpp: 8067 (WebCore::ApplicationCacheGroup::didReceiveResponse): 8068 (WebCore::ApplicationCacheGroup::didFail): 8069 (WebCore::ApplicationCacheGroup::didFailToLoadManifest): 8070 8071 2008-06-30 Adam Roben <aroben (a] apple.com> 8072 8073 Fix <rdar://5954749> Assertion failure due to HashTable's use of 8074 operator& 8075 8076 Reviewed by Ada Chan. 8077 8078 * bindings/js/JSSVGPODTypeWrapper.h: 8079 * dom/Document.h: 8080 * dom/StyledElement.cpp: 8081 * platform/graphics/FontCache.cpp: 8082 * platform/graphics/IntSizeHash.h: 8083 (WTF::): 8084 * platform/text/StringHash.h: 8085 * platform/win/COMPtr.h: 8086 * svg/SVGAnimatedTemplate.h: 8087 Updated all custom HashTraits for HashTable changes. 8088 8089 2008-06-30 Simon Hausmann <hausmann (a] webkit.org> 8090 8091 Fix the Qt build. 8092 8093 Added missing includes and changed getItem array calls to use get() 8094 instead. 8095 8096 * bridge/qt/qt_runtime.cpp: 8097 (KJS::Bindings::convertValueToQVariant): 8098 8099 2008-06-29 David Smith <catfish.man (a] gmail.com> 8100 8101 Rubberstamped by Sam Weinig. 8102 8103 Change a redundant node->isElement() check to an ASSERT for a 1.3% speedup on getElementsByTagName. 8104 8105 * dom/TagNodeList.cpp: 8106 (WebCore::TagNodeList::nodeMatches): 8107 8108 2008-06-29 Dan Bernstein <mitz (a] apple.com> 8109 8110 Reviewed by Darin Adler. 8111 8112 - fix SVG layout test regressions 8113 8114 * css/CSSFontSelector.cpp: 8115 (WebCore::CSSFontSelector::addFontFaceRule): Made this function work 8116 again with primitive values, because the @font-face rules SVG fonts 8117 create still use a single primitive value rather than a value list. 8118 8119 2008-06-29 Dan Bernstein <mitz (a] apple.com> 8120 8121 Reviewed by Sam Weinig. 8122 8123 - fix <rdar://problem/5734440> Specifying a font-weight for @font-face not working 8124 8125 Tests: fast/css/font-face-descriptor-multiple-values-parsing.html 8126 fast/css/font-face-descriptor-multiple-values.html 8127 8128 * css/CSSFontSelector.cpp: 8129 (WebCore::CSSFontSelector::addFontFaceRule): Changed to work with value 8130 lists for the descriptor properties. 8131 8132 * css/CSSParser.cpp: 8133 (WebCore::CSSParser::CSSParser): Initialize m_hasFontFaceOnlyValues. 8134 (WebCore::CSSParser::parseValue): Added a call to 8135 deleteFontFaceOnlyValues() if necessary. 8136 (WebCore::CSSParser::parseDeclaration): Ditto. 8137 (WebCore::CSSParser::clearProperties): Added code to reset 8138 m_hasFontFaceOnlyValues to false. 8139 (WebCore::CSSParser::parseFontStyle): Added. If there is a single 8140 valid identifier other than 'all', creates a CSSPrimitiveValue and 8141 assigns it to the property. If 'all' is the only value, or if there are 8142 multiple valid identifiers that are not 'all', creates a CSSValueList 8143 and assigns it to the property, and sets m_hasFontFaceOnlyValues to 8144 true. 8145 (WebCore::CSSParser::parseFontVariant): Ditto. 8146 (WebCore::CSSParser::parseFontWeight): Ditto. 8147 (WebCore::CSSParser::createStyleRule): Added a call to 8148 deleteFontFaceOnlyValues(). 8149 (WebCore::CSSParser::createFontFaceRule): Added code to change 8150 font descriptor properties that had only one value, and therefore were 8151 assigned a CSSPrimitiveValue, into CSSValueLists containing that value. 8152 (WebCore::CSSParser::deleteFontFaceOnlyValues): Added. Retroactively 8153 invalidates font descriptor properties that had values that are only 8154 allowed in @font-face. Those are identified by having CSSValueLists 8155 rather than CSSPrimitiveValues as their values. 8156 * css/CSSParser.h: Added m_hasFontFaceOnlyValues, a flag that says that 8157 font descriptor property values that are only valid in @font-face were 8158 encountered. This is used when the style declaration is created (and we 8159 finally know if it is @font-face or not) to delete invalid properties 8160 if needed. 8161 8162 2008-06-28 Darin Adler <darin (a] apple.com> 8163 8164 Reviewed by Sam and Cameron. 8165 8166 - fix https://bugs.webkit.org/show_bug.cgi?id=19805 8167 Array.concat turns missing array elements into "undefined" 8168 8169 * bridge/jni/jni_utility.cpp: 8170 (KJS::Bindings::convertArrayInstanceToJavaArray): 8171 Use get instead of getItem, since we always want to consider values from the 8172 prototypes when looking at JavaScript arrays. 8173 8174 2008-06-28 Dan Bernstein <mitz (a] apple.com> 8175 8176 Reviewed by Darin Adler. 8177 8178 - allow document markers to touch or overlap if they are not of the same type 8179 8180 Cannot be tested in DumpRenderTree 8181 8182 * dom/Document.cpp: 8183 (WebCore::Document::addMarker): 8184 * rendering/InlineTextBox.cpp: 8185 (WebCore::InlineTextBox::paintDocumentMarkers): 8186 8187 2008-06-28 Sam Weinig <sam (a] webkit.org> 8188 8189 Rubber-stamped by Darin Adler. 8190 8191 Update includes after remaming string_object.h to StringObject.h and 8192 splitting out StringObjectThatMasqueradesAsUndefined, StringConstructor 8193 and StringPrototype. 8194 8195 * ForwardingHeaders/kjs/StringObject.h: Copied from WebCore/ForwardingHeaders/kjs/string_object.h. 8196 * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Added. 8197 * ForwardingHeaders/kjs/StringPrototype.h: Added. 8198 * ForwardingHeaders/kjs/string_object.h: Removed. 8199 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 8200 8201 2008-06-28 Sam Weinig <sam (a] webkit.org> 8202 8203 Rubber-stamped by Oliver Hunt. 8204 8205 Update includes after remaming object_object.h to ObjectPrototype.h and 8206 splitting FunctionConstructor out of FunctionPrototype.h 8207 8208 * ForwardingHeaders/kjs/FunctionConstructor.h: Added. 8209 * ForwardingHeaders/kjs/ObjectPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/object_object.h. 8210 * ForwardingHeaders/kjs/object_object.h: Removed. 8211 * bindings/js/JSEventListener.cpp: 8212 * bindings/scripts/CodeGeneratorJS.pm: 8213 * bridge/qt/qt_instance.cpp: 8214 8215 2008-06-28 Dan Bernstein <mitz (a] apple.com> 8216 8217 Reviewed by Darin Adler. 8218 8219 - fix <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded 8220 8221 * html/HTMLImageLoader.cpp: 8222 (WebCore::HTMLImageLoader::updateFromElement): Changed to not load an 8223 image if the 'src' attribute is the empty string and the document's base 8224 URI is a file: URL. 8225 8226 2008-06-27 Sam Weinig <sam (a] webkit.org> 8227 8228 Reviewed by Dan Bernstein. 8229 8230 <rdar://problem/6025499> Make Cross-site XHR match the final specification 8231 8232 Update the implemented subset of Access-Control for XMLHttpRequest to the 8233 latest version. (Editor's Draft 25 May 2008) 8234 8235 - Now differentiates between simple and non-simple cross-site requests, the later 8236 requiring a preflight. 8237 - Now sends request headers cross-site, limited by a blacklist. 8238 - Now allows access to cross-site response headers, limited by a whitelist. 8239 - Now sends request entity body for non-get cross-site requests after preflight. 8240 8241 Tests: http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html 8242 http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html 8243 http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html 8244 8245 * xml/XMLHttpRequest.cpp: 8246 (WebCore::isOnAccessControllRequestHeaderBlackList): 8247 (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): 8248 (WebCore::isOnAccessControlResponseHeaderWhitelist): 8249 (WebCore::XMLHttpRequest::XMLHttpRequest): 8250 (WebCore::XMLHttpRequest::createRequest): 8251 (WebCore::XMLHttpRequest::makeSameOriginRequest): 8252 (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest): 8253 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest): 8254 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): 8255 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): 8256 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): 8257 (WebCore::XMLHttpRequest::loadRequestAsynchronously): 8258 (WebCore::XMLHttpRequest::abort): 8259 (WebCore::XMLHttpRequest::clearRequest): 8260 (WebCore::XMLHttpRequest::setRequestHeader): 8261 (WebCore::XMLHttpRequest::setRequestHeaderInternal): 8262 (WebCore::XMLHttpRequest::getAllResponseHeaders): 8263 (WebCore::XMLHttpRequest::getResponseHeader): 8264 (WebCore::XMLHttpRequest::didFinishLoading): 8265 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): 8266 (WebCore::XMLHttpRequest::didReceiveResponse): 8267 (WebCore::XMLHttpRequest::didReceiveResponsePreflight): 8268 (WebCore::XMLHttpRequest::didReceiveData): 8269 * xml/XMLHttpRequest.h: 8270 8271 2008-06-27 Sam Weinig <sam (a] webkit.org> 8272 8273 Rubber-stamped by Mark Rowe. 8274 8275 Clean up sorting in WebCore.xcodeproj. 8276 8277 * WebCore.xcodeproj/project.pbxproj: 8278 8279 2008-06-27 Jan Michael Alonzo <jmalonzo (a] webkit.org> 8280 8281 Reviewed by Darin Adler. 8282 8283 Remove unnecessary options to make_names.pl command line 8284 http://bugs.webkit.org/show_bug.cgi?id=19777 8285 8286 * DerivedSources.make: 8287 * GNUmakefile.am: 8288 8289 2008-06-27 Adam Barth <abarth (a] webkit.org> 8290 8291 Reviewed by Darin Adler. 8292 8293 https://bugs.webkit.org/show_bug.cgi?id=19784 8294 8295 Properly handle untermianted <!-- comments in <textarea>s. 8296 8297 Tests: fast/parser/open-comment-in-script-tricky.html 8298 fast/parser/open-comment-in-style.html 8299 fast/parser/open-comment-in-textarea.html 8300 8301 * html/HTMLTokenizer.cpp: 8302 (WebCore::HTMLTokenizer::finish): 8303 8304 2008-06-27 Adam Barth <abarth (a] webkit.org> 8305 8306 Reviewed by Darin Alder. 8307 8308 Fix <https://bugs.webkit.org/show_bug.cgi?id=19784>: 8309 Text areas in Wikipedia edit pages are empty, following content is missing 8310 8311 Don't treat entities as comment starters in parseSpecial. 8312 8313 Tests: fast/parser/comment-in-iframe.html 8314 fast/parser/entity-comment-in-iframe.html 8315 fast/parser/entity-comment-in-script-tricky.html 8316 fast/parser/entity-comment-in-style.html 8317 fast/parser/entity-comment-in-textarea.html 8318 fast/parser/entity-comment-in-title.html 8319 8320 * html/HTMLTokenizer.cpp: 8321 (WebCore::HTMLTokenizer::parseSpecial): 8322 8323 2008-06-27 Antti Koivisto <antti (a] apple.com> 8324 8325 Reviewed by Oliver. 8326 8327 <rdar://problem/6030720> 8328 REGRESSION: Discrete animation between incompatible paths does not work 8329 8330 Fall back to discrete path animation if paths are not suitable for morphing. 8331 8332 Test: svg/custom/animate-path-discrete.svg 8333 8334 * svg/SVGAnimateElement.cpp: 8335 (WebCore::SVGAnimateElement::calculateAnimatedValue): 8336 8337 2008-06-26 David Smith <catfish.man (a] gmail.com> 8338 8339 Reviewed by Sam Weinig. 8340 8341 https://bugs.webkit.org/show_bug.cgi?id=19002 8342 8343 Optimize simple id selectors in querySelector/querySelectorAll. 8344 ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to. 8345 8346 * dom/Document.h: 8347 (WebCore::Document::containsMultipleElementsWithId): Added to allow optimizing the common case of no duplicates 8348 * dom/Node.cpp: 8349 (WebCore::Node::querySelector): Uses getElementById instead of DOM traversal where possible now 8350 * dom/SelectorNodeList.cpp: 8351 (WebCore::createSelectorNodeList): Uses getElementById instead of DOM traversal where possible now 8352 8353 2008-06-26 Dan Bernstein <mitz (a] apple.com> 8354 8355 Reviewed by Darin Adler. 8356 8357 - fix <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields) 8358 http://bugs.webkit.org/show_bug.cgi?id=7023 8359 8360 Test: editing/selection/find-in-text-control.html 8361 8362 * WebCore.base.exp: Updated the TextIterator constructor signature. 8363 8364 * editing/TextIterator.cpp: 8365 (WebCore::TextIterator::TextIterator): Added an enterTextControls 8366 boolean parameter that determines whether the iterator should visit text 8367 inside text areas and text fields. Added code to initialize the 8368 m_inShadowContent member variable based on whether the range is in 8369 shadow content. 8370 (WebCore::TextIterator::advance): Added code to step out of shadow 8371 content. 8372 (WebCore::TextIterator::handleReplacedElement): Added code to enter 8373 text controls if desired. 8374 (WebCore::CharacterIterator::CharacterIterator): Added an 8375 enterTextControls boolean parameter that determines whether the iterator 8376 should visit text inside text areas and text fields. This is passed to 8377 the TextIterator constructor. 8378 (WebCore::findPlainText): Changed to use a CharacterIterator that 8379 visits text controls. 8380 8381 * editing/TextIterator.h: Added member variables to track whether the 8382 current node is in a shadow tree and whether the iterator should visit 8383 text controls. 8384 8385 * page/Frame.cpp: 8386 (WebCore::Frame::findString): Changed to find inside text controls. 8387 (WebCore::Frame::markAllMatchesForText): Ditto. 8388 8389 * rendering/RenderTextControl.cpp: 8390 (WebCore::RenderTextControl::innerTextElement): Added. 8391 * rendering/RenderTextControl.h: Added innerTextElement(), a private 8392 accessor method that is accessible to TextIterator through class 8393 friendship. 8394 8395 2008-06-26 Darin Adler <darin (a] apple.com> 8396 8397 Reviewed by Geoff. 8398 8399 * bridge/runtime.h: Added include of JSString.h since jsString will soon 8400 change to return a JSString*. 8401 8402 2008-06-26 Adele Peterson <adele (a] apple.com> 8403 8404 Fix suggested by Eric Carlson, added by me, reviewed by Adam. 8405 8406 Fix for <rdar://problem/5733006> <video> and <audio> element should not prompt user for missing files 8407 8408 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie): 8409 Set object with key QTMovieAskUnresolvedDataRefsAttribute to NO in the attributes dictionary passed to -[QTMovie initWithAttributes:] 8410 8411 2008-06-26 Sam Weinig <sam (a] webkit.org> 8412 8413 Reviewed by John Sullivan. 8414 8415 <rdar://problem/6031969> Crash in SecurityOrigin code going Forward to a page in the back/forward cache 8416 8417 * loader/FrameLoader.cpp: 8418 (WebCore::FrameLoader::open): Make sure to update the SecurityOrigin and URL of the 8419 DOMWindow when opening a CachedPage. 8420 8421 2008-06-26 Eric Seidel <eric (a] webkit.org> 8422 8423 Reviewed by Beth Dakin. 8424 8425 CSS @import statements can cause DocLoader to use 8426 a dead Frame pointer. 8427 https://bugs.webkit.org/show_bug.cgi?id=19618 8428 8429 The fix is to get rid of the Frame pointer on DocLoader. 8430 8431 I also took this opportunity to clean up Document::detach 8432 a little to make it clear why we clear the m_frame pointer 8433 there, and to note that in the future we should stop 8434 using Node::detach to mean "tear down the whole rendering 8435 tree and detach from the frame". 8436 8437 Test: I don't know how to make a good test for this, the test 8438 we have is network timing dependent and does not make a good 8439 layout test. 8440 8441 * dom/Document.cpp: 8442 (WebCore::Document::Document): 8443 (WebCore::Document::detach): 8444 (WebCore::Document::clearFramePointer): 8445 * dom/Document.h: 8446 * loader/DocLoader.cpp: 8447 (WebCore::DocLoader::frame): 8448 * loader/DocLoader.h: 8449 8450 2008-06-26 Anders Carlsson <andersca (a] apple.com> 8451 8452 Reviewed by Brady. 8453 8454 Don't enumerate document.applets trying to determine if a page contains applets. 8455 Instead, set m_containsPlugIns to true when an applet has been created. 8456 8457 * loader/FrameLoader.cpp: 8458 (WebCore::FrameLoader::canCachePage): 8459 (WebCore::FrameLoader::createJavaAppletWidget): 8460 8461 2008-06-26 Alexey Proskuryakov <ap (a] webkit.org> 8462 8463 Reviewed by Maciej. 8464 8465 Make JSGlobalData per-thread. 8466 8467 * bindings/js/JSDOMBinding.h: 8468 (WebCore::DOMObject::DOMObject): 8469 * bindings/js/JSDOMWindowBase.cpp: 8470 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 8471 * bridge/runtime_object.cpp: 8472 (RuntimeObjectImp::RuntimeObjectImp): 8473 Removed collectOnMainThreadOnly() calls. WebCore objects live in their own heap now, so 8474 there is no danger for them to be collected on a wrong thread. 8475 8476 2008-06-26 Holger Hans Peter Freyther <zecke (a] selfish.org> 8477 8478 Reviewed by Simon. 8479 8480 [svg] Disable plugins for SVG images 8481 The Qt platform allows to have a plugin factory per Page. Now SVG Images 8482 are using a Page and dummy/empty clients for Chrome. The only way to get 8483 the kit from the WebCore::Page is to go through the ChromeClient but this 8484 is not possible when the ChromeClient is an empty client. This leads to a 8485 crash in PluginDataQt.cpp. One way to avoid this would have been the 8486 addition of a rtti like field to ChromeClient to see if it is an empty 8487 client. The other possibility is to not enable plugins for images. 8488 8489 The SVGImage relies on the fact that the document is a SVGDocument and 8490 that the rootElement is a SVGSVGElement. If plugins are used we could 8491 end up with a PluginDocument and crash badly. Do not try to use plugins 8492 if plugins are disabled for the WebCore::Page. 8493 8494 * dom/DOMImplementation.cpp: 8495 (WebCore::DOMImplementation::createDocument): 8496 * svg/graphics/SVGImage.cpp: 8497 (WebCore::SVGImage::dataChanged): 8498 8499 2008-06-25 Holger Hans Peter Freyther <zecke (a] selfish.org> 8500 8501 Reviewed by Simon. 8502 8503 CodingStyle fixes 8504 8505 * platform/graphics/qt/SimpleFontDataQt.cpp: 8506 (WebCore::SimpleFontData::SimpleFontData): 8507 8508 2008-06-25 Holger Hans Peter Freyther <zecke (a] selfish.org> 8509 8510 Reviewed by Simon. 8511 8512 [svg] Make QtWebKit build more of the SVG support 8513 Add the proper defines and files, update SVGResourceFilterQt.cpp 8514 to be enabled by the filter option and not by experimental svg support 8515 8516 * WebCore.pro: 8517 * svg/graphics/qt/SVGResourceFilterQt.cpp: 8518 (WebCore::SVGResourceFilter::createPlatformData): 8519 (WebCore::SVGResourceFilter::prepareFilter): 8520 8521 2008-06-25 Sam Weinig <sam (a] webkit.org> 8522 8523 Reviewed by Brady Eidson. 8524 8525 Move XMLHttpRequestState enum into XMLHttpRequest and rename to State. 8526 8527 * xml/XMLHttpRequest.cpp: 8528 (WebCore::XMLHttpRequest::readyState): 8529 (WebCore::XMLHttpRequest::changeState): 8530 (WebCore::XMLHttpRequest::open): 8531 * xml/XMLHttpRequest.h: 8532 (WebCore::XMLHttpRequest::create): 8533 (WebCore::XMLHttpRequest::): 8534 8535 2008-06-25 Justin Garcia <justin.garcia (a] apple.com> 8536 8537 Reviewed by John. 8538 8539 <rdar://problem/5994480> Line break lost on some pastes 8540 8541 Merging the the first paragraph of inserted content with the content that came 8542 before the selection that was pasted into would also move content after 8543 the selection that was pasted into if: 8544 8545 1) Only one paragraph was being pasted, and it was not wrapped in a block 8546 2) The selection that was pasted into ended at the end of a block 8547 3) The next paragraph didn't start at the start of a block. 8548 8549 Insert a line break just after the inserted content to separate it from what 8550 comes after and prevent that from happening. 8551 8552 Doing this exposed a bug in deletion where it would insert an unnecessary placeholder 8553 when deleting a paragraph that started or ended with an input element. This was 8554 because its m_startBlock and m_endBlock were still computed with the old deprecated 8555 enclosingBlockFlowOrTableElement(). 8556 8557 * editing/DeleteSelectionCommand.cpp: 8558 (WebCore::DeleteSelectionCommand::initializePositionData): Use the new method for 8559 getting an enclosing block. 8560 (WebCore::DeleteSelectionCommand::doApply): The new method for getting an enclosing 8561 block will return 0 if it reaches the root editable element before finding a block, 8562 so if we're deleting inside an inline editable root, m_start/endBlock will 8563 be 0. Removed an early return for this case (we already have test coverage for it). 8564 * editing/ReplaceSelectionCommand.cpp: 8565 (WebCore::ReplaceSelectionCommand::doApply): Insert a line break just after the inserted 8566 content to separate it from what comes after. 8567 * dom/Node.h: Removed enclosingBlockFlowOrTableElement(). 8568 * dom/Node.cpp: Ditto. 8569 8570 2008-06-25 Anders Carlsson <andersca (a] apple.com> 8571 8572 Reviewed by Dave Hyatt. 8573 8574 Fix refcount leak in CSSVariablesRule. 8575 8576 * css/CSSParser.cpp: 8577 (WebCore::CSSParser::createVariablesRule): 8578 * css/CSSVariablesRule.h: 8579 (WebCore::CSSVariablesRule::create): 8580 (WebCore::CSSVariablesRule::setDeclaration): 8581 8582 2008-06-25 Anders Carlsson <andersca (a] apple.com> 8583 8584 Reviewed by Mitz. 8585 8586 <rdar://problem/6007111> 8587 https://bugs.webkit.org/show_bug.cgi?id=19516 8588 DOM modification causes Access Violation (NULL pointer?) 8589 8590 Null check the document element. 8591 8592 * html/HTMLParser.cpp: 8593 (WebCore::HTMLParser::handleError): 8594 8595 2008-06-25 Dan Bernstein <mitz (a] apple.com> 8596 8597 Reviewed by Dave Hyatt. 8598 8599 - fix <rdar://problem/5873639> REGRESSION (r31620): css2.1/t1506-c525-font-wt-00-b fails on Windows 8600 8601 - fix https://bugs.webkit.org/show_bug.cgi?id=18863 8602 <rdar://problem/5908890> weight mappings with @font-face aren't consistent 8603 8604 Tests: fast/css/font-face-locally-installed.html 8605 fast/css/font-face-multiple-faces.html 8606 8607 * WebCore.vcproj/WebCore.vcproj: Added FontTraitsMask.h. 8608 8609 * WebCore.xcodeproj/project.pbxproj: Ditto. 8610 8611 * css/CSSFontFace.h: 8612 Made CSSFontFace store descriptors from the @font-face rule, as follows: 8613 (WebCore::CSSFontFace::create): Added a FontTraitsMask argument. 8614 (WebCore::CSSFontFace::traitsMask): Added this accessor. 8615 (WebCore::CSSFontFace::addRange): Added. 8616 (WebCore::CSSFontFace::ranges): Added. 8617 (WebCore::CSSFontFace::UnicodeRange::UnicodeRange): 8618 (WebCore::CSSFontFace::UnicodeRange::from): 8619 (WebCore::CSSFontFace::UnicodeRange::to): 8620 (WebCore::CSSFontFace::CSSFontFace): Added a FontTraitsMask and a vector 8621 of UnicodeRanges as member variables. 8622 8623 * css/CSSFontFaceSource.cpp: 8624 Changed the hash key from the font size alone to the font size and 8625 the synthetic style bits, needed if the same source supplies different 8626 synthesized versions. 8627 (WebCore::CSSFontFaceSource::pruneTable): 8628 (WebCore::CSSFontFaceSource::getFontData): 8629 8630 * css/CSSFontFaceSource.h: 8631 8632 * css/CSSFontSelector.cpp: 8633 (WebCore::CSSFontSelector::~CSSFontSelector): Added code to delete 8634 the contents of the font face, locally-installed font face and segmented 8635 font tables. 8636 (WebCore::CSSFontSelector::addFontFaceRule): Changed this function to 8637 not create segmented font faces, but instead just collect font faces 8638 and annotate them with descriptors (traits and unicode ranges). 8639 (WebCore::compareFontFaces): Added. Used in getFontData() to sort the 8640 font faces by proximity to the desired traits. 8641 (WebCore::CSSFontSelector::getFontData): Changed to create the segmented 8642 font face here and cache it. 8643 8644 * css/CSSFontSelector.h: 8645 8646 * css/CSSSegmentedFontFace.cpp: 8647 Changed to keep a vector of font faces instead of font face ranges, as 8648 font faces now know their Unicode ranges. 8649 (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace): 8650 (WebCore::CSSSegmentedFontFace::isLoaded): 8651 (WebCore::CSSSegmentedFontFace::isValid): 8652 (WebCore::CSSSegmentedFontFace::appendFontFace): 8653 (WebCore::CSSSegmentedFontFace::getFontData): Removed the synthetic 8654 traits parameters, and instead changed to set them on each FontData 8655 separately based on the difference between the desired traits and 8656 the font face's traits. 8657 8658 * css/CSSSegmentedFontFace.h: 8659 8660 * platform/graphics/FontCache.h: 8661 Removed fontExists() and added getTraitsInFamily(). 8662 8663 * platform/graphics/FontDescription.cpp: 8664 (WebCore::FontDescription::traitsMask): Added. 8665 8666 * platform/graphics/FontDescription.h: 8667 8668 * platform/graphics/FontTraitsMask.h: Added. 8669 8670 * platform/graphics/GlyphPageTreeNode.cpp: 8671 (WebCore::GlyphPageTreeNode::initializePage): Changed to fill in with 8672 glyphs from all fonts in the segmented font, using each font in turn to 8673 fill in characters not covered by earlier fonts. 8674 8675 * platform/graphics/gtk/FontCacheGtk.cpp: 8676 (WebCore::FontCache::getTraitsInFamily): Added a stub. 8677 8678 * platform/graphics/mac/FontCacheMac.mm: 8679 (WebCore::FontCache::getTraitsInFamily): Added. 8680 8681 * platform/graphics/qt/FontCacheQt.cpp: 8682 (WebCore::FontCache::getTraitsInFamily): Added a stub. 8683 8684 * platform/graphics/win/FontCacheWin.cpp: 8685 (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Added. 8686 (WebCore::traitsInFamilyEnumProc): Added. 8687 (WebCore::FontCache::getTraitsInFamily): Added. 8688 8689 * platform/graphics/wx/FontCacheWx.cpp: 8690 (WebCore::FontCache::getTraitsInFamily): Added a stub. 8691 8692 * platform/mac/WebFontCache.h: 8693 * platform/mac/WebFontCache.mm: 8694 (toTraitsMask): Added. 8695 (+[WebFontCache getTraits:inFamily:]): Added. 8696 8697 2008-06-24 Anonymous 8698 8699 Reviewed by Darin Adler. Committed by Adam Barth. 8700 8701 https://bugs.webkit.org/show_bug.cgi?id=19470 8702 8703 Check for a null documentElement() to fix four crashes. 8704 8705 * WebCore/dom/Document.cpp: 8706 * WebCore/dom/Node.cpp: 8707 8708 2008-06-24 Adam Barth <abarth (a] webkit.org> 8709 8710 Reviewed by Darin Adler. 8711 8712 Fix <https://bugs.webkit.org/show_bug.cgi?id=19597> 8713 8714 Correctly parse <!-- </textarea> --> inside a <textarea>, matching 8715 Internet Explorer, Firefox, Opera, and HTML 5. 8716 8717 Tests: fast/parser/comment-in-script-tricky.html 8718 fast/parser/comment-in-style.html 8719 fast/parser/comment-in-textarea.html 8720 fast/parser/comment-in-title.html 8721 8722 * html/HTMLTokenizer.cpp: 8723 (WebCore::HTMLTokenizer::parseSpecial): 8724 8725 2008-06-24 Justin Garcia <justin.garcia (a] apple.com> 8726 8727 Reviewed by John. 8728 8729 <rdar://problem/6026335> REGRESSION: Caret disappears after deleting a particular selection involving a ToDo 8730 8731 * editing/CompositeEditCommand.cpp: 8732 (WebCore::CompositeEditCommand::moveParagraphs): If asked to preserveStyle, we 8733 apply styles from the moved paragraph to the destination with applyStyle, which 8734 does selection preservation when it needs to apply block styles. Selection preservation 8735 uses relatively untested code in TextIterator to count VisiblePositions which fails in 8736 this particular test case because it doesn't handle changes in editability properly. 8737 We can avoid this bug by not applying block styles from moved paragraphs. This is 8738 something that should be done anyway, since the moved paragraph should assume the 8739 block styles of the destination. 8740 * editing/EditCommand.cpp: 8741 (WebCore::EditCommand::styleAtPosition): Added a FIXME about how it is misleading for 8742 this function to also include the typing style. 8743 * editing/TextIterator.h: Added a FIXME about how the code path used for selection preservation 8744 is buggy and should be phased out when we rewrite moveParagraphs. 8745 8746 2008-06-24 Kevin McCullough <kmccullough (a] apple.com> 8747 8748 -Added a manual test for the profiler. 8749 8750 * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Added. 8751 8752 2008-06-24 Sam Weinig <sam (a] webkit.org> 8753 8754 Reviewed by Anders Carlsson. 8755 8756 Add support for loadstart, abort and error events for XMLHttpRequests. 8757 8758 Tests: http/tests/xmlhttprequest/onabort-event.html 8759 http/tests/xmlhttprequest/onerror-event.html 8760 http/tests/xmlhttprequest/onloadstart-event.html 8761 8762 * bindings/js/JSXMLHttpRequestCustom.cpp: 8763 (WebCore::JSXMLHttpRequest::mark): 8764 (WebCore::JSXMLHttpRequest::onreadystatechange): 8765 (WebCore::JSXMLHttpRequest::onabort): 8766 (WebCore::JSXMLHttpRequest::setOnabort): 8767 (WebCore::JSXMLHttpRequest::onerror): 8768 (WebCore::JSXMLHttpRequest::setOnerror): 8769 (WebCore::JSXMLHttpRequest::onload): 8770 (WebCore::JSXMLHttpRequest::onloadstart): 8771 (WebCore::JSXMLHttpRequest::setOnloadstart): 8772 (WebCore::JSXMLHttpRequest::onprogress): 8773 * dom/EventNames.h: 8774 * xml/XMLHttpRequest.cpp: 8775 (WebCore::XMLHttpRequest::callReadyStateChangeListener): 8776 (WebCore::XMLHttpRequest::createRequest): 8777 (WebCore::XMLHttpRequest::abort): 8778 (WebCore::XMLHttpRequest::networkError): 8779 (WebCore::XMLHttpRequest::abortError): 8780 (WebCore::XMLHttpRequest::didFail): 8781 (WebCore::XMLHttpRequest::updateAndDispatchOnProgress): 8782 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent): 8783 (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent): 8784 (WebCore::XMLHttpRequest::dispatchAbortEvent): 8785 (WebCore::XMLHttpRequest::dispatchErrorEvent): 8786 (WebCore::XMLHttpRequest::dispatchLoadEvent): 8787 (WebCore::XMLHttpRequest::dispatchLoadStartEvent): 8788 (WebCore::XMLHttpRequest::dispatchProgressEvent): 8789 * xml/XMLHttpRequest.h: 8790 (WebCore::XMLHttpRequest::setOnAbortListener): 8791 (WebCore::XMLHttpRequest::onAbortListener): 8792 (WebCore::XMLHttpRequest::setOnErrorListener): 8793 (WebCore::XMLHttpRequest::onErrorListener): 8794 (WebCore::XMLHttpRequest::setOnLoadStartListener): 8795 (WebCore::XMLHttpRequest::onLoadStartListener): 8796 * xml/XMLHttpRequest.idl: 8797 8798 2008-06-24 Anders Carlsson <andersca (a] apple.com> 8799 8800 Reviewed by Mitz. 8801 8802 <rdar://problem/5957606> 8803 CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::DocumentLoader::cancelPendingSubstituteLoad + 23 8804 8805 Remove the loader from the document loader after calling didFail, so that the loader will be deferred corectly 8806 in case the call do didFail starts a new run loop. 8807 8808 * loader/NetscapePlugInStreamLoader.cpp: 8809 (WebCore::NetscapePlugInStreamLoader::didCancel): 8810 8811 2008-06-24 Alexey Proskuryakov <ap (a] webkit.org> 8812 8813 Release build fix. 8814 8815 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 8816 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 8817 * bindings/js/JSCustomSQLTransactionCallback.cpp: 8818 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 8819 Initialize callbackCallType, as the compiler is not smart enough to figure out data flow. 8820 8821 2008-06-24 Alexey Proskuryakov <ap (a] webkit.org> 8822 8823 Reviewed by Darin. 8824 8825 https://bugs.webkit.org/show_bug.cgi?id=19723 8826 REGRESSION(r34648): Some SVG tests crash when running under --threaded 8827 8828 * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::destroy): Do not attempt 8829 to paint during document destruction, because rendering structures are not kept in a 8830 consistent state then. 8831 8832 2008-06-24 Jonathon Jongsma <jonathon.jongsma (a] collabora.co.uk> 8833 8834 Reviewed by Darin. 8835 8836 https://bugs.webkit.org/show_bug.cgi?id=19727 8837 8838 Return bool from GraphicsContext::getShadow() so the tests aren't duplicated so 8839 many times in Cairo and Qt ports. 8840 8841 * platform/graphics/GraphicsContext.h: 8842 * platform/graphics/GraphicsContext.cpp: 8843 (WebCore::GraphicsContext::getShadow): return a boolean from getShadow() 8844 which indicates whether there is a visible shadow to draw or not. Ports 8845 without a platform shadow implementation can use this flag to determine 8846 whether a shadow needs to be drawn manually 8847 * platform/graphics/cairo/FontCairo.cpp: 8848 (WebCore::Font::drawGlyphs): 8849 * platform/graphics/qt/FontQt.cpp: 8850 (WebCore::Font::drawText): 8851 * platform/graphics/qt/GraphicsContextQt.cpp: 8852 (WebCore::GraphicsContext::drawLine): use return from getShadow() to 8853 determine whether to draw the shadow 8854 8855 2008-06-24 Jonathon Jongsma <jonathon.jongsma (a] collabora.co.uk> 8856 8857 Reviewed by Simon. 8858 8859 https://bugs.webkit.org/show_bug.cgi?id=18459 8860 8861 Clean up and remove unused platform shadow code. 8862 8863 Minor edits by Simon, removed unused TextShadow struct. 8864 8865 * platform/graphics/qt/GraphicsContextQt.cpp: 8866 (WebCore::GraphicsContext::setPlatformShadow): 8867 (WebCore::GraphicsContext::clearPlatformShadow): Qt doesn't support a 8868 platform shadow, so just make these functions empty. The shadows are 8869 drawn manually in function like drawLine(), etc. 8870 8871 2008-06-24 Jonathon Jongsma <jonathon.jongsma (a] collabora.co.uk> 8872 8873 Reviewed by Simon. 8874 8875 https://bugs.webkit.org/show_bug.cgi?id=18459 8876 8877 Implemented basic text-shadow support for the Qt port. 8878 8879 * platform/graphics/qt/FontQt.cpp: 8880 (WebCore::Font::drawText): implement text-shadow support in the Qt port 8881 * platform/graphics/qt/GraphicsContextQt.cpp: 8882 (WebCore::GraphicsContext::drawLine): also draw shadows for text 8883 decorations such as unerlines 8884 8885 2008-06-24 Simon Hausmann <hausmann (a] webkit.org> 8886 8887 Fix the Qt build, adapt to various JSCore API changes. 8888 8889 * bridge/qt/qt_instance.cpp: 8890 (KJS::Bindings::QtRuntimeObjectImp::construct): 8891 (KJS::Bindings::QtInstance::getRuntimeObject): 8892 (KJS::Bindings::QtInstance::invokeDefaultMethod): 8893 * bridge/qt/qt_runtime.cpp: 8894 (KJS::Bindings::convertQVariantToValue): 8895 (KJS::Bindings::QtRuntimeMetaMethod::getCallData): 8896 (KJS::Bindings::QtRuntimeConnectionMethod::call): 8897 (KJS::Bindings::QtRuntimeConnectionMethod::getCallData): 8898 (KJS::Bindings::QtConnectionObject::execute): 8899 * bridge/qt/qt_runtime.h: 8900 (KJS::Bindings::QtRuntimeConnectionMethod::d_func): 8901 8902 2008-06-24 Alexey Proskuryakov <ap (a] webkit.org> 8903 8904 Remove XMLHttpRequestProgressEvent.cpp from more project files. 8905 8906 * GNUmakefile.am: 8907 * WebCore.pro: 8908 8909 2008-06-24 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 8910 8911 Reviewed by Simon. 8912 8913 For the Qt port, fix linking with MinGW. 8914 8915 * WebCore.pro: 8916 8917 2008-06-23 Darin Adler <darin (a] apple.com> 8918 8919 Reviewed by Geoff. 8920 8921 Update for JavaScript changes. 8922 8923 - Use CallData and ConstructData instead of the obsolete implementsCall, 8924 callAsFunction, and construct functions. 8925 8926 - Updated native function arguments, specifically to allow a JSValue 8927 rather than a JSObject for the this argument, and to call toThisObject 8928 as needed when treating it as an object. 8929 8930 - Made some more class members private and protected, including virtual 8931 function overrides. 8932 8933 - Eliminated the use of getCallData in the JavaScript bridging code as 8934 a way to check if an instance supports invokeDefaultMethod. 8935 8936 - Eliminated unnecessary polymorphism in the NodeIterator and TreeWalker 8937 classes. They were using virtual functions simply to share an instance 8938 of the RefCounted template, which was not helpful. 8939 8940 * bindings/js/JSAudioConstructor.cpp: 8941 (WebCore::constructAudio): 8942 (WebCore::JSAudioConstructor::getConstructData): 8943 * bindings/js/JSAudioConstructor.h: 8944 (WebCore::JSAudioConstructor::document): 8945 (WebCore::JSAudioConstructor::classInfo): 8946 * bindings/js/JSClipboardCustom.cpp: 8947 (WebCore::JSClipboard::types): 8948 * bindings/js/JSCustomSQLStatementCallback.cpp: 8949 (WebCore::JSCustomSQLStatementCallback::handleEvent): 8950 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 8951 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 8952 * bindings/js/JSCustomSQLTransactionCallback.cpp: 8953 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 8954 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 8955 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 8956 * bindings/js/JSCustomVoidCallback.cpp: 8957 (WebCore::JSCustomVoidCallback::handleEvent): 8958 * bindings/js/JSCustomXPathNSResolver.cpp: 8959 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 8960 * bindings/js/JSDOMBinding.h: 8961 (WebCore::DOMObject::DOMObject): 8962 * bindings/js/JSDOMWindowBase.cpp: 8963 (WebCore::windowProtoFuncAToB): 8964 (WebCore::windowProtoFuncBToA): 8965 (WebCore::windowProtoFuncOpen): 8966 (WebCore::windowProtoFuncSetTimeout): 8967 (WebCore::windowProtoFuncClearTimeout): 8968 (WebCore::windowProtoFuncSetInterval): 8969 (WebCore::windowProtoFuncAddEventListener): 8970 (WebCore::windowProtoFuncRemoveEventListener): 8971 (WebCore::windowProtoFuncShowModalDialog): 8972 (WebCore::windowProtoFuncNotImplemented): 8973 (WebCore::toJSDOMWindow): 8974 * bindings/js/JSDOMWindowBase.h: 8975 * bindings/js/JSDOMWindowShell.h: 8976 (WebCore::JSDOMWindowShell::classInfo): 8977 * bindings/js/JSEventListener.cpp: 8978 (WebCore::JSAbstractEventListener::handleEvent): 8979 (WebCore::JSLazyEventListener::parseCode): 8980 * bindings/js/JSEventTargetBase.cpp: 8981 (WebCore::retrieveEventTargetAndCorrespondingNode): 8982 (WebCore::jsEventTargetAddEventListener): 8983 (WebCore::jsEventTargetRemoveEventListener): 8984 (WebCore::jsEventTargetDispatchEvent): 8985 * bindings/js/JSEventTargetBase.h: 8986 * bindings/js/JSHTMLAppletElementCustom.cpp: 8987 (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot): 8988 (WebCore::JSHTMLAppletElement::customPut): 8989 (WebCore::JSHTMLAppletElement::getCallData): 8990 * bindings/js/JSHTMLCollectionCustom.cpp: 8991 (WebCore::callHTMLCollection): 8992 (WebCore::JSHTMLCollection::getCallData): 8993 * bindings/js/JSHTMLDocumentCustom.cpp: 8994 (WebCore::JSHTMLDocument::open): 8995 * bindings/js/JSHTMLEmbedElementCustom.cpp: 8996 (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot): 8997 (WebCore::JSHTMLEmbedElement::customPut): 8998 (WebCore::JSHTMLEmbedElement::getCallData): 8999 * bindings/js/JSHTMLInputElementBase.cpp: 9000 (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange): 9001 * bindings/js/JSHTMLInputElementBase.h: 9002 * bindings/js/JSHTMLObjectElementCustom.cpp: 9003 (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot): 9004 (WebCore::JSHTMLObjectElement::customPut): 9005 (WebCore::JSHTMLObjectElement::getCallData): 9006 * bindings/js/JSHTMLOptionElementConstructor.cpp: 9007 (WebCore::constructHTMLOptionElement): 9008 (WebCore::JSHTMLOptionElementConstructor::getConstructData): 9009 * bindings/js/JSHTMLOptionElementConstructor.h: 9010 (WebCore::JSHTMLOptionElementConstructor::document): 9011 (WebCore::JSHTMLOptionElementConstructor::classInfo): 9012 * bindings/js/JSImageConstructor.cpp: 9013 (WebCore::constructImage): 9014 (WebCore::JSImageConstructor::getConstructData): 9015 * bindings/js/JSImageConstructor.h: 9016 (WebCore::JSImageConstructor::document): 9017 (WebCore::JSImageConstructor::classInfo): 9018 * bindings/js/JSInspectedObjectWrapper.h: 9019 (WebCore::JSInspectedObjectWrapper::classInfo): 9020 * bindings/js/JSInspectorCallbackWrapper.cpp: 9021 (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue): 9022 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 9023 (WebCore::JSJavaScriptCallFrame::scopeChain): 9024 * bindings/js/JSNodeFilterCondition.cpp: 9025 (WebCore::JSNodeFilterCondition::JSNodeFilterCondition): 9026 (WebCore::JSNodeFilterCondition::mark): 9027 (WebCore::JSNodeFilterCondition::acceptNode): 9028 * bindings/js/JSNodeFilterCondition.h: 9029 (WebCore::JSNodeFilterCondition::create): 9030 * bindings/js/JSNodeFilterCustom.cpp: 9031 (WebCore::toNodeFilter): 9032 * bindings/js/JSNodeListCustom.cpp: 9033 (WebCore::callNodeList): 9034 (WebCore::JSNodeList::getCallData): 9035 (WebCore::JSNodeList::canGetItemsForName): 9036 (WebCore::JSNodeList::nameGetter): 9037 * bindings/js/JSPluginElementFunctions.cpp: 9038 (WebCore::runtimeObjectGetter): 9039 (WebCore::runtimeObjectPropertyGetter): 9040 (WebCore::runtimeObjectCustomGetOwnPropertySlot): 9041 (WebCore::runtimeObjectCustomPut): 9042 (WebCore::runtimeObjectGetCallData): 9043 (WebCore::pluginInstance): 9044 (WebCore::getRuntimeObject): 9045 (WebCore::callPlugin): 9046 * bindings/js/JSPluginElementFunctions.h: 9047 * bindings/js/JSQuarantinedObjectWrapper.cpp: 9048 (WebCore::JSQuarantinedObjectWrapper::put): 9049 (WebCore::JSQuarantinedObjectWrapper::construct): 9050 (WebCore::JSQuarantinedObjectWrapper::getConstructData): 9051 (WebCore::JSQuarantinedObjectWrapper::hasInstance): 9052 (WebCore::JSQuarantinedObjectWrapper::call): 9053 (WebCore::JSQuarantinedObjectWrapper::getCallData): 9054 * bindings/js/JSQuarantinedObjectWrapper.h: 9055 (WebCore::JSQuarantinedObjectWrapper::className): 9056 * bindings/js/JSRGBColor.cpp: 9057 * bindings/js/JSXMLHttpRequestConstructor.cpp: 9058 (WebCore::constructXMLHttpRequest): 9059 (WebCore::JSXMLHttpRequestConstructor::getConstructData): 9060 * bindings/js/JSXMLHttpRequestConstructor.h: 9061 (WebCore::JSXMLHttpRequestConstructor::document): 9062 (WebCore::JSXMLHttpRequestConstructor::classInfo): 9063 * bindings/js/JSXSLTProcessorConstructor.cpp: 9064 (WebCore::constructXSLTProcessor): 9065 (WebCore::JSXSLTProcessorConstructor::getConstructData): 9066 * bindings/js/JSXSLTProcessorConstructor.h: 9067 (WebCore::JSXSLTProcessorConstructor::classInfo): 9068 * bindings/js/ScheduledAction.cpp: 9069 (WebCore::ScheduledAction::ScheduledAction): 9070 (WebCore::ScheduledAction::execute): 9071 * bindings/js/ScheduledAction.h: 9072 * bindings/objc/WebScriptObject.mm: 9073 (-[WebScriptObject callWebScriptMethod:withArguments:]): 9074 * bindings/scripts/CodeGeneratorJS.pm: 9075 * bridge/NP_jsobject.cpp: 9076 (_NPN_InvokeDefault): 9077 (_NPN_Invoke): 9078 * bridge/c/c_instance.cpp: 9079 (KJS::Bindings::CInstance::supportsInvokeDefaultMethod): 9080 * bridge/c/c_instance.h: 9081 * bridge/jni/jni_jsobject.mm: 9082 (JavaJSObject::call): 9083 * bridge/objc/objc_instance.h: 9084 * bridge/objc/objc_instance.mm: 9085 (ObjcInstance::supportsInvokeDefaultMethod): 9086 * bridge/objc/objc_runtime.h: 9087 (KJS::Bindings::ObjcFallbackObjectImp::propertyName): 9088 (KJS::Bindings::ObjcFallbackObjectImp::classInfo): 9089 * bridge/objc/objc_runtime.mm: 9090 (Bindings::webScriptObjectClass): 9091 (Bindings::webUndefinedClass): 9092 (ObjcFallbackObjectImp::ObjcFallbackObjectImp): 9093 (callObjCFallbackObject): 9094 (ObjcFallbackObjectImp::getCallData): 9095 * bridge/qt/qt_instance.h: 9096 * bridge/runtime.cpp: 9097 (KJS::Bindings::Instance::createRuntimeObject): 9098 (KJS::Bindings::Instance::getInstance): 9099 * bridge/runtime.h: 9100 (KJS::Bindings::Field::~Field): 9101 (KJS::Bindings::Method::~Method): 9102 (KJS::Bindings::Class::~Class): 9103 (KJS::Bindings::Instance::supportsInvokeDefaultMethod): 9104 * bridge/runtime_method.cpp: 9105 (KJS::callRuntimeMethod): 9106 (KJS::RuntimeMethod::getCallData): 9107 * bridge/runtime_method.h: 9108 (KJS::RuntimeMethod::methods): 9109 * bridge/runtime_object.cpp: 9110 (RuntimeObjectImp::defaultValue): 9111 (callRuntimeObject): 9112 (RuntimeObjectImp::getCallData): 9113 * bridge/runtime_object.h: 9114 (KJS::RuntimeObjectImp::getInternalInstance): 9115 (KJS::RuntimeObjectImp::classInfo): 9116 * dom/NodeIterator.h: 9117 * dom/Traversal.cpp: 9118 * dom/Traversal.h: 9119 * dom/TreeWalker.h: 9120 9121 2008-06-23 Adam Barth <abarth (a] webkit.org> 9122 9123 Reviewed by Darin Adler. 9124 9125 https://bugs.webkit.org/show_bug.cgi?id=16756 9126 9127 Move isAllowedToLoadLocalResources into SecurityOrigin. 9128 9129 * dom/Document.cpp: 9130 (WebCore::Document::Document): 9131 (WebCore::Document::setURL): 9132 (WebCore::Document::initSecurityContext): 9133 * dom/Document.h: 9134 * loader/FrameLoader.cpp: 9135 (WebCore::FrameLoader::canLoad): 9136 * platform/SecurityOrigin.cpp: 9137 (WebCore::SecurityOrigin::SecurityOrigin): 9138 (WebCore::SecurityOrigin::isLocal): 9139 * platform/SecurityOrigin.h: 9140 (WebCore::SecurityOrigin::protocol): 9141 (WebCore::SecurityOrigin::host): 9142 (WebCore::SecurityOrigin::domain): 9143 (WebCore::SecurityOrigin::port): 9144 (WebCore::SecurityOrigin::canLoadLocalResources): 9145 (WebCore::SecurityOrigin::grantLoadLocalResources): 9146 * xml/XMLHttpRequest.cpp: 9147 (WebCore::XMLHttpRequest::setRequestHeader): 9148 9149 2008-06-23 Mark Rowe <mrowe (a] apple.com> 9150 9151 Fix the Windows build. 9152 9153 * WebCore.vcproj/WebCore.vcproj: Add generated files related to CSS variables to the Windows project file. 9154 9155 2008-06-23 Steve Falkenburg <sfalken (a] apple.com> 9156 9157 Fix a math error in my last change. 9158 9159 Reviewed by Ada Chan. 9160 9161 * platform/win/FileSystemWin.cpp: 9162 (WebCore::openTemporaryFile): 9163 9164 2008-06-23 Kevin McCullough <kmccullough (a] apple.com> 9165 9166 -Build fix. 9167 9168 * WebCore.vcproj/WebCore.vcproj: 9169 9170 2008-06-23 chris fleizach <cfleizach (a] apple.com> 9171 9172 Reviewed by Darin Adler. 9173 9174 <rdar://problem/6024267> VO unable to read massive emails because AccessibilityObject::lengthForVisiblePositionRange makes the string 9175 9176 * page/AccessibilityObject.cpp: 9177 (WebCore::replacedNodeNeedsCharacter): 9178 (WebCore::AccessibilityObject::stringForVisiblePositionRange): 9179 (WebCore::AccessibilityObject::lengthForVisiblePositionRange): 9180 9181 2008-06-23 Steve Falkenburg <sfalken (a] apple.com> 9182 9183 Added our own mechanism for generating temporary file names. 9184 9185 Reviewed by Ada Chan, Darin Adler. 9186 9187 * platform/win/FileSystemWin.cpp: 9188 (WebCore::openTemporaryFile): 9189 9190 2008-06-23 Sam Weinig <sam (a] webkit.org> 9191 9192 Remove XMLHttpRequestProgressEvent.cpp from project files. 9193 9194 * WebCore.vcproj/WebCore.vcproj: 9195 * WebCore.xcodeproj/project.pbxproj: 9196 * WebCoreSources.bkl: 9197 9198 2008-06-23 Sam Weinig <sam (a] webkit.org> 9199 9200 Reviewed by Dave Hyatt. 9201 9202 Remove empty file. 9203 9204 * xml/XMLHttpRequestProgressEvent.cpp: Removed. 9205 9206 2008-06-23 Sam Weinig <sam (a] webkit.org> 9207 9208 Rubber-stamped by Tim Hatcher. 9209 9210 Rename XMLHttpRequest::sameOriginRequest to XMLHttpRequest::makeSameOriginRequest 9211 and XMLHttpRequest::crossSiteAccessRequest to XMLHttpRequest::makeCrossSiteAccessRequest. 9212 9213 * xml/XMLHttpRequest.cpp: 9214 (WebCore::XMLHttpRequest::createRequest): 9215 (WebCore::XMLHttpRequest::makeSameOriginRequest): 9216 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest): 9217 * xml/XMLHttpRequest.h: 9218 9219 2008-06-23 Sam Weinig <sam (a] webkit.org> 9220 9221 Reviewed by Alexey Proskuryakov. 9222 9223 Some XMLHttpRequest re-organization to aid further enhancements coming soon. 9224 9225 * bindings/js/JSXMLHttpRequestCustom.cpp: 9226 (WebCore::JSXMLHttpRequest::send): Explicitly call overloaded versions of send, 9227 instead of always calling though send(DOMString). 9228 * dom/Document.idl: Adds native converter. 9229 9230 * xml/XMLHttpRequest.cpp: 9231 (WebCore::XMLHttpRequest::open): 9232 (WebCore::XMLHttpRequest::initSend): 9233 (WebCore::XMLHttpRequest::send): 9234 (WebCore::XMLHttpRequest::createRequest): 9235 (WebCore::XMLHttpRequest::sameOriginRequest): 9236 (WebCore::XMLHttpRequest::crossSiteAccessRequest): 9237 (WebCore::XMLHttpRequest::abort): 9238 (WebCore::XMLHttpRequest::clearResponse): 9239 (WebCore::XMLHttpRequest::clearRequest): 9240 (WebCore::XMLHttpRequest::genericError): 9241 (WebCore::XMLHttpRequest::dispatchProgressEvent): 9242 * xml/XMLHttpRequest.h: 9243 (WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Inline. 9244 (WebCore::XMLHttpRequest::onReadyStateChangeListener): Ditto. 9245 (WebCore::XMLHttpRequest::setOnLoadListener): Ditto. 9246 (WebCore::XMLHttpRequest::onLoadListener): Ditto. 9247 (WebCore::XMLHttpRequest::setOnProgressListener): Ditto. 9248 (WebCore::XMLHttpRequest::onProgressListener): Ditto. 9249 Makes the request entity body a member variable so that the send method 9250 can be more easily broken up. 9251 9252 2008-06-23 Timothy Hatcher <timothy (a] apple.com> 9253 9254 Make profiles of the same name in the Inspector group in the 9255 sidebar under a collapsable item that contains all the runs. 9256 9257 https://bugs.webkit.org/show_bug.cgi?id=19713 9258 9259 Reviewed by Darin Adler. 9260 9261 * English.lproj/localizedStrings.js: New strings. 9262 * page/inspector/Images/profileGroupIcon.png: Added. 9263 * page/inspector/Images/profileSmallIcon.png: Added. 9264 * page/inspector/ProfilesPanel.js: 9265 (WebInspector.ProfilesPanel.prototype.reset): Clear _profileGroups. 9266 Remove the "some-expandable" class from the sidebarTree. 9267 (WebInspector.ProfilesPanel.prototype.addProfile): Append new profiles 9268 that have the same name as a previous profile into a group. When a 9269 group has 2 profiles a ProfileGroupSidebarTreeElement is made and the 9270 ProfileSidebarTreeElements are appended to the group's element. 9271 (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle): 9272 Return _mainTitle is it is set. 9273 (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle): 9274 Set _mainTitle which is an override title. 9275 (WebInspector.ProfileGroupSidebarTreeElement): Inherit SidebarTreeElement. 9276 (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect): 9277 Show the last profile in the group when selected. 9278 * page/inspector/SidebarTreeElement.js: 9279 (WebInspector.SidebarTreeElement.prototype.get small): Return _small. 9280 (WebInspector.SidebarTreeElement.prototype.set small): Set _small and 9281 update the style to match. 9282 (WebInspector.SidebarTreeElement.prototype.onattach): Set the small 9283 class if the small property is true. 9284 * page/inspector/inspector.css: New styles for profiles groups 9285 and for the small profiles. 9286 9287 2008-06-23 Anders Carlsson <andersca (a] apple.com> 9288 9289 Reviewed by Geoff. 9290 9291 Make changedDocuments a HashSet. 9292 9293 * dom/Document.cpp: 9294 (WebCore::Document::setDocumentChanged): 9295 (WebCore::Document::updateDocumentsRendering): 9296 9297 2008-06-23 Alexey Proskuryakov <ap (a] webkit.org> 9298 9299 Reviewed by Mark Rowe. 9300 9301 Restore a collectOnMainThreadOnly call that was accidentally removed in r34659. It will not 9302 be needed when heaps are actually per-thread, but this isn't the case yet, and collecting 9303 on a different thread causes crashes. 9304 9305 * bindings/js/JSDOMBinding.h: 9306 (WebCore::DOMObject::DOMObject): 9307 9308 2008-06-22 Jonathon Jongsma <jonathon.jongsma (a] collabora.co.uk> 9309 9310 Reviewed by Darin Adler. 9311 9312 Fix https://bugs.webkit.org/show_bug.cgi?id=19465 9313 Bug 19465: Cursor sometimes gets 'stuck' in textareas when trying to navigate with arrow keys 9314 9315 Test: editing/input/textarea-arrow-navigation.html 9316 9317 * rendering/RenderText.cpp: 9318 (WebCore::RenderText::positionForCoordinates): In the case when the next position is to the right 9319 of the last text box but the text offset is 0, set the affinity to DOWNSTREAM instead of UPSTREAM so 9320 that the cursor doesn't remain on the previous line. 9321 9322 2008-06-22 Robert Blaut <webkit (a] blaut.biz> 9323 9324 Reviewed by Darin Adler. 9325 9326 Fix for https://bugs.webkit.org/show_bug.cgi?id=17421 9327 Bug 17421: Lack of end tag for SELECT element causes the rest of page to not be rendered 9328 9329 Test: fast/parser/input-textarea-inside-select-element.html 9330 9331 * html/HTMLParser.cpp: 9332 (WebCore::HTMLParser::handleError): 9333 9334 2008-06-22 David Krause <david.krause (a] gmail.com> 9335 9336 Reviewed by Darin Adler. 9337 9338 Fix https://bugs.webkit.org/show_bug.cgi?id=19426 9339 Bug 19426: LOW_BANDWIDTH_DISPLAY build broken 9340 9341 Change ref to addClient and deref to removeClient in code wrapped 9342 by USE(LOW_BANDWIDTH_DISPLAY) to match changes in r31834. 9343 9344 * loader/FrameLoader.cpp: 9345 (WebCore::FrameLoader::addLowBandwidthDisplayRequest): 9346 (WebCore::FrameLoader::removeAllLowBandwidthDisplayRequests): 9347 (WebCore::FrameLoader::notifyFinished): 9348 9349 2008-06-22 Robert Blaut <webkit (a] blaut.biz> 9350 9351 Reviewed by Darin Adler. 9352 9353 Fix https://bugs.webkit.org/show_bug.cgi?id=19520 9354 Bug 19520: WebKit incorrectly accepts hidden as the value of outline-style 9355 9356 Test: fast/css/outline-hidden-illegal-value.html 9357 9358 * css/CSSParser.cpp: 9359 (WebCore::CSSParser::parseValue): 9360 * rendering/RenderFlow.cpp: 9361 (WebCore::RenderFlow::paintOutline): 9362 * rendering/RenderObject.cpp: 9363 (WebCore::RenderObject::paintOutline): 9364 * rendering/style/RenderStyle.h: 9365 (WebCore::RenderStyle::outlineWidth): 9366 (WebCore::RenderStyle::outlineOffset): 9367 9368 2008-06-22 Jonathon Jongsma <jonathon.jongsma (a] collabora.co.uk> 9369 9370 Reviewed by Dan Bernstein. 9371 9372 Fix https://bugs.webkit.org/show_bug.cgi?id=19675 9373 Bug 19675: [GTK] negative text-shadows are not rendered 9374 9375 * platform/graphics/cairo/FontCairo.cpp: 9376 (WebCore::Font::drawGlyphs): The IntSize::isEmpty() call checks that the 9377 sizes are > 0, while we need to check for != 0. 9378 9379 2008-06-22 kuchhal <kuchhal (a] yahoo.com> 9380 9381 Reviewed by Darin Adler. 9382 9383 Fix https://bugs.webkit.org/show_bug.cgi?id=19696 9384 Bug 19696: Memory leak in WebCore/editing/DeleteButtonController.cpp 9385 9386 * editing/DeleteButtonController.cpp: 9387 (WebCore::DeleteButtonController::createDeletionUI): Delete the Image instance 9388 if the platform resource could not be loaded. 9389 9390 2008-06-22 kuchhal <kuchhal (a] yahoo.com> 9391 9392 Reviewed by Darin Adler. 9393 9394 Fix https://bugs.webkit.org/show_bug.cgi?id=19697 9395 Bug 19697: Redundant releaseRef causing memory leak 9396 9397 * platform/win/ClipboardUtilitiesWin.cpp: 9398 (WebCore::fragmentFromCF_HTML): 9399 9400 2008-06-21 Sam Weinig <sam (a] webkit.org> 9401 9402 Fix Windows build. 9403 9404 * bindings/scripts/CodeGeneratorCOM.pm: 9405 * html/HTMLInputElement.idl: 9406 9407 2008-06-21 Timothy Hatcher <timothy (a] apple.com> 9408 9409 Fix a typo "new" in the keywords list for hte JavaScript 9410 syntax highlighter. And adds "get" and "set" to the keyword list. 9411 9412 Reviewed by Sam Weinig. 9413 9414 * page/inspector/SourceFrame.js: 9415 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): 9416 Fixes the "new" typo and adds "get" and "set". 9417 9418 2008-06-21 David Kilzer <ddkilzer (a] apple.com> 9419 9420 Bug 7931: Escaped elements within a textarea block can cause the textarea box to be closed prematurely 9421 9422 <https://bugs.webkit.org/show_bug.cgi?id=7931> 9423 9424 Reviewed by Darin. 9425 9426 Tests: fast/parser/entity-end-iframe-tag.html 9427 fast/parser/entity-end-script-tag.html 9428 fast/parser/entity-end-style-tag.html 9429 fast/parser/entity-end-textarea-tag.html 9430 fast/parser/entity-end-title-tag.html 9431 fast/parser/entity-end-xmp-tag.html 9432 9433 Previously the parser accepted end tags for textarea, title and 9434 iframe elements that contained entity-escaped characters such as 9435 '<'. The fix is to save the position of the last entity-escaped 9436 character converted and to use that to make sure the end tag does 9437 not contain an escaped character. 9438 9439 Note that this was not an issue for script, style and xmp elements 9440 since they already ignored entity-escaped characters. 9441 9442 * html/HTMLTokenizer.cpp: 9443 (WebCore::HTMLTokenizer::parseSpecial): When looking for a closing 9444 tag, ignore any text with entity-escaped characters by making sure 9445 lastDecodedEntityPosition is less than the first character of the 9446 end tag. 9447 9448 2008-06-21 Sam Weinig <sam (a] webkit.org> 9449 9450 Reviewed by Dan Bernstein. 9451 9452 Fix for https://bugs.webkit.org/show_bug.cgi?id=19647 9453 REGRESSION: Problem with extjs (insertAdjacentHTML) 9454 9455 Test: fast/dynamic/insertAdjacentHTML-allowed-parents.html 9456 9457 * html/HTMLElement.cpp: 9458 (WebCore::HTMLElement::insertAdjacentHTML): Don't use innerHTML logic for creating 9459 the DocumentFragment from the html string. 9460 9461 2008-06-21 Adam Barth <abarth (a] webkit.org> 9462 9463 Reviewed by Sam Weinig. 9464 9465 Log error messages to the console when we deny a request for a URL. 9466 These error messages do not appear in LayoutTests, but they do 9467 appear in the WebInspector. 9468 9469 * dom/XMLTokenizer.cpp: 9470 (WebCore::shouldAllowExternalLoad): 9471 * loader/DocLoader.cpp: 9472 (WebCore::DocLoader::requestResource): 9473 (WebCore::DocLoader::printAccessDeniedMessage): 9474 * loader/DocLoader.h: 9475 * xml/XSLTProcessor.cpp: 9476 (WebCore::docLoaderFunc): 9477 9478 2008-06-21 Adam Barth <abarth (a] webkit.org> 9479 9480 Reviewed by Sam Weinig. 9481 9482 Fix <https://bugs.webkit.org/show_bug.cgi?id=19649>: 9483 XSL style sheets allowed across origins 9484 9485 Block cross-orgin loads of XSL style sheets, matching Internet 9486 Explorer, Firefox, and Opera. Also, we now block loading of XBL 9487 across origins, matching Firefox. The XBL behavior does not appear 9488 testable because XBL seems to not be enabled. 9489 9490 Test: http/tests/security/cross-origin-xsl-BLOCKED.html 9491 9492 * loader/DocLoader.cpp: 9493 (WebCore::DocLoader::requestResource): 9494 9495 2008-06-21 Brett Wilson <brettw (a] chromium.org> 9496 9497 Reviewed by Dave Hyatt. 9498 9499 - fix https://bugs.webkit.org/show_bug.cgi?id=19542 9500 <rdar://problem/6007976> Crash in Font::glyphDataForCharacter when getting small caps data 9501 9502 Adds a NULL check for getting the small caps page of glyph data. The 9503 page() function can explicitly return null in some cases, and every 9504 other usage in this function does the check. 9505 9506 * platform/graphics/Font.cpp: 9507 (WebCore::Font::glyphDataForCharacter): 9508 9509 2008-06-21 Alex Taylor <darwin (a] milliamp.org> 9510 9511 Reviewed by Dan Bernstein. 9512 9513 Fixes <https://bugs.webkit.org/show_bug.cgi?id=12425> 9514 9515 Adds support for border-radius on legend elements. 9516 Fieldsets with a legend and rounded borders now have a clipping region set 9517 around the legend. 9518 9519 Test: fast/borders/fieldsetBorderRadius.html 9520 9521 * rendering/RenderFieldset.cpp: 9522 (WebCore::RenderFieldset::paintBoxDecorations): 9523 (WebCore::RenderFieldset::paintBorderMinusLegend): Removed a FIXME. 9524 9525 2008-06-21 Kevin Ollivier <kevino (a] theolliviers.com> 9526 9527 wx build fix. Adding CSSVariable* API sources to the Bakefiles. 9528 9529 * WebCoreSources.bkl: 9530 9531 2008-06-20 Sam Weinig <sam (a] webkit.org> 9532 9533 Fix Windows build. 9534 9535 * bindings/scripts/CodeGeneratorCOM.pm: 9536 9537 2008-06-20 Jan Michael Alonzo <jmalonzo (a] webkit.org> 9538 9539 Gtk build fix: Add files missing in the previous fix (r34705) 9540 9541 * GNUmakefile.am: 9542 9543 2008-06-20 Dan Bernstein <mitz (a] apple.com> 9544 9545 Reviewed by Sam Weinig. 9546 9547 - fix leak of mask images 9548 9549 * rendering/RenderObject.cpp: 9550 (WebCore::RenderObject::arenaDelete): Added a call to removeClient() on 9551 the mask box image. 9552 9553 2008-06-20 Jan Michael Alonzo <jmalonzo (a] webkit.org> 9554 9555 Gtk build fix for r34702, r34700 and r34693 9556 Qt build fix for r34700 and r34693 9557 9558 * GNUmakefile.am: 9559 * WebCore.pro: 9560 * platform/gtk/RenderThemeGtk.cpp: 9561 * platform/gtk/RenderThemeGtk.h: 9562 * platform/qt/RenderThemeQt.cpp: 9563 * platform/qt/RenderThemeQt.h: 9564 9565 2008-06-20 Sam Weinig <sam (a] webkit.org> 9566 9567 Reviewed by Adele Peterson. 9568 9569 Add 'files' property to the HTMLInputElement, which returns a FileList object 9570 (when type=file, null otherwise) containing a list of all the files selected. 9571 It currently always contains only 0 or 1 files as multifile input is not supported 9572 yet. The list contains File objects which contains the name and size of the file. 9573 The inspiration for these interfaces is from: 9574 - http://developer.mozilla.org/en/docs/nsIDOMFileList 9575 - http://developer.mozilla.org/en/docs/nsIDOMFile 9576 9577 Also fixes <rdar://problem/6022802> 9578 9579 * DerivedSources.make: 9580 * GNUmakefile.am: 9581 * WebCore.pro: 9582 * WebCore.vcproj/WebCore.vcproj: 9583 * WebCore.xcodeproj/project.pbxproj: 9584 * WebCoreSources.bkl: 9585 * bindings/objc/DOMInternal.h: 9586 * bindings/scripts/CodeGenerator.pm: 9587 * bindings/scripts/IDLStructure.pm: 9588 * html/File.cpp: Added. 9589 (WebCore::File::File): 9590 (WebCore::File::fileSize): 9591 * html/File.h: Added. 9592 (WebCore::File::create): 9593 (WebCore::File::fileName): 9594 (WebCore::File::path): 9595 * html/File.idl: Added. 9596 * html/FileList.cpp: Added. 9597 (WebCore::FileList::FileList): 9598 (WebCore::FileList::item): 9599 * html/FileList.h: Added. 9600 (WebCore::FileList::create): 9601 (WebCore::FileList::length): 9602 (WebCore::FileList::isEmpty): 9603 (WebCore::FileList::clear): 9604 (WebCore::FileList::append): 9605 * html/FileList.idl: Added. 9606 * html/HTMLInputElement.cpp: 9607 (WebCore::HTMLInputElement::setInputType): 9608 (WebCore::HTMLInputElement::appendFormData): 9609 (WebCore::HTMLInputElement::value): 9610 (WebCore::HTMLInputElement::setValue): 9611 (WebCore::HTMLInputElement::setValueFromRenderer): 9612 (WebCore::HTMLInputElement::files): 9613 * html/HTMLInputElement.h: 9614 * html/HTMLInputElement.idl: 9615 * page/DOMWindow.idl: 9616 9617 2008-06-20 David Hyatt <hyatt (a] apple.com> 9618 9619 Make sure CSS variables work inside the inline style attribute. 9620 9621 Reviewed by Beth 9622 9623 Added fast/css/variables/inline-style-test.html 9624 9625 * css/CSSMutableStyleDeclaration.cpp: 9626 (WebCore::CSSMutableStyleDeclaration::removeProperty): 9627 (WebCore::CSSMutableStyleDeclaration::addParsedProperties): 9628 9629 2008-06-20 David Hyatt <hyatt (a] apple.com> 9630 9631 Add support for the CSSVariablesRule and CSSVariablesDeclaration DOM APIs. These allow querying of 9632 variables names and values, as well as iteration, setting and removal. 9633 9634 Reviewed by Sam 9635 9636 Added multiple new tests to fast/css/variables/ 9637 9638 * DerivedSources.make: 9639 * WebCore.xcodeproj/project.pbxproj: 9640 * bindings/js/JSCSSRuleCustom.cpp: 9641 (WebCore::toJS): 9642 * bindings/objc/DOMInternal.h: 9643 * bindings/scripts/CodeGeneratorJS.pm: 9644 * css/CSSPrimitiveValue.cpp: 9645 (WebCore::CSSPrimitiveValue::parserValue): 9646 * css/CSSVariablesDeclaration.cpp: 9647 (WebCore::CSSVariablesDeclaration::removeVariable): 9648 (WebCore::CSSVariablesDeclaration::setVariable): 9649 (WebCore::CSSVariablesDeclaration::setCssText): 9650 (WebCore::CSSVariablesDeclaration::setChanged): 9651 * css/CSSVariablesDeclaration.h: 9652 * css/CSSVariablesDeclaration.idl: Added. 9653 * css/CSSVariablesRule.h: 9654 * css/CSSVariablesRule.idl: Added. 9655 9656 2008-06-20 Kevin McCullough <kmccullough (a] apple.com> 9657 9658 Rubber stamped by Adele. 9659 9660 * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Added. 9661 9662 2008-06-20 Kevin McCullough <kmccullough (a] apple.com> 9663 9664 Reviewed by Tim. 9665 9666 <rdar://problem/5958770> JSProfiler: Time incorrectly given to (idle) 9667 if profiling is started and finished within the same function. (19230) 9668 - Now we profile one more stack frame up from the last frame to allocate 9669 the time spent in it, if it exists. 9670 9671 * page/Console.cpp: 9672 * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Added. 9673 (WebCore::Console::profile): When stating the profiler give a client for 9674 the callback of when the profile actually finishes. 9675 (WebCore::Console::profileEnd): No longer needs to handle the return of 9676 the profile object since it will be retruned in the client's callback. 9677 (WebCore::Console::finishedProfiling): Implemenet the ProfileClient 9678 callback method. 9679 * page/Console.h: Inherit from the ProfileClient. 9680 * page/InspectorController.cpp: 9681 (WebCore::InspectorController::startUserInitiatedProfiling): Use the 9682 client callback. 9683 (WebCore::InspectorController::stopUserInitiatedProfiling): Does not 9684 need to handle the profile being returned as it is now handled by the 9685 client callback. 9686 (WebCore::InspectorController::finishedProfiling): Implement the 9687 ProfileClient callback method. 9688 * page/InspectorController.h: Inherit from the ProfileClient. 9689 9690 2008-06-20 Timothy Hatcher <timothy (a] apple.com> 9691 9692 Makes the JavaScript syntax highlighter process lines in chunks 9693 so the user interface isn't blocked for large script files. 9694 9695 https://bugs.webkit.org/show_bug.cgi?id=19677 9696 9697 Reviewed by Adam Roben. 9698 9699 * page/inspector/SourceFrame.js: 9700 (WebInspector.SourceFrame.prototype._addMessageToSource): Use the cells 9701 property on the row instead of getElementsByTagName. 9702 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Use the 9703 cells property on the row instead of getElementsByTagName. Added 9704 a nested processChunk function that highlights 10 lines at a time 9705 This processChunk function is called at an interval of 25ms. The 9706 code is still highlighted quickly, and the user can't tell it wasn't 9707 highlighted all at once. 9708 9709 2008-06-20 Timothy Hatcher <timothy (a] apple.com> 9710 9711 Fixes a bug where the source view in the Resources panel had a 9712 couple of extra pixels at the bottom when fully scrolled. 9713 9714 Reviewed by Adam Roben. 9715 9716 * page/inspector/SourceFrame.js: 9717 (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight): 9718 Call removeStyleClass instead of addStyleClass for "webkit-height-sized-to-fit" 9719 when sizing to fit is being disabled. 9720 * page/inspector/inspector.css: 9721 (.resource-view.headers-visible .source-view-frame): Added the 9722 vertical-align: top property to prevent line alignment from adding extra 9723 pixels on the bottom. 9724 9725 2008-06-20 Timothy Hatcher <timothy (a] apple.com> 9726 9727 Changed all lineHeight, baselinePosition and verticalPositionHint 9728 calls to return int instead of short. The short was overflowing 9729 when a value greater than 32,767 was encountered. 9730 9731 Fixes: iframes with a height of 32,768px or greater do not layout correctly 9732 https://bugs.webkit.org/show_bug.cgi?id=19679 9733 9734 Reviewed by Dave Hyatt. 9735 9736 Test: fast/css/line-height-overflow.html 9737 9738 * rendering/RenderBR.cpp: 9739 (WebCore::RenderBR::baselinePosition): 9740 * rendering/RenderBR.h: 9741 * rendering/RenderBlock.cpp: 9742 (WebCore::RenderBlock::lineHeight): 9743 * rendering/RenderBlock.h: 9744 * rendering/RenderFlow.cpp: 9745 * rendering/RenderFlow.h: 9746 * rendering/RenderListBox.cpp: 9747 * rendering/RenderListBox.h: 9748 * rendering/RenderListMarker.cpp: 9749 (WebCore::RenderListMarker::lineHeight): 9750 * rendering/RenderListMarker.h: 9751 * rendering/RenderObject.cpp: 9752 (WebCore::RenderObject::verticalPositionHint): 9753 * rendering/RenderObject.h: 9754 (WebCore::): 9755 * rendering/RenderPath.cpp: 9756 (WebCore::RenderPath::lineHeight): 9757 * rendering/RenderPath.h: 9758 * rendering/RenderReplaced.cpp: 9759 (WebCore::RenderReplaced::lineHeight): 9760 * rendering/RenderReplaced.h: 9761 * rendering/RenderSVGContainer.cpp: 9762 (WebCore::RenderSVGContainer::lineHeight): 9763 * rendering/RenderSVGContainer.h: 9764 * rendering/RenderSVGHiddenContainer.cpp: 9765 (WebCore::RenderSVGHiddenContainer::lineHeight): 9766 * rendering/RenderSVGHiddenContainer.h: 9767 * rendering/RenderSVGRoot.cpp: 9768 (WebCore::RenderSVGRoot::lineHeight): 9769 * rendering/RenderSVGRoot.h: 9770 * rendering/RenderSlider.cpp: 9771 * rendering/RenderSlider.h: 9772 * rendering/RenderTableCell.cpp: 9773 * rendering/RenderTableCell.h: 9774 * rendering/RenderTableCol.h: 9775 * rendering/RenderTableRow.h: 9776 * rendering/RenderTableSection.h: 9777 * rendering/RenderText.cpp: 9778 * rendering/RenderText.h: 9779 * rendering/RenderTextControl.cpp: 9780 * rendering/RenderTextControl.h: 9781 * rendering/RenderTheme.cpp: 9782 * rendering/RenderTheme.h: 9783 * rendering/RenderThemeMac.h: 9784 * rendering/RenderThemeMac.mm: 9785 * rendering/RenderThemeSafari.cpp: 9786 * rendering/RenderThemeSafari.h: 9787 9788 2008-06-20 Dan Bernstein <mitz (a] apple.com> 9789 9790 Reviewed by Darin Adler. 9791 9792 - fix https://bugs.webkit.org/show_bug.cgi?id=19519 9793 <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP) 9794 9795 Test: fast/table/prepend-in-anonymous-table.html 9796 9797 * rendering/RenderBlock.cpp: 9798 (WebCore::RenderBlock::addChildToFlow): Added code to handle the case 9799 of inserting before a child that has been wrapped by an anonymous table, 9800 in which case if the new child is the type that needs to be in a table, 9801 it is inserted into the table, and otherwise it is inserted before the 9802 table. 9803 * rendering/RenderTable.cpp: 9804 (WebCore::RenderTable::addChild): Added table-column-group alongside 9805 table-caption as content that can exist inside an anonymous table 9806 without being wrapped in a table section. 9807 9808 2008-06-20 David Hyatt <hyatt (a] apple.com> 9809 9810 Allow CSS variables to support arbitrary expressions as values instead of just a single term. 9811 9812 Reviewed by Sam 9813 9814 Removed fast/css/variables/single-term-test.html and replaced with multiple-term-test.html 9815 9816 * css/CSSGrammar.y: 9817 * css/CSSParser.cpp: 9818 (WebCore::CSSParser::addVariable): 9819 * css/CSSParser.h: 9820 * css/CSSStyleSelector.cpp: 9821 (WebCore::CSSStyleSelector::addMatchedDeclaration): 9822 * css/CSSVariablesDeclaration.cpp: 9823 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration): 9824 (WebCore::CSSVariablesDeclaration::getVariableValue): 9825 (WebCore::CSSVariablesDeclaration::addParsedVariable): 9826 (WebCore::CSSVariablesDeclaration::getParsedVariable): 9827 * css/CSSVariablesDeclaration.h: 9828 (WebCore::CSSVariablesDeclaration::create): 9829 9830 2008-06-19 Dan Bernstein <mitz (a] apple.com> 9831 9832 Reviewed by John Sullivan. 9833 9834 - fix a bug where anonymous tables were inserted in the wrong place 9835 9836 Tests: tables/mozilla/bugs/bug2479-2.html 9837 tables/mozilla/bugs/bug278266.html 9838 tables/mozilla/bugs/bug8411.xml 9839 9840 * rendering/RenderContainer.cpp: 9841 (WebCore::RenderContainer::addChild): Changed to create an anonymous 9842 table and insert it before beforeChild unless the insertion point is 9843 right after an existing anonymous table, in which case the existing 9844 table is used. 9845 9846 2008-06-19 Justin Garcia <justin.garcia (a] apple.com> 9847 9848 Reviewed by Oliver. 9849 9850 <https://bugs.webkit.org/show_bug.cgi?id=16049> 9851 execCommand('backColor') fails on collapsed selections 9852 9853 * editing/EditorCommand.cpp: 9854 (WebCore::CommandEntry::): Enable BackColor for caret selections, and 9855 disable ForeColor in plaintext-only regions. 9856 9857 2008-06-19 Justin Garcia <justin.garcia (a] apple.com> 9858 9859 Reviewed by John. 9860 9861 <https://bugs.webkit.org/show_bug.cgi?id=19653> 9862 Typing style lost when creating list from, indenting or outdenting an empty paragraph 9863 9864 There were two problems. First, moveParagraphs didn't preserve the style of empty paragraphs. 9865 Second, indent, outdent and list creation returned false from preservesTypingStyle. 9866 The second problem couldn't be fixed by just adding preservesTypingStyle() { return true; } 9867 to those commands, though, because of other bugs. 9868 9869 Cleaned up the implementation of typing style enough to remove FIXMEs for: 9870 9871 <rdar://problem/3769899> Implementation of typing style needs improvement 9872 9873 which has actually been closed for some time now anyway. 9874 9875 * dom/Document.cpp: Removed an unused header. 9876 * editing/CompositeEditCommand.cpp: 9877 (WebCore::CompositeEditCommand::moveParagraphs): Preserve the style of an empty paragraph, too. 9878 * editing/DeleteSelectionCommand.cpp: 9879 (WebCore::DeleteSelectionCommand::saveTypingStyleState): Removed FIXME. 9880 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): 9881 Removed FIXME. 9882 If there is a typing style to apply after a delete, apply it to any line break that acts as a paragraph 9883 placeholder, not only one that was inserted by deletion. This fixes a bug where deleting 9884 <div><b>Bold</b><br></div>, changing the selection and then coming back and typing wouldn't 9885 produce bold text. 9886 Don't set the EditCommand's typingStyle, it has been removed (more on that later). 9887 (WebCore::DeleteSelectionCommand::doApply): We don't need to pass calculateTypingStyleAfterDelete 9888 the inserted placeholder because it will find it. 9889 (WebCore::DeleteSelectionCommand::preservesTypingStyle): Normally deletion doesn't preserve the 9890 typing style that was present before it. For example, type a character, Bold, then delete the 9891 character and start typing. The Bold typing style shouldn't stick around. We got this right before 9892 purely by chance. Deletion should preserve a typing style that *it* sets, however. 9893 * editing/DeleteSelectionCommand.h: No longer need to pass calculateTypingStyleAfterDelete 9894 the inserted placeholder. 9895 * editing/EditCommand.cpp: 9896 (WebCore::EditCommand::apply): 9897 Clearing or not clearing a removed anchor should not be determined by whether or not a command 9898 preservesTypingStyle(). For example, the deletion that removed an anchor (and stored it), may 9899 not preserve the typing style, but that doesn't mean that it should then go and clear the removed 9900 anchor. All high level commands, and all commands that a TypingCommand spawns, except for 9901 text insertions, which should restore a removed anchor, should clear it. 9902 There is no longer a typing style on EditCommand, removed code that cleared it. Code that clears the 9903 *actual* typing style is now in Editor::appliedEditing, just like before. 9904 There is no longer a typing style on EditCommand, removed code to set one. 9905 (WebCore::EditCommand::styleAtPosition): Removed FIXME. 9906 * editing/EditCommand.h: 9907 Removed code assosiated with m_typingStyle. 9908 Made preservesTypingStyle() public, so that we can call it from Editor::appliedEditing(). 9909 * editing/Editor.cpp: 9910 (WebCore::Editor::appliedEditing): 9911 Removed code to preserve the removedAnchor during the call to setSelection, because we no longer 9912 request to clear the typing style with that call. Also removed the FIXME about this. 9913 Before, a command would set the Frame's typing style by setting its own typingStyle, and then 9914 letting code here, in appliedEditing pick that up and set it on the Frame. Now, the command 9915 itself sets the Frame's typing style. Deletion is the only command that does this right now. 9916 * editing/IndentOutdentCommand.h: 9917 (WebCore::IndentOutdentCommand::preservesTypingStyle): Added, returns true. 9918 * editing/InsertLineBreakCommand.cpp: 9919 (WebCore::InsertLineBreakCommand::doApply): Removed FIXME. 9920 * editing/InsertListCommand.h: 9921 (WebCore::InsertListCommand::preservesTypingStyle): Added. 9922 * editing/InsertParagraphSeparatorCommand.cpp: 9923 (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Removed FIXME. 9924 * editing/InsertTextCommand.cpp: 9925 (WebCore::InsertTextCommand::input): Removed FIXME. 9926 * editing/ReplaceSelectionCommand.cpp: 9927 (WebCore::ReplaceSelectionCommand::doApply): Removed FIXME and also added one about clearing 9928 the typing style here. It seems like it's something that could wait until after the command 9929 has been performed, since there is no code between this point and the end of the operation 9930 that queries or uses the typing style. 9931 9932 2008-06-19 Dan Bernstein <mitz (a] apple.com> 9933 9934 Reviewed by Alexey Proskuryakov. 9935 9936 - fix crash in CSSStyleDeclaration::copyPropertiesInSet() 9937 9938 Covered by many editing tests 9939 9940 * css/CSSStyleDeclaration.cpp: 9941 (WebCore::CSSStyleDeclaration::copyPropertiesInSet): Re-ordered to avoid 9942 null pointer deref. 9943 9944 2008-06-19 David Hyatt <hyatt (a] apple.com> 9945 9946 Fix out of bounds bug in CSSVariablesDeclaration's item() method. 9947 9948 Reviewed by Sam, Darin 9949 9950 * css/CSSVariablesDeclaration.cpp: 9951 (WebCore::CSSVariablesDeclaration::item): 9952 * css/CSSVariablesDeclaration.h: 9953 9954 2008-06-19 John Sullivan <sullivan (a] apple.com> 9955 9956 Reviewed by Darin 9957 9958 Tweak to previous checkin 9959 9960 * page/FrameView.cpp: 9961 (WebCore::FrameView::performPostLayoutTasks): 9962 clear m_firstLayoutCallbackPending before performing callback, to avoid recursion 9963 9964 2008-06-19 John Sullivan <sullivan (a] apple.com> 9965 9966 Reviewed by Darin 9967 9968 - fixed <rdar://problem/6021353> Assertion failure (!root->needsLayout()) after certain steps 9969 9970 The didFirstLayout callback was called in a place where trouble would ensue if the client 9971 did any work that would cause the layout to be dirtied. Fixed by delaying the callback 9972 until performPostLayoutTasks. 9973 9974 * page/FrameView.cpp: 9975 new m_firstLayoutCallbackPending instance member variable in FrameViewPrivate 9976 (WebCore::FrameViewPrivate::reset): 9977 set m_firstLayoutCallbackPending to false 9978 (WebCore::FrameView::layout): 9979 set m_firstLayoutCallbackPending instead of a local variable; don't do didFirstLayout callback here 9980 (WebCore::FrameView::performPostLayoutTasks): 9981 if m_firstLayoutCallbackPending is set, do didFirstLayout callback here, then clear m_firstLayoutCallbackPending 9982 9983 2008-06-19 David Hyatt <hyatt (a] apple.com> 9984 9985 Implement some cleanup of CSS variables based off Darin's review comments. 9986 9987 Reviewed by darin 9988 9989 * css/CSSParser.cpp: 9990 (WebCore::CSSParser::parseVariable): 9991 (WebCore::CSSParser::checkForVariables): 9992 (WebCore::CSSParser::addUnresolvedProperty): 9993 * css/CSSStyleSelector.cpp: 9994 (WebCore::CSSStyleSelector::addMatchedDeclaration): 9995 * css/CSSVariableDependentValue.h: 9996 * css/CSSVariablesRule.cpp: 9997 (WebCore::CSSVariablesRule::CSSVariablesRule): 9998 9999 2008-06-19 John Sullivan <sullivan (a] apple.com> 10000 10001 Rubber-stamped by Dan 10002 10003 Prepended all FrameViewPrivate instance member variables with "m_" (in preparation 10004 for adding a new one in a future patch) 10005 10006 * page/FrameView.cpp: 10007 (WebCore::FrameViewPrivate::FrameViewPrivate): 10008 (WebCore::FrameViewPrivate::reset): 10009 (WebCore::FrameView::~FrameView): 10010 (WebCore::FrameView::resetScrollbars): 10011 (WebCore::FrameView::didFirstLayout): 10012 (WebCore::FrameView::initScrollbars): 10013 (WebCore::FrameView::layoutCount): 10014 (WebCore::FrameView::needsFullRepaint): 10015 (WebCore::FrameView::layoutRoot): 10016 (WebCore::FrameView::layout): 10017 (WebCore::FrameView::scrollTo): 10018 (WebCore::FrameView::useSlowRepaints): 10019 (WebCore::FrameView::setUseSlowRepaints): 10020 (WebCore::FrameView::removeSlowRepaintObject): 10021 (WebCore::FrameView::setScrollbarsMode): 10022 (WebCore::FrameView::setVScrollbarMode): 10023 (WebCore::FrameView::setHScrollbarMode): 10024 (WebCore::FrameView::scheduleRelayout): 10025 (WebCore::FrameView::scheduleRelayoutOfSubtree): 10026 (WebCore::FrameView::layoutPending): 10027 (WebCore::FrameView::needsLayout): 10028 (WebCore::FrameView::unscheduleRelayout): 10029 (WebCore::FrameView::isTransparent): 10030 (WebCore::FrameView::setTransparent): 10031 (WebCore::FrameView::baseBackgroundColor): 10032 (WebCore::FrameView::setBaseBackgroundColor): 10033 (WebCore::FrameView::performPostLayoutTasks): 10034 (WebCore::FrameView::updateOverflowStatus): 10035 10036 2008-06-19 David Hyatt <hyatt (a] apple.com> 10037 10038 Add initial support for CSS variables. Non-dynamic cases should (hopefully) all work. Things will get 10039 confused if you use the CSS OM to remove variables/inject variables, etc. In addition no DOM APIs are 10040 exposed yet for the new variable interfaces. 10041 10042 Reviewed by Beth 10043 10044 Added many tests to fast/css/variables/ 10045 10046 * WebCore.xcodeproj/project.pbxproj: 10047 * css/CSSFunctionValue.cpp: Added. 10048 (WebCore::CSSFunctionValue::CSSFunctionValue): 10049 (WebCore::CSSFunctionValue::~CSSFunctionValue): 10050 (WebCore::CSSFunctionValue::cssText): 10051 (WebCore::CSSFunctionValue::parserValue): 10052 * css/CSSFunctionValue.h: Added. 10053 (WebCore::CSSFunctionValue::create): 10054 * css/CSSGrammar.y: 10055 * css/CSSMutableStyleDeclaration.cpp: 10056 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): 10057 (WebCore::CSSMutableStyleDeclaration::copy): 10058 * css/CSSMutableStyleDeclaration.h: 10059 (WebCore::CSSMutableStyleDeclaration::create): 10060 (WebCore::CSSMutableStyleDeclaration::hasVariableDependentValue): 10061 * css/CSSParser.cpp: 10062 (WebCore::equal): 10063 (WebCore::equalIgnoringCase): 10064 (WebCore::CSSParser::~CSSParser): 10065 (WebCore::CSSParserString::lower): 10066 (WebCore::CSSParser::document): 10067 (WebCore::CSSParser::validUnit): 10068 (WebCore::unitFromString): 10069 (WebCore::CSSParser::checkForOrphanedUnits): 10070 (WebCore::CSSParser::parseValue): 10071 (WebCore::CSSParser::parseFillShorthand): 10072 (WebCore::CSSParser::parseTransitionShorthand): 10073 (WebCore::CSSParser::parseContent): 10074 (WebCore::CSSParser::parseFillImage): 10075 (WebCore::CSSParser::parseFillPosition): 10076 (WebCore::CSSParser::parseFillSize): 10077 (WebCore::CSSParser::parseFillProperty): 10078 (WebCore::CSSParser::parseTransitionDuration): 10079 (WebCore::CSSParser::parseTransitionRepeatCount): 10080 (WebCore::CSSParser::parseTimingFunctionValue): 10081 (WebCore::CSSParser::parseTransitionTimingFunction): 10082 (WebCore::CSSParser::parseTransitionProperty): 10083 (WebCore::skipCommaInDashboardRegion): 10084 (WebCore::CSSParser::parseDashboardRegions): 10085 (WebCore::CSSParser::parseCounterContent): 10086 (WebCore::CSSParser::parseShape): 10087 (WebCore::CSSParser::parseFont): 10088 (WebCore::CSSParser::parseFontFamily): 10089 (WebCore::CSSParser::parseFontFaceSrc): 10090 (WebCore::CSSParser::parseFontFaceUnicodeRange): 10091 (WebCore::CSSParser::parseColorParameters): 10092 (WebCore::CSSParser::parseHSLParameters): 10093 (WebCore::CSSParser::parseColor): 10094 (WebCore::CSSParser::parseColorFromValue): 10095 (WebCore::ShadowParseContext::commitLength): 10096 (WebCore::CSSParser::parseShadow): 10097 (WebCore::CSSParser::parseReflect): 10098 (WebCore::BorderImageParseContext::commitNumber): 10099 (WebCore::BorderImageParseContext::commitWidth): 10100 (WebCore::BorderImageParseContext::commitBorderImage): 10101 (WebCore::CSSParser::parseBorderImage): 10102 (WebCore::CSSParser::parseCounter): 10103 (WebCore::parseGradientPoint): 10104 (WebCore::parseGradientColorStop): 10105 (WebCore::CSSParser::parseGradient): 10106 (WebCore::CSSParser::parseCanvas): 10107 (WebCore::TransformOperationInfo::TransformOperationInfo): 10108 (WebCore::CSSParser::parseTransform): 10109 (WebCore::CSSParser::lex): 10110 (WebCore::CSSParser::text): 10111 (WebCore::CSSParser::createFloatingValueList): 10112 (WebCore::CSSParser::sinkFloatingValueList): 10113 (WebCore::CSSParser::createFloatingFunction): 10114 (WebCore::CSSParser::sinkFloatingFunction): 10115 (WebCore::CSSParser::sinkFloatingValue): 10116 (WebCore::CSSParser::createFloatingMediaQueryExp): 10117 (WebCore::CSSParser::createCharsetRule): 10118 (WebCore::CSSParser::createImportRule): 10119 (WebCore::CSSParser::createVariablesRule): 10120 (WebCore::CSSParser::addVariable): 10121 (WebCore::CSSParser::clearVariables): 10122 (WebCore::CSSParser::parseVariable): 10123 (WebCore::CSSParser::parsePropertyWithResolvedVariables): 10124 (WebCore::CSSParser::checkForVariables): 10125 (WebCore::CSSParser::addUnresolvedProperty): 10126 (WebCore::cssPropertyID): 10127 (WebCore::cssValueKeywordID): 10128 * css/CSSParser.h: 10129 * css/CSSParserValues.cpp: Added. 10130 (WebCore::CSSParserValueList::~CSSParserValueList): 10131 (WebCore::CSSParserValueList::addValue): 10132 (WebCore::CSSParserValueList::deleteValueAt): 10133 (WebCore::CSSParserValue::createCSSValue): 10134 * css/CSSParserValues.h: Added. 10135 (WebCore::CSSParserString::operator String): 10136 (WebCore::CSSParserString::operator AtomicString): 10137 (WebCore::CSSParserValue::): 10138 (WebCore::CSSParserValueList::CSSParserValueList): 10139 (WebCore::CSSParserValueList::size): 10140 (WebCore::CSSParserValueList::current): 10141 (WebCore::CSSParserValueList::next): 10142 (WebCore::CSSParserValueList::valueAt): 10143 (WebCore::CSSParserValueList::clear): 10144 (WebCore::CSSParserValueList::containsVariables): 10145 (WebCore::CSSParserFunction::~CSSParserFunction): 10146 * css/CSSPrimitiveValue.cpp: 10147 (WebCore::CSSPrimitiveValue::getStringValue): 10148 (WebCore::CSSPrimitiveValue::cssText): 10149 (WebCore::CSSPrimitiveValue::parserValue): 10150 * css/CSSPrimitiveValue.h: 10151 (WebCore::CSSPrimitiveValue::): 10152 (WebCore::CSSPrimitiveValue::setPrimitiveType): 10153 * css/CSSRule.h: 10154 (WebCore::CSSRule::): 10155 * css/CSSRule.idl: 10156 * css/CSSStyleDeclaration.cpp: 10157 (WebCore::CSSStyleDeclaration::copyPropertiesInSet): 10158 * css/CSSStyleSelector.cpp: 10159 (WebCore::CSSStyleSelector::addMatchedDeclaration): 10160 (WebCore::CSSStyleSelector::addVariables): 10161 (WebCore::CSSStyleSelector::resolveVariableDependentValue): 10162 (WebCore::CSSRuleSet::addRulesFromSheet): 10163 (WebCore::CSSStyleSelector::applyDeclarations): 10164 * css/CSSStyleSelector.h: 10165 * css/CSSValue.h: 10166 (WebCore::CSSValue::isVariableDependentValue): 10167 (WebCore::CSSValue::parserValue): 10168 * css/CSSValueList.cpp: 10169 (WebCore::CSSValueList::CSSValueList): 10170 (WebCore::CSSValueList::createParserValueList): 10171 * css/CSSValueList.h: 10172 (WebCore::CSSValueList::createFromParserValueList): 10173 * css/CSSVariableDependentValue.cpp: Added. 10174 (WebCore::CSSVariableDependentValue::CSSVariableDependentValue): 10175 (WebCore::CSSVariableDependentValue::~CSSVariableDependentValue): 10176 (WebCore::CSSVariableDependentValue::cssText): 10177 * css/CSSVariableDependentValue.h: Added. 10178 (WebCore::CSSVariableDependentValue::create): 10179 (WebCore::CSSVariableDependentValue::isVariableDependentValue): 10180 (WebCore::CSSVariableDependentValue::valueList): 10181 * css/CSSVariablesDeclaration.cpp: Added. 10182 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration): 10183 (WebCore::CSSVariablesDeclaration::~CSSVariablesDeclaration): 10184 (WebCore::CSSVariablesDeclaration::getVariableValue): 10185 (WebCore::CSSVariablesDeclaration::removeVariable): 10186 (WebCore::CSSVariablesDeclaration::setVariable): 10187 (WebCore::CSSVariablesDeclaration::addParsedVariable): 10188 (WebCore::CSSVariablesDeclaration::getParsedVariable): 10189 (WebCore::CSSVariablesDeclaration::length): 10190 (WebCore::CSSVariablesDeclaration::item): 10191 (WebCore::CSSVariablesDeclaration::parentRule): 10192 (WebCore::CSSVariablesDeclaration::cssText): 10193 * css/CSSVariablesDeclaration.h: Added. 10194 (WebCore::CSSVariablesDeclaration::create): 10195 * css/CSSVariablesRule.cpp: Added. 10196 (WebCore::CSSVariablesRule::CSSVariablesRule): 10197 (WebCore::CSSVariablesRule::~CSSVariablesRule): 10198 (WebCore::CSSVariablesRule::cssText): 10199 * css/CSSVariablesRule.h: Added. 10200 (WebCore::CSSVariablesRule::media): 10201 (WebCore::CSSVariablesRule::variables): 10202 (WebCore::CSSVariablesRule::type): 10203 (WebCore::CSSVariablesRule::isVariablesRule): 10204 (WebCore::CSSVariablesRule::setDeclaration): 10205 * css/MediaQueryExp.cpp: 10206 (WebCore::MediaQueryExp::MediaQueryExp): 10207 * css/MediaQueryExp.h: 10208 * css/SVGCSSParser.cpp: 10209 (WebCore::CSSParser::parseSVGValue): 10210 (WebCore::CSSParser::parseSVGStrokeDasharray): 10211 * css/StyleBase.h: 10212 (WebCore::StyleBase::isVariablesRule): 10213 * css/tokenizer.flex: 10214 10215 2008-06-19 Julien Chaffraix <jchaffraix (a] webkit.org> 10216 10217 Reviewed by Darin. 10218 10219 Bug 19529 : Empty clients need to be refactored 10220 https://bugs.webkit.org/show_bug.cgi?id=19529 10221 10222 - SVGImageEmptyClients' refactoring in order to be able to use them for other 10223 elements. 10224 10225 - Trimmed empty spaces that were pointed out by git. 10226 10227 * WebCore.xcodeproj/project.pbxproj: 10228 * loader/EmptyClients.h: Copied from WebCore/svg/graphics/SVGImageEmptyClients.h. 10229 10230 (WebCore::EmptyChromeClient::~EmptyChromeClient): 10231 (WebCore::EmptyFrameLoaderClient::~EmptyFrameLoaderClient): 10232 (WebCore::EmptyEditorClient::~EmptyEditorClient): 10233 (WebCore::EmptyEditorClient::smartInsertDeleteEnabled): 10234 (WebCore::EmptyContextMenuClient::~EmptyContextMenuClient): 10235 (WebCore::EmptyDragClient::~EmptyDragClient): 10236 (WebCore::EmptyDragClient::createDragImageForLink): 10237 (WebCore::EmptyInspectorClient::~EmptyInspectorClient): 10238 Renamed SVGImageEmpty*Client classes to Empty*Client. 10239 10240 * svg/graphics/SVGImage.cpp: 10241 (WebCore::SVGImage::dataChanged): 10242 * svg/graphics/SVGImageEmptyClients.h: Removed. 10243 10244 2008-06-19 Dan Bernstein <mitz (a] apple.com> 10245 10246 Reviewed by Darin Adler. 10247 10248 - fix <rdar://problem/6008098> REGRESSION: Crash at FontFallbackList::fontDataAt() 10249 10250 Test: fast/css/font-face-multiple-families.html 10251 10252 Made changes to reflect the fact that the relationship between 10253 CSSFontFace and CSSSegmentedFontFace is in fact many-to-many. 10254 10255 * css/CSSFontFace.cpp: 10256 (WebCore::CSSFontFace::addedToSegmentedFontFace): Added. 10257 (WebCore::CSSFontFace::removedFromSegmentedFontFace): Added. 10258 (WebCore::CSSFontFace::fontLoaded): Changed to notify all segmented font 10259 faces that include this font face. 10260 (WebCore::CSSFontFace::getFontData): Updated to get the font selector 10261 from one of the segmented font faces. 10262 * css/CSSFontFace.h: 10263 (WebCore::CSSFontFace::CSSFontFace): 10264 * css/CSSFontSelector.cpp: 10265 (WebCore::CSSFontSelector::addFontFaceRule): Fixed the direct cause of 10266 the crash, namely releasing the font face when adding it to the first 10267 family that uses it, making it impossible to add it to the second and 10268 onwards families. 10269 * css/CSSSegmentedFontFace.cpp: 10270 (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace): Added code to 10271 call CSSFontFace::removedFromSegmentedFontFace(). 10272 (WebCore::CSSSegmentedFontFace::overlayRange): Added code to call 10273 CSSFontFace::{addedTo, removedFrom}SegmentedFontFace(). 10274 10275 2008-06-19 Alexey Proskuryakov <ap (a] webkit.org> 10276 10277 Qt build fix. 10278 10279 * bridge/qt/qt_runtime.h: Include completion.h. 10280 10281 2008-06-17 Alexey Proskuryakov <ap (a] webkit.org> 10282 10283 Reviewed by Darin. 10284 10285 Prepare JavaScript heap for being per-thread. 10286 10287 * ForwardingHeaders/kjs/JSGlobalData.h: Added. 10288 * bindings/js/GCController.cpp: 10289 (WebCore::collect): 10290 (WebCore::GCController::gcTimerFired): 10291 (WebCore::GCController::garbageCollectNow): 10292 * bindings/js/JSAudioConstructor.cpp: 10293 (WebCore::JSAudioConstructor::JSAudioConstructor): 10294 * bindings/js/JSCSSRuleCustom.cpp: 10295 (WebCore::toJS): 10296 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 10297 (WebCore::JSCSSStyleDeclaration::nameGetter): 10298 * bindings/js/JSCSSValueCustom.cpp: 10299 (WebCore::toJS): 10300 * bindings/js/JSCanvasPixelArrayCustom.cpp: 10301 (WebCore::JSCanvasPixelArray::indexGetter): 10302 (WebCore::toJS): 10303 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 10304 (WebCore::toJS): 10305 * bindings/js/JSClipboardCustom.cpp: 10306 (WebCore::JSClipboard::types): 10307 (WebCore::JSClipboard::getData): 10308 * bindings/js/JSCustomXPathNSResolver.cpp: 10309 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 10310 * bindings/js/JSDOMApplicationCacheCustom.cpp: 10311 (WebCore::JSDOMApplicationCache::addEventListener): 10312 (WebCore::JSDOMApplicationCache::removeEventListener): 10313 (WebCore::JSDOMApplicationCache::setOnchecking): 10314 (WebCore::JSDOMApplicationCache::setOnerror): 10315 (WebCore::JSDOMApplicationCache::setOnnoupdate): 10316 (WebCore::JSDOMApplicationCache::setOndownloading): 10317 (WebCore::JSDOMApplicationCache::setOnprogress): 10318 (WebCore::JSDOMApplicationCache::setOnupdateready): 10319 (WebCore::JSDOMApplicationCache::setOncached): 10320 * bindings/js/JSDOMBinding.cpp: 10321 (WebCore::jsStringOrNull): 10322 (WebCore::jsOwnedStringOrNull): 10323 (WebCore::jsStringOrUndefined): 10324 (WebCore::jsStringOrFalse): 10325 (WebCore::nonCachingStaticFunctionGetter): 10326 (WebCore::objectToStringFunctionGetter): 10327 * bindings/js/JSDOMBinding.h: 10328 (WebCore::DOMObject::DOMObject): 10329 (WebCore::cacheDOMObject): 10330 (WebCore::cacheSVGDOMObject): 10331 * bindings/js/JSDOMWindowBase.cpp: 10332 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 10333 (WebCore::JSDOMWindowBase::getValueProperty): 10334 (WebCore::JSDOMWindowBase::setListener): 10335 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): 10336 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): 10337 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): 10338 (WebCore::windowProtoFuncAToB): 10339 (WebCore::windowProtoFuncBToA): 10340 (WebCore::windowProtoFuncSetTimeout): 10341 (WebCore::windowProtoFuncSetInterval): 10342 (WebCore::windowProtoFuncAddEventListener): 10343 * bindings/js/JSDOMWindowBase.h: 10344 * bindings/js/JSDOMWindowShell.cpp: 10345 (WebCore::JSDOMWindowShell::operator new): 10346 * bindings/js/JSDOMWindowShell.h: 10347 * bindings/js/JSDocumentCustom.cpp: 10348 (WebCore::toJS): 10349 * bindings/js/JSElementCustom.cpp: 10350 (WebCore::toJSNewlyCreated): 10351 * bindings/js/JSEventCustom.cpp: 10352 (WebCore::toJS): 10353 * bindings/js/JSEventListener.cpp: 10354 (WebCore::JSLazyEventListener::eventParameterName): 10355 (WebCore::JSLazyEventListener::parseCode): 10356 * bindings/js/JSEventTargetBase.cpp: 10357 (WebCore::jsEventTargetAddEventListener): 10358 * bindings/js/JSEventTargetBase.h: 10359 (WebCore::JSEventTargetPrototype::self): 10360 * bindings/js/JSEventTargetNode.cpp: 10361 (WebCore::JSEventTargetNode::setListener): 10362 * bindings/js/JSHTMLCollectionCustom.cpp: 10363 (WebCore::getNamedItems): 10364 (WebCore::toJS): 10365 * bindings/js/JSHTMLFormElementCustom.cpp: 10366 (WebCore::JSHTMLFormElement::nameGetter): 10367 * bindings/js/JSHTMLInputElementBase.cpp: 10368 (WebCore::JSHTMLInputElementBase::getValueProperty): 10369 * bindings/js/JSHTMLOptionElementConstructor.cpp: 10370 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): 10371 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 10372 (WebCore::JSHTMLOptionsCollection::length): 10373 * bindings/js/JSInspectedObjectWrapper.cpp: 10374 (WebCore::JSInspectedObjectWrapper::wrap): 10375 * bindings/js/JSInspectorCallbackWrapper.cpp: 10376 (WebCore::JSInspectorCallbackWrapper::wrap): 10377 * bindings/js/JSLocationCustom.cpp: 10378 (WebCore::JSLocation::toString): 10379 * bindings/js/JSNamedNodesCollection.cpp: 10380 (WebCore::JSNamedNodesCollection::lengthGetter): 10381 * bindings/js/JSNavigatorCustom.cpp: 10382 (WebCore::JSNavigator::appVersion): 10383 * bindings/js/JSNodeCustom.cpp: 10384 (WebCore::createWrapper): 10385 * bindings/js/JSNodeFilterCustom.cpp: 10386 (WebCore::JSNodeFilter::acceptNode): 10387 * bindings/js/JSPluginElementFunctions.cpp: 10388 (WebCore::getRuntimeObject): 10389 * bindings/js/JSRGBColor.cpp: 10390 (WebCore::getJSRGBColor): 10391 * bindings/js/JSSQLResultSetRowListCustom.cpp: 10392 (WebCore::JSSQLResultSetRowList::item): 10393 * bindings/js/JSSVGLazyEventListener.cpp: 10394 (WebCore::JSSVGLazyEventListener::eventParameterName): 10395 * bindings/js/JSStorageCustom.cpp: 10396 (WebCore::JSStorage::nameGetter): 10397 * bindings/js/JSStyleSheetCustom.cpp: 10398 (WebCore::toJS): 10399 * bindings/js/JSTextCustom.cpp: 10400 (WebCore::toJSNewlyCreated): 10401 * bindings/js/JSXMLHttpRequestConstructor.cpp: 10402 (WebCore::JSXMLHttpRequestConstructor::construct): 10403 * bindings/js/JSXMLHttpRequestCustom.cpp: 10404 (WebCore::JSXMLHttpRequest::setOnreadystatechange): 10405 (WebCore::JSXMLHttpRequest::setOnload): 10406 (WebCore::JSXMLHttpRequest::setOnprogress): 10407 (WebCore::JSXMLHttpRequest::getResponseHeader): 10408 (WebCore::JSXMLHttpRequest::addEventListener): 10409 (WebCore::JSXMLHttpRequest::removeEventListener): 10410 * bindings/js/JSXSLTProcessorConstructor.cpp: 10411 (WebCore::JSXSLTProcessorConstructor::construct): 10412 * bindings/js/JSXSLTProcessorCustom.cpp: 10413 (WebCore::JSXSLTProcessor::getParameter): 10414 * bindings/scripts/CodeGeneratorJS.pm: 10415 * bridge/c/c_instance.cpp: 10416 (KJS::Bindings::CInstance::defaultValue): 10417 (KJS::Bindings::CInstance::stringValue): 10418 (KJS::Bindings::CInstance::numberValue): 10419 (KJS::Bindings::CInstance::valueOf): 10420 * bridge/c/c_instance.h: 10421 * bridge/c/c_utility.cpp: 10422 (KJS::Bindings::convertNPVariantToValue): 10423 * bridge/jni/jni_instance.cpp: 10424 (JavaInstance::stringValue): 10425 (JavaInstance::numberValue): 10426 (JavaInstance::invokeMethod): 10427 (JavaInstance::defaultValue): 10428 (JavaInstance::valueOf): 10429 * bridge/jni/jni_instance.h: 10430 * bridge/jni/jni_jsobject.h: 10431 * bridge/jni/jni_jsobject.mm: 10432 (JavaJSObject::call): 10433 (JavaJSObject::setMember): 10434 (JavaJSObject::setSlot): 10435 (JavaJSObject::convertJObjectToValue): 10436 (JavaJSObject::getListFromJArray): 10437 * bridge/jni/jni_objc.mm: 10438 (KJS::Bindings::dispatchJNICall): 10439 * bridge/jni/jni_runtime.cpp: 10440 (JavaArray::convertJObjectToArray): 10441 (JavaField::dispatchValueFromInstance): 10442 (JavaField::valueFromInstance): 10443 (JavaField::dispatchSetValueToInstance): 10444 (JavaArray::valueAt): 10445 * bridge/jni/jni_utility.h: 10446 * bridge/objc/objc_class.mm: 10447 (KJS::Bindings::ObjcClass::fallbackObject): 10448 * bridge/objc/objc_instance.h: 10449 * bridge/objc/objc_instance.mm: 10450 (ObjcInstance::defaultValue): 10451 (ObjcInstance::stringValue): 10452 (ObjcInstance::numberValue): 10453 (ObjcInstance::valueOf): 10454 * bridge/objc/objc_utility.h: 10455 * bridge/objc/objc_utility.mm: 10456 (KJS::Bindings::convertNSStringToString): 10457 (KJS::Bindings::convertObjcValueToValue): 10458 * bridge/runtime.cpp: 10459 (KJS::Bindings::Instance::createRuntimeObject): 10460 * bridge/runtime.h: 10461 (KJS::Bindings::Instance::valueOf): 10462 * bridge/runtime_array.cpp: 10463 (RuntimeArray::lengthGetter): 10464 * bridge/runtime_method.cpp: 10465 (RuntimeMethod::lengthGetter): 10466 * bridge/runtime_object.cpp: 10467 (RuntimeObjectImp::RuntimeObjectImp): 10468 (RuntimeObjectImp::methodGetter): 10469 (RuntimeObjectImp::defaultValue): 10470 * dom/make_names.pl: 10471 * xml/XMLHttpRequest.cpp: 10472 (WebCore::XMLHttpRequest::dropProtection): 10473 * bridge/qt/qt_class.cpp: 10474 (KJS::Bindings::QtClass::fallbackObject): 10475 * bridge/qt/qt_instance.cpp: 10476 (KJS::Bindings::QtRuntimeObjectImp::construct): 10477 (KJS::Bindings::QtInstance::getRuntimeObject): 10478 (KJS::Bindings::QtInstance::invokeDefaultMethod): 10479 (KJS::Bindings::QtInstance::defaultValue): 10480 (KJS::Bindings::QtInstance::stringValue): 10481 (KJS::Bindings::QtInstance::numberValue): 10482 (KJS::Bindings::QtInstance::valueOf): 10483 * bridge/qt/qt_instance.h: 10484 * bridge/qt/qt_runtime.cpp: 10485 (KJS::Bindings::convertValueToQVariant): 10486 (KJS::Bindings::convertQVariantToValue): 10487 (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter): 10488 (KJS::Bindings::QtRuntimeMetaMethod::connectGetter): 10489 (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter): 10490 (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter): 10491 (KJS::Bindings::QtConnectionObject::execute): 10492 Pass ExecState* where now required. 10493 10494 2008-06-19 Timothy Hatcher <timothy (a] apple.com> 10495 10496 Update the JavaScript syntax highlight colors to match Xcode. 10497 This matches the other Xcode colors we are using for HTML. 10498 10499 Reviewed by Dan Bernstein. 10500 10501 * page/inspector/SourceFrame.js: 10502 10503 2008-06-19 Keishi Hattori <casey.hattori (a] gmail.com> 10504 10505 Added JavaScript syntax highlighting to the Web Inspector. 10506 10507 https://bugs.webkit.org/show_bug.cgi?id=14360 10508 10509 Reviewed by Tim Hatcher and Adam Roben. 10510 10511 * page/inspector/ScriptView.js: Added a call to syntaxHighlightJavascript. 10512 * page/inspector/SourceFrame.js: 10513 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): Added. 10514 Modifies a line content element. 10515 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Added. 10516 Syntax highlights the entire script. 10517 * page/inspector/SourceView.js: Added a call to syntaxHighlightJavascript. 10518 10519 2008-06-19 Alex Mathews <possessedpenguinbob (a] gmail.com> 10520 10521 Reviewed by Oliver. 10522 10523 Starting to clean up the SVG Filter code. Mostly adding 'create' wrapper 10524 functions and changing raw pointer fields to RefPtrs. 10525 10526 * Configurations/WebCore.xcconfig: 10527 * WebCore.xcodeproj/project.pbxproj: 10528 * svg/SVGFEBlendElement.cpp: 10529 (WebCore::SVGFEBlendElement::~SVGFEBlendElement): 10530 (WebCore::SVGFEBlendElement::filterEffect): 10531 * svg/SVGFEBlendElement.h: 10532 * svg/SVGFEColorMatrixElement.cpp: 10533 (WebCore::SVGFEColorMatrixElement::~SVGFEColorMatrixElement): 10534 (WebCore::SVGFEColorMatrixElement::filterEffect): 10535 * svg/SVGFEColorMatrixElement.h: 10536 * svg/SVGFEComponentTransferElement.cpp: 10537 (WebCore::SVGFEComponentTransferElement::~SVGFEComponentTransferElement): 10538 (WebCore::SVGFEComponentTransferElement::filterEffect): 10539 * svg/SVGFEComponentTransferElement.h: 10540 * svg/SVGFECompositeElement.cpp: 10541 (WebCore::SVGFECompositeElement::~SVGFECompositeElement): 10542 (WebCore::SVGFECompositeElement::filterEffect): 10543 * svg/SVGFECompositeElement.h: 10544 * svg/SVGFEDiffuseLightingElement.cpp: 10545 (WebCore::SVGFEDiffuseLightingElement::~SVGFEDiffuseLightingElement): 10546 (WebCore::SVGFEDiffuseLightingElement::filterEffect): 10547 * svg/SVGFEDiffuseLightingElement.h: 10548 * svg/SVGFEDisplacementMapElement.cpp: 10549 (WebCore::SVGFEDisplacementMapElement::~SVGFEDisplacementMapElement): 10550 (WebCore::SVGFEDisplacementMapElement::filterEffect): 10551 * svg/SVGFEDisplacementMapElement.h: 10552 * svg/SVGFEFloodElement.cpp: 10553 (WebCore::SVGFEFloodElement::~SVGFEFloodElement): 10554 (WebCore::SVGFEFloodElement::filterEffect): 10555 * svg/SVGFEFloodElement.h: 10556 * svg/SVGFEGaussianBlurElement.cpp: 10557 (WebCore::SVGFEGaussianBlurElement::~SVGFEGaussianBlurElement): 10558 (WebCore::SVGFEGaussianBlurElement::filterEffect): 10559 * svg/SVGFEGaussianBlurElement.h: 10560 * svg/SVGFEImageElement.cpp: 10561 (WebCore::SVGFEImageElement::~SVGFEImageElement): 10562 (WebCore::SVGFEImageElement::filterEffect): 10563 * svg/SVGFEImageElement.h: 10564 * svg/SVGFEMergeElement.cpp: 10565 (WebCore::SVGFEMergeElement::~SVGFEMergeElement): 10566 (WebCore::SVGFEMergeElement::filterEffect): 10567 * svg/SVGFEMergeElement.h: 10568 * svg/SVGFEOffsetElement.cpp: 10569 (WebCore::SVGFEOffsetElement::~SVGFEOffsetElement): 10570 (WebCore::SVGFEOffsetElement::filterEffect): 10571 * svg/SVGFEOffsetElement.h: 10572 * svg/SVGFESpecularLightingElement.cpp: 10573 (WebCore::SVGFESpecularLightingElement::~SVGFESpecularLightingElement): 10574 (WebCore::SVGFESpecularLightingElement::filterEffect): 10575 * svg/SVGFESpecularLightingElement.h: 10576 * svg/SVGFETileElement.cpp: 10577 (WebCore::SVGFETileElement::~SVGFETileElement): 10578 (WebCore::SVGFETileElement::filterEffect): 10579 * svg/SVGFETileElement.h: 10580 * svg/SVGFETurbulenceElement.cpp: 10581 (WebCore::SVGFETurbulenceElement::~SVGFETurbulenceElement): 10582 (WebCore::SVGFETurbulenceElement::filterEffect): 10583 * svg/SVGFETurbulenceElement.h: 10584 * svg/graphics/SVGResourceFilter.cpp: 10585 (WebCore::SVGResourceFilter::addFilterEffect): 10586 * svg/graphics/SVGResourceFilter.h: 10587 * svg/graphics/filters/SVGFEBlend.cpp: 10588 (WebCore::SVGFEBlend::create): 10589 * svg/graphics/filters/SVGFEBlend.h: 10590 * svg/graphics/filters/SVGFEColorMatrix.cpp: 10591 (WebCore::SVGFEColorMatrix::create): 10592 * svg/graphics/filters/SVGFEColorMatrix.h: 10593 * svg/graphics/filters/SVGFEComponentTransfer.cpp: 10594 (WebCore::SVGFEComponentTransfer::create): 10595 * svg/graphics/filters/SVGFEComponentTransfer.h: 10596 * svg/graphics/filters/SVGFEComposite.cpp: 10597 (WebCore::SVGFEComposite::create): 10598 * svg/graphics/filters/SVGFEComposite.h: 10599 * svg/graphics/filters/SVGFEConvolveMatrix.cpp: 10600 (WebCore::SVGFEConvolveMatrix::create): 10601 * svg/graphics/filters/SVGFEConvolveMatrix.h: 10602 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: 10603 (WebCore::SVGFEDiffuseLighting::create): 10604 (WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting): 10605 (WebCore::SVGFEDiffuseLighting::lightSource): 10606 (WebCore::SVGFEDiffuseLighting::setLightSource): 10607 * svg/graphics/filters/SVGFEDiffuseLighting.h: 10608 * svg/graphics/filters/SVGFEDisplacementMap.cpp: 10609 (WebCore::SVGFEDisplacementMap::create): 10610 * svg/graphics/filters/SVGFEDisplacementMap.h: 10611 * svg/graphics/filters/SVGFEFlood.cpp: 10612 (WebCore::SVGFEFlood::create): 10613 * svg/graphics/filters/SVGFEFlood.h: 10614 * svg/graphics/filters/SVGFEGaussianBlur.cpp: 10615 (WebCore::SVGFEGaussianBlur::create): 10616 * svg/graphics/filters/SVGFEGaussianBlur.h: 10617 * svg/graphics/filters/SVGFEImage.cpp: 10618 (WebCore::SVGFEImage::create): 10619 * svg/graphics/filters/SVGFEImage.h: 10620 * svg/graphics/filters/SVGFEMerge.cpp: 10621 (WebCore::SVGFEMerge::SVGFEMerge): 10622 (WebCore::SVGFEMerge::create): 10623 * svg/graphics/filters/SVGFEMerge.h: 10624 * svg/graphics/filters/SVGFEOffset.cpp: 10625 (WebCore::SVGFEOffset::create): 10626 * svg/graphics/filters/SVGFEOffset.h: 10627 * svg/graphics/filters/SVGFESpecularLighting.cpp: 10628 (WebCore::SVGFESpecularLighting::create): 10629 (WebCore::SVGFESpecularLighting::~SVGFESpecularLighting): 10630 (WebCore::SVGFESpecularLighting::lightSource): 10631 (WebCore::SVGFESpecularLighting::setLightSource): 10632 * svg/graphics/filters/SVGFESpecularLighting.h: 10633 * svg/graphics/filters/SVGFETile.cpp: Added. 10634 (WebCore::SVGFETile::SVGFETile): 10635 (WebCore::SVGFETile::create): 10636 * svg/graphics/filters/SVGFETile.h: 10637 * svg/graphics/filters/SVGFETurbulence.cpp: 10638 (WebCore::SVGFETurbulence::create): 10639 * svg/graphics/filters/SVGFETurbulence.h: 10640 * svg/graphics/filters/SVGFilterEffect.h: 10641 * svg/graphics/filters/SVGLightSource.h: 10642 10643 2008-06-18 Adele Peterson <adele (a] apple.com> 10644 10645 Reviewed by Dan Bernstein. 10646 10647 Fix assertion in fast/dom/ImageDocument-image-deletion.html caused by new media document creation. 10648 10649 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): 10650 Create the media document after we're done processing pdfs and images. 10651 10652 192008-06-17 Dan Bernstein <mitz (a] apple.com> 10653 10654 Reviewed by Darin Adler. 10655 10656 - fix https://bugs.webkit.org/show_bug.cgi?id=19598 10657 Crash in WebCore::RenderBlock::determineStartPosition 10658 10659 Test: fast/dynamic/floating-to-positioned-2.html 10660 10661 * rendering/RenderObject.cpp: 10662 (WebCore::RenderObject::setStyle): Changed to also remove relatively 10663 positioned floats from object lists when they become positioned, because 10664 then they cease to be floating. 10665 10666 2008-06-18 Darin Adler <darin (a] apple.com> 10667 10668 Reviewed by Mark Rowe. 10669 10670 - fix storage leak 10671 10672 * css/CSSMutableStyleDeclaration.cpp: 10673 (WebCore::CSSMutableStyleDeclaration::copy): Added an adoptRef that 10674 I missed when changing these objects to start with a refcount of 1. 10675 10676 2008-06-18 Timothy Hatcher <timothy (a] apple.com> 10677 10678 Add a script build phase to remove the WebKit.qrc file from 10679 WebCore's resources. This file is used for the Qt port, but we 10680 copy the whole inspector folder for connivence and get this file. 10681 10682 Reviewed by Adam Roben. 10683 10684 * WebCore.xcodeproj/project.pbxproj: New script phase. 10685 10686 2008-06-18 Timothy Hatcher <timothy (a] apple.com> 10687 10688 Combine the Web Inspector's JavaScript resources into one large 10689 script file to speed up loading of the Inspector. This is only 10690 done for Release and Production builds. 10691 10692 Reviewed by Adam Roben. 10693 10694 * WebCore.xcodeproj/project.pbxproj: Added a Streamline Inspector Source 10695 script build phase that calls combine-javascript-resources and 10696 moves files around in the build directory. 10697 * combine-javascript-resources: Added. 10698 10699 2008-06-18 Rob Buis <buis (a] kde.org> 10700 10701 Reviewed by Darin. 10702 10703 https://bugs.webkit.org/show_bug.cgi?id=18786 10704 Once rendered, SVG text elements removed from DOM continue to be displayed 10705 10706 Repaint the text visual rect before removing it. 10707 10708 * rendering/RenderSVGInlineText.cpp: 10709 (WebCore::RenderSVGInlineText::destroy): 10710 * rendering/RenderSVGInlineText.h: 10711 10712 2008-06-18 Christian Dywan <christian (a] twotoasts.de> 10713 10714 Gtk build fix, brought up by Dirk Schulze. 10715 10716 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 10717 10718 2008-06-17 Beth Dakin <bdakin (a] apple.com> 10719 10720 Reviewed by Tim. 10721 10722 This patch removes all instances of the phrase "TextMarker" from 10723 function names in the C++ accessibility code. TextMarkers only 10724 exists in the Objective-C code. 10725 10726 * page/AccessibilityObject.cpp: 10727 (WebCore::AccessibilityObject::visiblePositionRangeForLine): 10728 (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions): 10729 (WebCore::AccessibilityObject::positionOfLeftWord): 10730 (WebCore::AccessibilityObject::positionOfRightWord): 10731 (WebCore::AccessibilityObject::leftLineVisiblePositionRange): 10732 (WebCore::AccessibilityObject::rightLineVisiblePositionRange): 10733 (WebCore::AccessibilityObject::sentenceForPosition): 10734 (WebCore::AccessibilityObject::paragraphForPosition): 10735 (WebCore::AccessibilityObject::styleRangeForPosition): 10736 (WebCore::AccessibilityObject::visiblePositionRangeForRange): 10737 (WebCore::AccessibilityObject::stringForVisiblePositionRange): 10738 (WebCore::AccessibilityObject::boundsForVisiblePositionRange): 10739 (WebCore::AccessibilityObject::lengthForVisiblePositionRange): 10740 (WebCore::AccessibilityObject::setSelectedVisiblePositionRange): 10741 (WebCore::AccessibilityObject::visiblePositionForPoint): 10742 (WebCore::AccessibilityObject::nextVisiblePosition): 10743 (WebCore::AccessibilityObject::previousVisiblePosition): 10744 (WebCore::AccessibilityObject::nextWordEnd): 10745 (WebCore::AccessibilityObject::previousWordStart): 10746 (WebCore::AccessibilityObject::nextLineEndPosition): 10747 (WebCore::AccessibilityObject::previousLineStartPosition): 10748 (WebCore::AccessibilityObject::nextSentenceEndPosition): 10749 (WebCore::AccessibilityObject::previousSentenceStartPosition): 10750 (WebCore::AccessibilityObject::nextParagraphEndPosition): 10751 (WebCore::AccessibilityObject::previousParagraphStartPosition): 10752 (WebCore::AccessibilityObject::visiblePositionForIndex): 10753 (WebCore::AccessibilityObject::accessibilityObjectForPosition): 10754 (WebCore::AccessibilityObject::lineForPosition): 10755 (WebCore::AccessibilityObject::plainTextRangeForVisiblePositionRange): 10756 (WebCore::AccessibilityObject::index): 10757 (WebCore::AccessibilityObject::doAXRangeForPosition): 10758 (WebCore::AccessibilityObject::doAXStyleRangeForIndex): 10759 (WebCore::AccessibilityObject::doAXLineForIndex): 10760 * page/AccessibilityObject.h: 10761 * page/AccessibilityRenderObject.cpp: 10762 (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): 10763 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange): 10764 (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange): 10765 (WebCore::AccessibilityRenderObject::visiblePositionForPoint): 10766 (WebCore::AccessibilityRenderObject::visiblePositionForIndex): 10767 (WebCore::AccessibilityRenderObject::index): 10768 (WebCore::AccessibilityRenderObject::doAXBoundsForRange): 10769 * page/AccessibilityRenderObject.h: 10770 * page/mac/AccessibilityObjectWrapper.mm: 10771 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 10772 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 10773 (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]): 10774 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): 10775 10776 2008-06-17 Mark Rowe <mrowe (a] apple.com> 10777 10778 Reviewed by Darin Adler. 10779 10780 <rdar://problem/5775802> WebCore should not force use of GCC 4.0. 10781 10782 * WebCore.xcodeproj/project.pbxproj: 10783 10784 2008-06-17 Darin Adler <darin (a] apple.com> 10785 10786 Reviewed by Sam. 10787 10788 - eliminate the last RefCounted client that needs the "start at 0" behavior, NodeFilter 10789 10790 - move handling of non-Attr arguments from the code generation script to the DOM 10791 itself (as with every other type of argument) 10792 10793 * bindings/js/JSNodeFilterCustom.cpp: 10794 (WebCore::toNodeFilter): Changed return type to PassRefPtr. Use create instead of new. 10795 10796 * bindings/objc/DOM.mm: 10797 (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): 10798 Use create instead of new. 10799 (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]): 10800 Ditto. 10801 10802 * bindings/scripts/CodeGeneratorJS.pm: Use PassRefPtr and RefPtr for toNodeFilter and 10803 the local variable for NodeFilter arguments. Remove the TypeCanFailConversion mechanism: 10804 It's no longer needed for Attr, was not having any effect for VoidCallback, and was 10805 returning false for all other types. 10806 10807 * dom/Element.cpp: 10808 (WebCore::Element::setAttributeNode): Added code to return TYPE_MISMATCH_ERR when 10809 the attr is 0 -- this matches what the autogenerated bindings did before. 10810 (WebCore::Element::setAttributeNodeNS): Ditto. 10811 (WebCore::Element::removeAttributeNode): Ditto. 10812 10813 * dom/NodeFilter.h: Added create, made constructor private, and got rid of code to 10814 initialize the refcount to 0. 10815 10816 * html/CanvasPattern.h: Made CachedResourceClient base class private in a 10817 more-explicit way. 10818 10819 2008-06-17 Adam Roben <aroben (a] apple.com> 10820 10821 Fix <rdar://6016755> Assertion failure when WebView is child of 10822 message-only window 10823 10824 Reviewed by Ada Chan. 10825 10826 No test possible. 10827 10828 * platform/win/WindowMessageBroadcaster.cpp: 10829 (WebCore::WindowMessageBroadcaster::addListener): Only subclass the 10830 window when we're adding our first listener. Removed an assertion that 10831 an old WNDPROC was returned -- this will be 0 in the case of a 10832 message-only window. Added an assertion to help catch cases where we 10833 try to subclass the window twice. 10834 (WebCore::WindowMessageBroadcaster::unsubclassWindow): Removed an 10835 assertion that is not correct in the message-only window case. 10836 10837 2008-06-17 Adele Peterson <adele (a] apple.com> 10838 10839 Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO) 10840 10841 * loader/MediaDocument.cpp: 10842 * loader/MediaDocument.h: 10843 10844 2008-06-17 Adele Peterson <adele (a] apple.com> 10845 10846 Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO) 10847 10848 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): 10849 10850 2008-06-17 Adele Peterson <adele (a] apple.com> 10851 10852 Reviewed by Brady. 10853 10854 Fix for <rdar://problem/5605768> Render full-page video/audio with <video>/<audio> instead of QuickTime plug-in 10855 10856 * WebCore.xcodeproj/project.pbxproj: Added MediaDocument class. 10857 * GNUmakefile.am: ditto. 10858 * WebCore.pro: ditto. 10859 * WebCore.vcproj/WebCore.vcproj: ditto. 10860 * WebCoreSources.bkl: ditto. 10861 10862 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): 10863 Check to see if the type can be played by our MediaPlayer, if so create a MediaDocument 10864 * dom/Document.h: (WebCore::Document::isMediaDocument): Added. 10865 10866 * loader/MediaDocument.cpp: Added. 10867 (WebCore::MediaTokenizer::MediaTokenizer): 10868 (WebCore::MediaTokenizer::wantsRawData): 10869 (WebCore::MediaTokenizer::write): 10870 (WebCore::MediaTokenizer::createDocumentStructure): 10871 (WebCore::MediaTokenizer::writeRawData): 10872 (WebCore::MediaTokenizer::stopParsing): 10873 (WebCore::MediaTokenizer::finish): 10874 (WebCore::MediaTokenizer::isWaitingForScripts): 10875 (WebCore::MediaDocument::MediaDocument): 10876 (WebCore::MediaDocument::createTokenizer): 10877 * loader/MediaDocument.h: Added. 10878 (WebCore::MediaDocument::create): 10879 (WebCore::MediaDocument::isMediaDocument): 10880 10881 * page/InspectorController.cpp: (WebCore::getResourceDocumentNode): 10882 Added MediaDocument case so it is handled the same as a PluginDocument or ImageDocument. 10883 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::supportsType): Added. 10884 * platform/graphics/MediaPlayer.h: 10885 * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility): 10886 Instead of checking the html element to decide if the media is audio, check the player. 10887 This means that if a video element actually only contains audio, then we will still avoid fading the controls in and out. 10888 10889 2008-06-17 Timothy Hatcher <timothy (a] apple.com> 10890 10891 Adds the file name and line number for call frames next to 10892 the function name in the Call Stack pane. 10893 10894 https://bugs.webkit.org/show_bug.cgi?id=19586 10895 10896 Reviewed by Adam Roben. 10897 10898 * English.lproj/localizedStrings.js: Updated strings. 10899 * page/inspector/CallStackSidebarPane.js: 10900 (WebInspector.CallStackSidebarPane.prototype.update): Create a subtitle 10901 based on the URL and line number. 10902 10903 2008-06-17 Timothy Hatcher <timothy (a] apple.com> 10904 10905 Use accurate call frame title's based on the call frame type. 10906 10907 https://bugs.webkit.org/show_bug.cgi?id=19585 10908 10909 Reviewed by Geoff Garen. 10910 10911 * English.lproj/localizedStrings.js: Updated strings. 10912 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 10913 (WebCore::JSJavaScriptCallFrame::evaluate): Removed the isValid() 10914 check since the evaluate() functiondoes the check already. 10915 (WebCore::JSJavaScriptCallFrame::thisObject): Removed the isValid() 10916 check, since thisObject() does the check and returns null if invalid. 10917 (WebCore::JSJavaScriptCallFrame::type): Return a string 10918 based on the enum value of the type. 10919 (WebCore::JSJavaScriptCallFrame::scopeChain): Removed the isValid() 10920 check, since scopeChain() does the check and returns null if invalid. 10921 So just null check scopeChain(). 10922 * page/JavaScriptCallFrame.cpp: 10923 (WebCore::JavaScriptCallFrame::type): Return the DebuggerCallFrame::Type. 10924 Return DebuggerCallFrame::UnknownType if the call frame is invalid. 10925 * page/JavaScriptCallFrame.h: 10926 * page/JavaScriptCallFrame.idl: Add the type property. 10927 * page/inspector/CallStackSidebarPane.js: 10928 (WebInspector.CallStackSidebarPane.prototype.update): Check the type 10929 of the call frame to create the correct title. 10930 * page/inspector/ScriptsPanel.js: 10931 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use the 10932 "(program)" title for the file menu to match the call frames. 10933 10934 2008-06-17 Timothy Hatcher <timothy (a] apple.com> 10935 10936 Remember the expanded state of objects in the Scope Variables pane when stepping. 10937 https://bugs.webkit.org/show_bug.cgi?id=19584 10938 10939 Reviewed by Adam Roben. 10940 10941 * page/inspector/ObjectPropertiesSection.js: 10942 (WebInspector.ObjectPropertiesSection): Add an optional argument 10943 that is the treeElementConstructor to use when making TreeElements. 10944 (WebInspector.ObjectPropertiesSection.prototype.onpopulate): Use 10945 the treeElementConstructor to create TreeElements. 10946 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Use 10947 the treeElementConstructor to create TreeElements. 10948 * page/inspector/ScopeChainSidebarPane.js: 10949 (WebInspector.ScopeChainSidebarPane.prototype.update): Create an 10950 _expandedProperties object on the callframe if one doesn't exist yet. 10951 Pass WebInspector.ScopeVariableTreeElement to the ObjectPropertiesSection 10952 as the TreeElement constructor we want to use. 10953 (WebInspector.ScopeVariableTreeElement): Added. 10954 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Expand if the 10955 propertyIdentifier is in the pane's _expandedProperties. 10956 (WebInspector.ScopeVariableTreeElement.prototype.onexpand): Add the 10957 propertyIdentifier to the pane's _expandedProperties. 10958 (WebInspector.ScopeVariableTreeElement.prototype.oncollapse): Remove the 10959 propertyIdentifier from the pane's _expandedProperties. 10960 (WebInspector.ScopeVariableTreeElement.prototype.get propertyIdentifier): 10961 Return an identifier that has the section title, subtile and propertyPath concatenated. 10962 (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath): Return a string 10963 that has the propertyNames up to the root ancestor concatenated with a period. 10964 10965 2008-06-17 Timothy Hatcher <timothy (a] apple.com> 10966 10967 Focus the mainPanelsElement in a timeout so it happens after the 10968 initial focus, so it doesn't get reset to the first toolbar button. 10969 This initial focus happens on Mac when the window is made key and 10970 the WebHTMLView becomes the first responder. 10971 10972 https://bugs.webkit.org/show_bug.cgi?id=19587 10973 10974 Reviewed by Adele Peterson. 10975 10976 * page/inspector/inspector.js: 10977 (WebInspector.loaded): Focus the mainPanelsElement in a timeout. 10978 10979 2008-06-17 Timothy Hatcher <timothy (a] apple.com> 10980 10981 Use tabIndex in the Web Inspector for focusable areas. 10982 https://bugs.webkit.org/show_bug.cgi?id=19583 10983 10984 Reviewed by Adam Roben. 10985 10986 * page/inspector/Console.js: 10987 (WebInspector.Console): No longer make the messagesElement 10988 focusable since the engine handles the case for us. The promptElement 10989 now handles the key events. 10990 (WebInspector.Console.prototype.show): Set the current focus element 10991 to the prompt element. 10992 (WebInspector.Console.prototype.hide): Set the current focus element 10993 to WebInspector.previousFocusElement. 10994 (WebInspector.Console.prototype._messagesFocused): Removed. 10995 * page/inspector/DataGrid.js: 10996 (WebInspector.DataGrid): Remove the focusable class. 10997 * page/inspector/DatabaseQueryView.js: 10998 (WebInspector.DatabaseQueryView): Remove the focusable class. Set 10999 tabIndex to 0. The promptElement now handles the key events. 11000 (WebInspector.DatabaseQueryView.prototype._focused): Removed. 11001 * page/inspector/inspector.css: Updated selectors to use :focus 11002 instead of .focused and .blurred. 11003 * page/inspector/inspector.html: Removed focusable, focused and blurred 11004 classes and added tabindex attributes. 11005 * page/inspector/inspector.js: 11006 (WebInspector.get previousFocusElement): Added. Returns _previousFocusElement. 11007 (WebInspector.set currentFocusElement): Simplified. Stores the previous element 11008 in _previousFocusElement for clients that need it. Calls focus on the passed 11009 in element or blur on the previous element. 11010 (WebInspector.loaded): Removed the event listener for mousedown. Renamed 11011 changeFocus to focusChanged. 11012 (WebInspector.focusChanged): Renamed from changeFocus. Just sets the 11013 currentFocusElement to the event target. 11014 (WebInspector.startEditing): Changed to use tabIndex and blur events. 11015 Add a more robust check for restoring focus to the previous element 11016 when editing finishes that catches focused descendants. 11017 11018 2008-06-17 Timothy Hatcher <timothy (a] apple.com> 11019 11020 Removed redundant if statements and early returns from 11021 AccessibilityRenderObject::ariaRoleAttribute. 11022 11023 Reviewed by Sam Wenig. 11024 11025 * page/AccessibilityRenderObject.cpp: 11026 (AccessibilityRenderObject::ariaRoleAttribute): Removed redundant if 11027 statements and early returns. 11028 11029 2008-06-17 Timothy Hatcher <timothy (a] apple.com> 11030 11031 Removed duplicate implementations of setTabIndex. They all matched 11032 the HTMLElement::setTabIndex implementation. 11033 11034 Reviewed by Sam Wenig. 11035 11036 * html/HTMLAnchorElement.cpp: Removed setTabIndex. 11037 * html/HTMLAreaElement.cpp: Ditto. 11038 * html/HTMLFormControlElement.cpp: Ditto. 11039 * html/HTMLFormControlElement.h: Ditto. 11040 * html/HTMLObjectElement.cpp: Ditto. 11041 * html/HTMLObjectElement.h: Ditto. 11042 11043 2008-06-17 Darin Adler <darin (a] apple.com> 11044 11045 Reviewed by Sam. 11046 11047 - more of https://bugs.webkit.org/show_bug.cgi?id=17257 11048 start ref counts at 1 instead of 0 for speed 11049 11050 Change StyleBase and all classes derived from it. 11051 11052 * bindings/js/JSRGBColor.cpp: 11053 (WebCore::JSRGBColor::getValueProperty): 11054 * bindings/objc/DOMRGBColor.mm: 11055 (-[DOMRGBColor red]): 11056 (-[DOMRGBColor green]): 11057 (-[DOMRGBColor blue]): 11058 (-[DOMRGBColor alpha]): 11059 * css/CSSBorderImageValue.cpp: 11060 (WebCore::CSSBorderImageValue::cssText): 11061 * css/CSSBorderImageValue.h: 11062 (WebCore::CSSBorderImageValue::create): 11063 * css/CSSCanvasValue.h: 11064 (WebCore::CSSCanvasValue::create): 11065 (WebCore::CSSCanvasValue::setName): 11066 (WebCore::CSSCanvasValue::CSSCanvasValue): 11067 * css/CSSCharsetRule.cpp: 11068 (WebCore::CSSCharsetRule::CSSCharsetRule): 11069 * css/CSSCharsetRule.h: 11070 (WebCore::CSSCharsetRule::create): 11071 (WebCore::CSSCharsetRule::encoding): 11072 (WebCore::CSSCharsetRule::isCharsetRule): 11073 (WebCore::CSSCharsetRule::type): 11074 * css/CSSComputedStyleDeclaration.cpp: 11075 (WebCore::valueForShadow): 11076 (WebCore::valueForNinePieceImage): 11077 (WebCore::valueForReflection): 11078 (WebCore::getPositionOffsetValue): 11079 (WebCore::currentColorOrValidColor): 11080 (WebCore::getBorderRadiusCornerValue): 11081 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 11082 * css/CSSComputedStyleDeclaration.h: 11083 (WebCore::computedStyle): 11084 * css/CSSCursorImageValue.h: 11085 (WebCore::CSSCursorImageValue::create): 11086 * css/CSSFontFaceRule.cpp: 11087 (WebCore::CSSFontFaceRule::CSSFontFaceRule): 11088 * css/CSSFontFaceRule.h: 11089 (WebCore::CSSFontFaceRule::create): 11090 (WebCore::CSSFontFaceRule::isFontFaceRule): 11091 (WebCore::CSSFontFaceRule::type): 11092 * css/CSSFontFaceSrcValue.h: 11093 (WebCore::CSSFontFaceSrcValue::create): 11094 (WebCore::CSSFontFaceSrcValue::createLocal): 11095 (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue): 11096 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue): 11097 * css/CSSGradientValue.h: 11098 (WebCore::CSSGradientColorStop::CSSGradientColorStop): 11099 (WebCore::CSSGradientValue::create): 11100 (WebCore::CSSGradientValue::CSSGradientValue): 11101 * css/CSSImageGeneratorValue.h: 11102 (WebCore::CSSImageGeneratorValue::isImageGeneratorValue): 11103 * css/CSSImageValue.h: 11104 (WebCore::CSSImageValue::create): 11105 * css/CSSImportRule.cpp: 11106 (WebCore::CSSImportRule::CSSImportRule): 11107 (WebCore::CSSImportRule::setCSSStyleSheet): 11108 * css/CSSImportRule.h: 11109 (WebCore::CSSImportRule::create): 11110 (WebCore::CSSImportRule::isImportRule): 11111 (WebCore::CSSImportRule::type): 11112 * css/CSSInheritedValue.h: 11113 (WebCore::CSSInheritedValue::create): 11114 (WebCore::CSSInheritedValue::CSSInheritedValue): 11115 * css/CSSInitialValue.h: 11116 (WebCore::CSSInitialValue::createExplicit): 11117 (WebCore::CSSInitialValue::createImplicit): 11118 (WebCore::CSSInitialValue::CSSInitialValue): 11119 * css/CSSMediaRule.cpp: 11120 (WebCore::CSSMediaRule::CSSMediaRule): 11121 * css/CSSMediaRule.h: 11122 (WebCore::CSSMediaRule::create): 11123 (WebCore::CSSMediaRule::isMediaRule): 11124 (WebCore::CSSMediaRule::type): 11125 * css/CSSMutableStyleDeclaration.cpp: 11126 (WebCore::CSSMutableStyleDeclaration::setProperty): 11127 (WebCore::CSSMutableStyleDeclaration::setStringProperty): 11128 * css/CSSMutableStyleDeclaration.h: 11129 (WebCore::CSSMutableStyleDeclaration::create): 11130 * css/CSSPageRule.cpp: 11131 (WebCore::CSSPageRule::CSSPageRule): 11132 * css/CSSPageRule.h: 11133 (WebCore::CSSPageRule::create): 11134 * css/CSSParser.cpp: 11135 (WebCore::CSSParser::parseColor): 11136 (WebCore::CSSParser::parseValue): 11137 (WebCore::CSSParser::addFillValue): 11138 (WebCore::CSSParser::parseFillShorthand): 11139 (WebCore::CSSParser::addTransitionValue): 11140 (WebCore::CSSParser::parseTransitionShorthand): 11141 (WebCore::CSSParser::parseShorthand): 11142 (WebCore::CSSParser::parseContent): 11143 (WebCore::CSSParser::parseBackgroundColor): 11144 (WebCore::CSSParser::parseFillPositionXY): 11145 (WebCore::CSSParser::parseFillPosition): 11146 (WebCore::CSSParser::parseFillSize): 11147 (WebCore::CSSParser::parseFillProperty): 11148 (WebCore::CSSParser::parseTransitionDuration): 11149 (WebCore::CSSParser::parseTransitionRepeatCount): 11150 (WebCore::CSSParser::parseTransitionTimingFunction): 11151 (WebCore::CSSParser::parseTransitionProperty): 11152 (WebCore::CSSParser::parseDashboardRegions): 11153 (WebCore::CSSParser::parseCounterContent): 11154 (WebCore::CSSParser::parseShape): 11155 (WebCore::CSSParser::parseFont): 11156 (WebCore::CSSParser::parseFontFamily): 11157 (WebCore::CSSParser::parseFontFaceSrc): 11158 (WebCore::CSSParser::parseFontFaceUnicodeRange): 11159 (WebCore::ShadowParseContext::commitValue): 11160 (WebCore::ShadowParseContext::commitLength): 11161 (WebCore::CSSParser::parseShadow): 11162 (WebCore::CSSParser::parseReflect): 11163 (WebCore::BorderImageParseContext::commitNumber): 11164 (WebCore::BorderImageParseContext::commitBorderImage): 11165 (WebCore::CSSParser::parseBorderImage): 11166 (WebCore::CSSParser::parseCounter): 11167 (WebCore::parseGradientPoint): 11168 (WebCore::parseGradientColorStop): 11169 (WebCore::CSSParser::parseGradient): 11170 (WebCore::CSSParser::parseCanvas): 11171 (WebCore::CSSParser::parseTransform): 11172 (WebCore::CSSParser::createMediaList): 11173 (WebCore::CSSParser::createCharsetRule): 11174 (WebCore::CSSParser::createImportRule): 11175 (WebCore::CSSParser::createMediaRule): 11176 (WebCore::CSSParser::createStyleRule): 11177 (WebCore::CSSParser::createFontFaceRule): 11178 * css/CSSPrimitiveValue.h: 11179 (WebCore::CSSPrimitiveValue::): 11180 (WebCore::CSSPrimitiveValue::createIdentifier): 11181 (WebCore::CSSPrimitiveValue::createColor): 11182 (WebCore::CSSPrimitiveValue::create): 11183 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 11184 (WebCore::CSSPrimitiveValue::isPrimitiveValue): 11185 * css/CSSQuirkPrimitiveValue.h: 11186 (WebCore::CSSQuirkPrimitiveValue::create): 11187 * css/CSSReflectValue.h: 11188 (WebCore::CSSReflectValue::create): 11189 * css/CSSRule.cpp: 11190 (WebCore::CSSRule::parentRule): 11191 (WebCore::CSSRule::setCssText): 11192 * css/CSSRule.h: 11193 (WebCore::CSSRule::CSSRule): 11194 (WebCore::CSSRule::isRule): 11195 * css/CSSStyleDeclaration.cpp: 11196 (WebCore::CSSStyleDeclaration::copyPropertiesInSet): 11197 * css/CSSStyleDeclaration.h: 11198 * css/CSSStyleRule.cpp: 11199 (WebCore::CSSStyleRule::CSSStyleRule): 11200 * css/CSSStyleRule.h: 11201 (WebCore::CSSStyleRule::create): 11202 (WebCore::CSSStyleRule::isStyleRule): 11203 (WebCore::CSSStyleRule::type): 11204 * css/CSSStyleSelector.cpp: 11205 (WebCore::CSSStyleSelector::CSSStyleSelector): 11206 (WebCore::parseUASheet): 11207 (WebCore::CSSRuleSet::addRulesFromSheet): 11208 (WebCore::CSSStyleSelector::applyProperty): 11209 * css/CSSStyleSheet.cpp: 11210 (WebCore::CSSStyleSheet::checkLoaded): 11211 * css/CSSStyleSheet.h: 11212 (WebCore::CSSStyleSheet::create): 11213 (WebCore::CSSStyleSheet::isCSSStyleSheet): 11214 (WebCore::CSSStyleSheet::type): 11215 * css/CSSTimingFunctionValue.h: 11216 (WebCore::CSSTimingFunctionValue::create): 11217 (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue): 11218 (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue): 11219 * css/CSSTransformValue.cpp: 11220 (WebCore::CSSTransformValue::CSSTransformValue): 11221 (WebCore::CSSTransformValue::~CSSTransformValue): 11222 (WebCore::CSSTransformValue::addValue): 11223 (WebCore::CSSTransformValue::cssText): 11224 * css/CSSTransformValue.h: 11225 (WebCore::CSSTransformValue::create): 11226 * css/CSSUnicodeRangeValue.h: 11227 (WebCore::CSSUnicodeRangeValue::create): 11228 (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue): 11229 * css/CSSUnknownRule.h: 11230 * css/CSSValue.h: 11231 (WebCore::CSSValue::isImageGeneratorValue): 11232 (WebCore::CSSValue::isImageValue): 11233 (WebCore::CSSValue::isPrimitiveValue): 11234 (WebCore::CSSValue::isValueList): 11235 (WebCore::CSSValue::isSVGColor): 11236 (WebCore::CSSValue::isSVGPaint): 11237 (WebCore::CSSValue::CSSValue): 11238 * css/CSSValueList.h: 11239 (WebCore::CSSValueList::createCommaSeparated): 11240 (WebCore::CSSValueList::createSpaceSeparated): 11241 (WebCore::CSSValueList::isValueList): 11242 * css/FontFamilyValue.h: 11243 (WebCore::FontFamilyValue::create): 11244 * css/FontValue.h: 11245 (WebCore::FontValue::create): 11246 (WebCore::FontValue::FontValue): 11247 (WebCore::FontValue::isFontValue): 11248 * css/MediaList.cpp: 11249 (WebCore::MediaList::MediaList): 11250 (WebCore::MediaList::deleteMedium): 11251 (WebCore::MediaList::setMediaText): 11252 * css/MediaList.h: 11253 (WebCore::MediaList::create): 11254 (WebCore::MediaList::createAllowingDescriptionSyntax): 11255 (WebCore::MediaList::length): 11256 (WebCore::MediaList::mediaQueries): 11257 * css/MediaQueryEvaluator.cpp: 11258 (WebCore::MediaQueryEvaluator::eval): 11259 * css/MediaQueryExp.cpp: 11260 (WebCore::MediaQueryExp::MediaQueryExp): 11261 * css/SVGCSSComputedStyleDeclaration.cpp: 11262 (WebCore::glyphOrientationToCSSPrimitiveValue): 11263 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): 11264 * css/SVGCSSParser.cpp: 11265 (WebCore::CSSParser::parseSVGValue): 11266 (WebCore::CSSParser::parseSVGStrokeDasharray): 11267 (WebCore::CSSParser::parseSVGPaint): 11268 (WebCore::CSSParser::parseSVGColor): 11269 * css/ShadowValue.h: 11270 (WebCore::ShadowValue::create): 11271 * css/StyleBase.h: 11272 (WebCore::StyleBase::isCSSStyleSheet): 11273 (WebCore::StyleBase::isFontFaceRule): 11274 (WebCore::StyleBase::isRule): 11275 (WebCore::StyleBase::isStyleRule): 11276 (WebCore::StyleBase::isStyleSheet): 11277 (WebCore::StyleBase::isXSLStyleSheet): 11278 (WebCore::StyleBase::StyleBase): 11279 * css/StyleList.cpp: 11280 * css/StyleList.h: 11281 (WebCore::StyleList::StyleList): 11282 * css/StyleSheet.h: 11283 (WebCore::StyleSheet::styleSheetChanged): 11284 (WebCore::StyleSheet::isStyleSheet): 11285 * dom/CSSMappedAttributeDeclaration.h: 11286 (WebCore::CSSMappedAttributeDeclaration::create): 11287 (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration): 11288 * dom/DOMImplementation.cpp: 11289 (WebCore::DOMImplementation::createCSSStyleSheet): 11290 * dom/Document.cpp: 11291 (WebCore::Document::createCSSStyleDeclaration): 11292 (WebCore::Document::setCSSStyleSheet): 11293 (WebCore::Document::elementSheet): 11294 (WebCore::Document::mappedElementSheet): 11295 (WebCore::Document::recalcStyleSelector): 11296 * dom/Node.cpp: 11297 (WebCore::Node::querySelector): 11298 (WebCore::Node::querySelectorAll): 11299 * dom/Position.cpp: 11300 (WebCore::Position::computedStyle): 11301 * dom/ProcessingInstruction.cpp: 11302 (WebCore::ProcessingInstruction::checkStyleSheet): 11303 (WebCore::ProcessingInstruction::setCSSStyleSheet): 11304 (WebCore::ProcessingInstruction::setXSLStyleSheet): 11305 * dom/ProcessingInstruction.h: 11306 * dom/StyleElement.cpp: 11307 (WebCore::StyleElement::createSheet): 11308 * dom/StyledElement.cpp: 11309 (WebCore::StyledElement::createInlineStyleDecl): 11310 (WebCore::StyledElement::createMappedDecl): 11311 * editing/ApplyStyleCommand.cpp: 11312 (WebCore::ApplyStyleCommand::ApplyStyleCommand): 11313 (WebCore::hasTextDecorationProperty): 11314 (WebCore::ApplyStyleCommand::extractAndNegateTextDecorationStyle): 11315 * editing/CompositeEditCommand.cpp: 11316 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): 11317 * editing/DeleteSelectionCommand.cpp: 11318 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): 11319 * editing/Editor.cpp: 11320 (WebCore::Editor::selectionHasStyle): 11321 (WebCore::Editor::setBaseWritingDirection): 11322 * editing/EditorCommand.cpp: 11323 (WebCore::executeApplyStyle): 11324 (WebCore::executeToggleStyle): 11325 (WebCore::executeApplyParagraphStyle): 11326 (WebCore::stateStyle): 11327 * editing/InsertParagraphSeparatorCommand.cpp: 11328 (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): 11329 * editing/RemoveFormatCommand.cpp: 11330 (WebCore::RemoveFormatCommand::doApply): 11331 * editing/ReplaceSelectionCommand.cpp: 11332 (WebCore::ReplacementFragment::insertFragmentForTestRendering): 11333 * editing/markup.cpp: 11334 (WebCore::styleFromMatchedRulesForElement): 11335 (WebCore::appendStartMarkup): 11336 * html/HTMLBodyElement.cpp: 11337 (WebCore::HTMLBodyElement::createLinkDecl): 11338 * html/HTMLLinkElement.cpp: 11339 (WebCore::HTMLLinkElement::process): 11340 (WebCore::HTMLLinkElement::setCSSStyleSheet): 11341 * html/HTMLMediaElement.cpp: 11342 (WebCore::HTMLMediaElement::pickMedia): 11343 * html/HTMLTableElement.cpp: 11344 (WebCore::HTMLTableElement::additionalAttributeStyleDecls): 11345 (WebCore::HTMLTableElement::addSharedCellBordersDecl): 11346 (WebCore::HTMLTableElement::addSharedCellPaddingDecl): 11347 (WebCore::HTMLTableElement::addSharedGroupDecls): 11348 * page/DOMWindow.cpp: 11349 (WebCore::DOMWindow::getComputedStyle): 11350 * page/Frame.cpp: 11351 (WebCore::Frame::computeAndSetTypingStyle): 11352 (WebCore::Frame::selectionComputedStyle): 11353 * page/Frame.h: 11354 * rendering/style/RenderStyle.cpp: 11355 (WebCore::StyleCachedImage::cssValue): 11356 * rendering/style/RenderStyle.h: 11357 * svg/SVGColor.h: 11358 (WebCore::SVGColor::create): 11359 (WebCore::SVGColor::isSVGColor): 11360 * svg/SVGFontFaceElement.cpp: 11361 (WebCore::SVGFontFaceElement::SVGFontFaceElement): 11362 (WebCore::SVGFontFaceElement::rebuildFontFace): 11363 * svg/SVGFontFaceNameElement.cpp: 11364 (WebCore::SVGFontFaceNameElement::srcValue): 11365 * svg/SVGFontFaceSrcElement.cpp: 11366 (WebCore::SVGFontFaceSrcElement::srcValue): 11367 * svg/SVGFontFaceUriElement.cpp: 11368 (WebCore::SVGFontFaceUriElement::srcValue): 11369 * svg/SVGPaint.cpp: 11370 (WebCore::SVGPaint::SVGPaint): 11371 * svg/SVGPaint.h: 11372 (WebCore::SVGPaint::create): 11373 (WebCore::SVGPaint::isSVGPaint): 11374 * svg/animation/SMILTimeContainer.cpp: 11375 (WebCore::SMILTimeContainer::baseValueFor): 11376 * xml/XSLImportRule.cpp: 11377 (WebCore::XSLImportRule::XSLImportRule): 11378 (WebCore::XSLImportRule::setXSLStyleSheet): 11379 * xml/XSLImportRule.h: 11380 (WebCore::XSLImportRule::create): 11381 (WebCore::XSLImportRule::href): 11382 (WebCore::XSLImportRule::isImportRule): 11383 * xml/XSLStyleSheet.cpp: 11384 (WebCore::XSLStyleSheet::checkLoaded): 11385 (WebCore::XSLStyleSheet::loadChildSheet): 11386 * xml/XSLStyleSheet.h: 11387 (WebCore::XSLStyleSheet::create): 11388 (WebCore::XSLStyleSheet::createEmbedded): 11389 * xml/XSLTProcessor.cpp: 11390 (WebCore::xsltStylesheetPointer): 11391 11392 2008-06-17 Michelangelo De Simone <m.des (a] mac.com> 11393 11394 Reviewed by Adele. 11395 11396 Fix for https://bugs.webkit.org/show_bug.cgi?id=18887 11397 Added support for autofocus controls. 11398 11399 When authors specify the "autofocus" attribute on form controls these 11400 acquire focus automatically as the document is rendered. 11401 11402 Tests: fast/forms/autofocus-attribute.html 11403 fast/forms/autofocus-opera-001.html 11404 fast/forms/autofocus-opera-002.html 11405 fast/forms/autofocus-opera-003.html 11406 fast/forms/autofocus-opera-004.html 11407 fast/forms/autofocus-opera-005.html 11408 fast/forms/autofocus-opera-006.html 11409 fast/forms/autofocus-opera-007.html 11410 fast/forms/autofocus-opera-008.html 11411 11412 * dom/Document.cpp: (WebCore::Document::Document): Initialize the flag to ignore autofocus. 11413 * dom/Document.h: 11414 * html/HTMLAttributeNames.in: 11415 * html/HTMLButtonElement.idl: 11416 * html/HTMLFormControlElement.cpp: 11417 (WebCore::HTMLFormControlElement::attach): Sets focus onto the appropriate "autofocus" control 11418 (WebCore::HTMLFormControlElement::autofocus): Autofocus attribute getter 11419 (WebCore::HTMLFormControlElement::setAutofocus): Autofocus attribute setter 11420 * html/HTMLFormControlElement.h: 11421 * html/HTMLInputElement.idl: 11422 * html/HTMLSelectElement.idl: 11423 * html/HTMLTextAreaElement.idl: 11424 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setUserEdited): 11425 Sets the "ignore autofocus" flag on document if the user edited the control. 11426 * rendering/RenderTextControl.h: 11427 11428 2008-06-17 Alp Toker <alp (a] nuanti.com> 11429 11430 Reviewed by Dave Hyatt and Mark Rowe. 11431 11432 https://bugs.webkit.org/show_bug.cgi?id=19190 11433 [CAIRO] Canvas rendered as black 11434 11435 Make sure the frame alpha transparency flag is set to true unless 11436 we're certain the image data is solid and can be blitted, since the 11437 Cairo backend implements a fast-path for blittable BitmapImages. 11438 11439 Thanks to Dirk Schulze for helping to track down this problem. 11440 11441 * platform/graphics/BitmapImage.cpp: 11442 (WebCore::BitmapImage::frameHasAlphaAtIndex): 11443 * platform/graphics/cairo/ImageCairo.cpp: 11444 (WebCore::BitmapImage::BitmapImage): 11445 * platform/graphics/cg/ImageCG.cpp: 11446 (WebCore::BitmapImage::BitmapImage): 11447 11448 2008-06-17 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 11449 11450 Reviewed by Simon. 11451 11452 Fix the Qt port by adding ExecState when necessary. 11453 11454 * bridge/qt/qt_instance.cpp: 11455 (KJS::Bindings::QtInstance::getPropertyNames): 11456 (KJS::Bindings::QtInstance::invokeDefaultMethod): 11457 * bridge/qt/qt_runtime.cpp: 11458 (KJS::Bindings::convertValueToQVariant): 11459 (KJS::Bindings::convertQVariantToValue): 11460 (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction): 11461 (KJS::Bindings::QtConnectionObject::execute): 11462 11463 2008-06-17 David Hyatt <hyatt (a] apple.com> 11464 11465 Fix for slow performance on CSS selector tests at: 11466 11467 http://jpsykes.com/153/more-css-performance-testing-pt-2 11468 11469 Fix <style> element processing so that we don't reparse the entire stylesheet as chunks come in from 11470 the network (since this is O(n^2)). Wait for the parser to deliver all of the data before we 11471 process the sheet for the first time. 11472 11473 Reviewed by olliej 11474 11475 * html/HTMLStyleElement.cpp: 11476 (WebCore::HTMLStyleElement::finishParsingChildren): 11477 (WebCore::HTMLStyleElement::childrenChanged): 11478 11479 2008-06-16 Dan Bernstein <mitz (a] apple.com> 11480 11481 Reviewed by Justin Garcia. 11482 11483 - fix <rdar://problem/5973313> REGRESSION (r32508): Down arrow doesn't change caret with non-user entered newlines in textareas 11484 11485 Test: editing/selection/after-line-break.html 11486 11487 * dom/Position.cpp: 11488 (WebCore::Position::getInlineBoxAndOffset): Changed to not include the 11489 position after a line break in its line box, because that position is 11490 actually on the next line. 11491 11492 2008-06-16 Alexey Proskuryakov <ap (a] webkit.org> 11493 11494 Reviewed by Geoff Garen. 11495 11496 Make Identifier construction use an explicitly passed IdentifierTable. 11497 11498 * platform/text/AtomicString.cpp: 11499 * platform/text/AtomicString.h: 11500 * platform/text/PlatformString.h: 11501 * platform/text/String.cpp: 11502 Removed "operator KJS::Identifier". 11503 11504 * bindings/js/JSCustomSQLStatementCallback.cpp: 11505 (WebCore::JSCustomSQLStatementCallback::handleEvent): 11506 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 11507 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 11508 * bindings/js/JSCustomSQLTransactionCallback.cpp: 11509 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 11510 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 11511 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 11512 * bindings/js/JSCustomVoidCallback.cpp: 11513 (WebCore::JSCustomVoidCallback::handleEvent): 11514 * bindings/js/JSCustomXPathNSResolver.cpp: 11515 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 11516 * bindings/js/JSDOMWindowBase.cpp: 11517 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 11518 (WebCore::JSDOMWindowBase::updateDocument): 11519 (WebCore::createWindow): 11520 (WebCore::showModalDialog): 11521 (WebCore::JSDOMWindowBase::getOwnPropertySlot): 11522 (WebCore::JSDOMWindowBase::put): 11523 (WebCore::JSDOMWindowBase::clear): 11524 * bindings/js/JSDOMWindowCustom.cpp: 11525 (WebCore::JSDOMWindow::setLocation): 11526 * bindings/js/JSDOMWindowCustom.h: 11527 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 11528 * bindings/js/JSEventListener.cpp: 11529 (WebCore::JSAbstractEventListener::handleEvent): 11530 (WebCore::JSLazyEventListener::parseCode): 11531 * bindings/js/JSEventTargetBase.h: 11532 (WebCore::JSEventTargetPrototype::self): 11533 * bindings/js/JSHTMLCollectionCustom.cpp: 11534 (WebCore::JSHTMLCollection::callAsFunction): 11535 (WebCore::JSHTMLCollection::item): 11536 (WebCore::JSHTMLCollection::namedItem): 11537 * bindings/js/JSHTMLDocumentCustom.cpp: 11538 (WebCore::JSHTMLDocument::all): 11539 (WebCore::JSHTMLDocument::setAll): 11540 (WebCore::JSHTMLDocument::open): 11541 * bindings/js/JSHTMLInputElementBase.cpp: 11542 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): 11543 * bindings/js/JSHistoryCustom.cpp: 11544 (WebCore::JSHistory::customGetOwnPropertySlot): 11545 * bindings/js/JSLocationCustom.cpp: 11546 (WebCore::JSLocation::customGetOwnPropertySlot): 11547 (WebCore::JSLocation::customPut): 11548 * bindings/js/JSNavigatorCustom.cpp: 11549 (WebCore::needsYouTubeQuirk): 11550 * bindings/js/JSSQLResultSetRowListCustom.cpp: 11551 (WebCore::JSSQLResultSetRowList::item): 11552 * bindings/js/JSStorageCustom.cpp: 11553 (WebCore::JSStorage::customGetPropertyNames): 11554 * bindings/js/ScheduledAction.cpp: 11555 (WebCore::ScheduledAction::execute): 11556 * bindings/js/ScriptController.cpp: 11557 (WebCore::ScriptController::evaluate): 11558 * bindings/objc/WebScriptObject.mm: 11559 (WebCore::addExceptionToConsole): 11560 (-[WebScriptObject callWebScriptMethod:withArguments:]): 11561 (-[WebScriptObject setValue:forKey:]): 11562 (-[WebScriptObject valueForKey:]): 11563 (-[WebScriptObject removeWebScriptKey:]): 11564 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 11565 * bindings/scripts/CodeGeneratorJS.pm: 11566 * bridge/NP_jsobject.cpp: 11567 (_NPN_Enumerate): 11568 * bridge/c/c_instance.cpp: 11569 (KJS::Bindings::CInstance::getPropertyNames): 11570 * bridge/c/c_utility.cpp: 11571 (KJS::Bindings::identifierFromNPIdentifier): 11572 * bridge/jni/jni_class.cpp: 11573 (JavaClass::JavaClass): 11574 * bridge/jni/jni_jsobject.mm: 11575 (JavaJSObject::call): 11576 (JavaJSObject::getMember): 11577 (JavaJSObject::setMember): 11578 (JavaJSObject::removeMember): 11579 * bridge/runtime_method.cpp: 11580 (RuntimeMethod::callAsFunction): 11581 Adapted to JavaScriptCore changes by explicitly constructing Identifiers, and always passing 11582 an ExecState or JSGlobalData pointer. Since WebCore is not a legacy client, this can use 11583 JSGlobalData::threadInstance(), as performance permits. 11584 11585 2008-06-16 Jonathon Jongsma <jonathon.jongsma (a] collabora.co.uk> 11586 11587 Reviewed by Dan Bernstein. 11588 11589 - fix https://bugs.webkit.org/show_bug.cgi?id=19592 11590 Mismatched GraphicsContext::save()/restore() pairs in shadow painting code 11591 11592 * rendering/InlineFlowBox.cpp: 11593 (WebCore::InlineFlowBox::paintTextDecorations): remove an extra context->save() 11594 from the shadow painting code. 11595 11596 2008-06-16 Adriaan de Groot <groot (a] kde.org> 11597 11598 Reviewed by Simon. 11599 11600 Fix compilation on Sun Studio 12 11601 11602 make_pair is a function template with two template arguments. This is to force 11603 it to have the correct type according to the pair<> structure. 11604 11605 * editing/TextIterator.cpp: 11606 (WebCore::plainTextToMallocAllocatedBuffer): 11607 * page/Chrome.cpp: 11608 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 11609 11610 2008-06-10 Tor Arne Vestb <tavestbo (a] trolltech.com> 11611 11612 Reviewed by Simon 11613 11614 https://bugs.webkit.org/show_bug.cgi?id=19462 11615 11616 Fill the background of scrollbars to the window color before 11617 letting the QStyle paint its primitive elements. 11618 11619 * platform/qt/PlatformScrollBarQt.cpp: 11620 (WebCore::PlatformScrollbar::paint): 11621 11622 2008-06-15 Darin Adler <darin (a] apple.com> 11623 11624 Rubber stamped by Sam. 11625 11626 - renamed kjs_html.h/cpp to JSPluginElementFunctions.h/cpp 11627 - renamed kjs_events.h/cpp to JSEventListener.h/cpp 11628 11629 * GNUmakefile.am: 11630 * WebCore.pro: 11631 * WebCore.vcproj/WebCore.vcproj: 11632 * WebCore.xcodeproj/project.pbxproj: 11633 * WebCoreSources.bkl: 11634 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 11635 * bindings/js/JSDOMApplicationCacheCustom.cpp: 11636 * bindings/js/JSDOMWindowBase.cpp: 11637 * bindings/js/JSEventCustom.cpp: 11638 * bindings/js/JSEventListener.cpp: Copied from WebCore/bindings/js/kjs_events.cpp. 11639 * bindings/js/JSEventListener.h: Copied from WebCore/bindings/js/kjs_events.h. 11640 * bindings/js/JSEventTargetBase.h: 11641 * bindings/js/JSHTMLAppletElementCustom.cpp: 11642 * bindings/js/JSHTMLCollectionCustom.cpp: 11643 * bindings/js/JSHTMLDocumentCustom.cpp: 11644 * bindings/js/JSHTMLEmbedElementCustom.cpp: 11645 * bindings/js/JSHTMLInputElementBase.h: 11646 * bindings/js/JSHTMLObjectElementCustom.cpp: 11647 * bindings/js/JSHTMLSelectElementCustom.cpp: 11648 * bindings/js/JSPluginElementFunctions.cpp: Copied from WebCore/bindings/js/kjs_html.cpp. 11649 * bindings/js/JSPluginElementFunctions.h: Copied from WebCore/bindings/js/kjs_html.h. 11650 * bindings/js/JSSVGLazyEventListener.h: 11651 * bindings/js/JSXMLHttpRequestCustom.cpp: 11652 * bindings/js/ScriptController.cpp: 11653 * bindings/js/kjs_events.cpp: Removed. 11654 * bindings/js/kjs_events.h: Removed. 11655 * bindings/js/kjs_html.cpp: Removed. 11656 * bindings/js/kjs_html.h: Removed. 11657 11658 2008-06-15 Darin Adler <darin (a] apple.com> 11659 11660 - give Frame object functions shorter names: scriptProxy() -> script(), 11661 selectionController() -> selection(), animationController() -> animation() 11662 11663 * WebCore.base.exp: 11664 * bindings/js/JSCustomSQLStatementCallback.cpp: 11665 (WebCore::JSCustomSQLStatementCallback::handleEvent): 11666 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 11667 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 11668 * bindings/js/JSCustomSQLTransactionCallback.cpp: 11669 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 11670 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 11671 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 11672 * bindings/js/JSCustomVoidCallback.cpp: 11673 (WebCore::JSCustomVoidCallback::handleEvent): 11674 * bindings/js/JSCustomXPathNSResolver.cpp: 11675 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 11676 * bindings/js/JSDOMWindowBase.cpp: 11677 (WebCore::JSDOMWindowBase::~JSDOMWindowBase): 11678 (WebCore::allowPopUp): 11679 (WebCore::createWindow): 11680 (WebCore::windowProtoFuncOpen): 11681 (WebCore::toJS): 11682 (WebCore::toJSDOMWindow): 11683 * bindings/js/JSDOMWindowCustom.cpp: 11684 (WebCore::JSDOMWindow::setLocation): 11685 * bindings/js/JSDOMWindowShell.cpp: 11686 (WebCore::toJS): 11687 (WebCore::toJSDOMWindowShell): 11688 * bindings/js/JSDocumentCustom.cpp: 11689 (WebCore::JSDocument::setLocation): 11690 * bindings/js/JSLocationCustom.cpp: 11691 (WebCore::navigateIfAllowed): 11692 (WebCore::JSLocation::reload): 11693 * bindings/js/JSNodeFilterCondition.cpp: 11694 (WebCore::JSNodeFilterCondition::acceptNode): 11695 * bindings/js/ScheduledAction.cpp: 11696 (WebCore::ScheduledAction::execute): 11697 * bindings/js/kjs_events.cpp: 11698 (WebCore::JSAbstractEventListener::handleEvent): 11699 (WebCore::JSLazyEventListener::parseCode): 11700 * bindings/js/kjs_html.cpp: 11701 (WebCore::runtimeObjectImplementsCall): 11702 * bindings/objc/DOMInternal.mm: 11703 (-[WebScriptObject _initializeScriptDOMNodeImp]): 11704 * bridge/jni/jni_jsobject.mm: 11705 (createRootObject): 11706 * css/CSSStyleSelector.cpp: 11707 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 11708 * dom/Document.cpp: 11709 (WebCore::Document::nodeWillBeRemoved): 11710 (WebCore::Document::createHTMLEventListener): 11711 * dom/Element.cpp: 11712 (WebCore::Element::updateFocusAppearance): 11713 * dom/EventTarget.cpp: 11714 (WebCore::EventTarget::dispatchGenericEvent): 11715 * dom/XMLTokenizer.cpp: 11716 (WebCore::XMLTokenizer::startElementNs): 11717 * editing/DeleteButtonController.cpp: 11718 (WebCore::DeleteButtonController::respondToChangedSelection): 11719 (WebCore::DeleteButtonController::enable): 11720 (WebCore::DeleteButtonController::deleteTarget): 11721 * editing/EditCommand.cpp: 11722 (WebCore::EditCommand::EditCommand): 11723 * editing/Editor.cpp: 11724 (WebCore::Editor::selectionForCommand): 11725 (WebCore::Editor::canEdit): 11726 (WebCore::Editor::canEditRichly): 11727 (WebCore::Editor::canDHTMLCut): 11728 (WebCore::Editor::canDHTMLCopy): 11729 (WebCore::Editor::canCopy): 11730 (WebCore::Editor::canDelete): 11731 (WebCore::Editor::deleteWithDirection): 11732 (WebCore::Editor::deleteSelectionWithSmartDelete): 11733 (WebCore::Editor::replaceSelectionWithFragment): 11734 (WebCore::Editor::selectedRange): 11735 (WebCore::Editor::tryDHTMLCopy): 11736 (WebCore::Editor::tryDHTMLCut): 11737 (WebCore::Editor::fontForSelection): 11738 (WebCore::Editor::selectionUnorderedListState): 11739 (WebCore::Editor::selectionOrderedListState): 11740 (WebCore::Editor::increaseSelectionListLevel): 11741 (WebCore::Editor::increaseSelectionListLevelOrdered): 11742 (WebCore::Editor::increaseSelectionListLevelUnordered): 11743 (WebCore::Editor::decreaseSelectionListLevel): 11744 (WebCore::Editor::dispatchCPPEvent): 11745 (WebCore::Editor::applyStyle): 11746 (WebCore::Editor::applyParagraphStyle): 11747 (WebCore::Editor::applyStyleToSelection): 11748 (WebCore::Editor::applyParagraphStyleToSelection): 11749 (WebCore::Editor::selectionHasStyle): 11750 (WebCore::Editor::appliedEditing): 11751 (WebCore::Editor::unappliedEditing): 11752 (WebCore::Editor::reappliedEditing): 11753 (WebCore::Editor::insertLineBreak): 11754 (WebCore::Editor::insertParagraphSeparator): 11755 (WebCore::Editor::paste): 11756 (WebCore::Editor::selectComposition): 11757 (WebCore::Editor::confirmComposition): 11758 (WebCore::Editor::setComposition): 11759 (WebCore::Editor::advanceToNextMisspelling): 11760 (WebCore::Editor::isSelectionUngrammatical): 11761 (WebCore::Editor::guessesForUngrammaticalSelection): 11762 (WebCore::Editor::getCompositionSelection): 11763 (WebCore::Editor::transpose): 11764 * editing/EditorCommand.cpp: 11765 (WebCore::expandSelectionToGranularity): 11766 (WebCore::executeDeleteToMark): 11767 (WebCore::executeMoveBackward): 11768 (WebCore::executeMoveBackwardAndModifySelection): 11769 (WebCore::executeMoveDown): 11770 (WebCore::executeMoveDownAndModifySelection): 11771 (WebCore::executeMoveForward): 11772 (WebCore::executeMoveForwardAndModifySelection): 11773 (WebCore::executeMoveLeft): 11774 (WebCore::executeMoveLeftAndModifySelection): 11775 (WebCore::executeMovePageDown): 11776 (WebCore::executeMovePageDownAndModifySelection): 11777 (WebCore::executeMovePageUp): 11778 (WebCore::executeMovePageUpAndModifySelection): 11779 (WebCore::executeMoveRight): 11780 (WebCore::executeMoveRightAndModifySelection): 11781 (WebCore::executeMoveToBeginningOfDocument): 11782 (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): 11783 (WebCore::executeMoveToBeginningOfLine): 11784 (WebCore::executeMoveToBeginningOfLineAndModifySelection): 11785 (WebCore::executeMoveToBeginningOfParagraph): 11786 (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): 11787 (WebCore::executeMoveToBeginningOfSentence): 11788 (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): 11789 (WebCore::executeMoveToEndOfDocument): 11790 (WebCore::executeMoveToEndOfDocumentAndModifySelection): 11791 (WebCore::executeMoveToEndOfSentence): 11792 (WebCore::executeMoveToEndOfSentenceAndModifySelection): 11793 (WebCore::executeMoveToEndOfLine): 11794 (WebCore::executeMoveToEndOfLineAndModifySelection): 11795 (WebCore::executeMoveToEndOfParagraph): 11796 (WebCore::executeMoveToEndOfParagraphAndModifySelection): 11797 (WebCore::executeMoveParagraphBackwardAndModifySelection): 11798 (WebCore::executeMoveParagraphForwardAndModifySelection): 11799 (WebCore::executeMoveUp): 11800 (WebCore::executeMoveUpAndModifySelection): 11801 (WebCore::executeMoveWordBackward): 11802 (WebCore::executeMoveWordBackwardAndModifySelection): 11803 (WebCore::executeMoveWordForward): 11804 (WebCore::executeMoveWordForwardAndModifySelection): 11805 (WebCore::executeMoveWordLeft): 11806 (WebCore::executeMoveWordLeftAndModifySelection): 11807 (WebCore::executeMoveWordRight): 11808 (WebCore::executeMoveWordRightAndModifySelection): 11809 (WebCore::executeSelectAll): 11810 (WebCore::executeSelectToMark): 11811 (WebCore::executeSetMark): 11812 (WebCore::executeSwapWithMark): 11813 (WebCore::executeUnselect): 11814 (WebCore::enabledAnySelection): 11815 (WebCore::enabledAnySelectionAndMark): 11816 (WebCore::enabledInRichlyEditableText): 11817 (WebCore::enabledRangeInEditableText): 11818 (WebCore::enabledRangeInRichlyEditableText): 11819 * editing/ModifySelectionListLevel.cpp: 11820 (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel): 11821 (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel): 11822 * editing/RemoveFormatCommand.cpp: 11823 (WebCore::RemoveFormatCommand::doApply): 11824 * editing/SelectionController.cpp: 11825 (WebCore::SelectionController::setSelection): 11826 (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): 11827 * editing/TypingCommand.cpp: 11828 (WebCore::TypingCommand::deleteSelection): 11829 (WebCore::TypingCommand::insertText): 11830 (WebCore::TypingCommand::deleteKeyPressed): 11831 (WebCore::TypingCommand::forwardDeleteKeyPressed): 11832 * history/CachedPage.cpp: 11833 (WebCore::CachedPage::CachedPage): 11834 (WebCore::CachedPage::restore): 11835 * html/HTMLAnchorElement.cpp: 11836 (WebCore::HTMLAnchorElement::defaultEventHandler): 11837 (WebCore::HTMLAnchorElement::setActive): 11838 * html/HTMLInputElement.cpp: 11839 (WebCore::HTMLInputElement::defaultEventHandler): 11840 * html/HTMLPlugInElement.cpp: 11841 (WebCore::HTMLPlugInElement::createNPObject): 11842 * html/HTMLScriptElement.cpp: 11843 (WebCore::HTMLScriptElement::evaluateScript): 11844 * html/HTMLTokenizer.cpp: 11845 (WebCore::HTMLTokenizer::parseTag): 11846 (WebCore::HTMLTokenizer::processToken): 11847 * loader/FrameLoader.cpp: 11848 (WebCore::FrameLoader::executeScript): 11849 (WebCore::FrameLoader::clear): 11850 (WebCore::FrameLoader::userGestureHint): 11851 (WebCore::FrameLoader::open): 11852 (WebCore::FrameLoader::dispatchWindowObjectAvailable): 11853 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): 11854 * loader/archive/cf/LegacyWebArchive.cpp: 11855 (WebCore::LegacyWebArchive::createFromSelection): 11856 * page/AccessibilityRenderObject.cpp: 11857 (WebCore::AccessibilityRenderObject::selection): 11858 (WebCore::AccessibilityRenderObject::setSelectedTextRange): 11859 (WebCore::AccessibilityRenderObject::isFocused): 11860 (WebCore::AccessibilityRenderObject::doAXTextMarkerRangeForLine): 11861 (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange): 11862 (WebCore::AccessibilityRenderObject::doAXRangeForLine): 11863 (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): 11864 * page/ContextMenuController.cpp: 11865 (WebCore::ContextMenuController::contextMenuItemSelected): 11866 * page/DOMSelection.cpp: 11867 (WebCore::DOMSelection::anchorNode): 11868 (WebCore::DOMSelection::baseNode): 11869 (WebCore::DOMSelection::anchorOffset): 11870 (WebCore::DOMSelection::baseOffset): 11871 (WebCore::DOMSelection::focusNode): 11872 (WebCore::DOMSelection::extentNode): 11873 (WebCore::DOMSelection::focusOffset): 11874 (WebCore::DOMSelection::extentOffset): 11875 (WebCore::DOMSelection::isCollapsed): 11876 (WebCore::DOMSelection::type): 11877 (WebCore::DOMSelection::rangeCount): 11878 (WebCore::DOMSelection::collapse): 11879 (WebCore::DOMSelection::collapseToEnd): 11880 (WebCore::DOMSelection::collapseToStart): 11881 (WebCore::DOMSelection::empty): 11882 (WebCore::DOMSelection::setBaseAndExtent): 11883 (WebCore::DOMSelection::setPosition): 11884 (WebCore::DOMSelection::modify): 11885 (WebCore::DOMSelection::extend): 11886 (WebCore::DOMSelection::getRangeAt): 11887 (WebCore::DOMSelection::removeAllRanges): 11888 (WebCore::DOMSelection::addRange): 11889 (WebCore::DOMSelection::deleteFromDocument): 11890 (WebCore::DOMSelection::containsNode): 11891 (WebCore::DOMSelection::toString): 11892 * page/DragController.cpp: 11893 (WebCore::DragController::dragIsMove): 11894 (WebCore::DragController::tryDocumentDrag): 11895 (WebCore::setSelectionToDragCaret): 11896 (WebCore::DragController::concludeDrag): 11897 (WebCore::prepareClipboardForImageDrag): 11898 (WebCore::DragController::startDrag): 11899 * page/EventHandler.cpp: 11900 (WebCore::EventHandler::selectClosestWordFromMouseEvent): 11901 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): 11902 (WebCore::EventHandler::handleMousePressEventDoubleClick): 11903 (WebCore::EventHandler::handleMousePressEventTripleClick): 11904 (WebCore::EventHandler::handleMousePressEventSingleClick): 11905 (WebCore::EventHandler::handleMousePressEvent): 11906 (WebCore::EventHandler::updateSelectionForMouseDrag): 11907 (WebCore::EventHandler::handleMouseReleaseEvent): 11908 (WebCore::nodeIsNotBeingEdited): 11909 (WebCore::EventHandler::selectCursor): 11910 (WebCore::EventHandler::dispatchMouseEvent): 11911 (WebCore::EventHandler::sendContextMenuEvent): 11912 (WebCore::EventHandler::handleKeyboardSelectionMovement): 11913 (WebCore::EventHandler::handleDrag): 11914 * page/FocusController.cpp: 11915 (WebCore::FocusController::setFocusedFrame): 11916 (WebCore::clearSelectionIfNeeded): 11917 (WebCore::FocusController::setActive): 11918 * page/Frame.cpp: 11919 (WebCore::Frame::~Frame): 11920 (WebCore::Frame::script): 11921 (WebCore::Frame::setDocument): 11922 (WebCore::Frame::selectedText): 11923 (WebCore::Frame::selection): 11924 (WebCore::Frame::animation): 11925 (WebCore::Frame::notifyRendererOfSelectionChange): 11926 (WebCore::Frame::invalidateSelection): 11927 (WebCore::Frame::clearCaretRectIfNeeded): 11928 (WebCore::Frame::setFocusedNodeIfNeeded): 11929 (WebCore::Frame::selectionLayoutChanged): 11930 (WebCore::Frame::caretBlinkTimerFired): 11931 (WebCore::Frame::paintCaret): 11932 (WebCore::Frame::shouldChangeSelection): 11933 (WebCore::Frame::updateSecureKeyboardEntryIfActive): 11934 (WebCore::Frame::computeAndSetTypingStyle): 11935 (WebCore::Frame::selectionComputedStyle): 11936 (WebCore::Frame::bindingRootObject): 11937 (WebCore::Frame::windowScriptNPObject): 11938 (WebCore::Frame::clearScriptController): 11939 (WebCore::Frame::selectionTextRects): 11940 (WebCore::Frame::currentForm): 11941 (WebCore::Frame::revealSelection): 11942 (WebCore::Frame::revealCaret): 11943 (WebCore::Frame::clearTimers): 11944 (WebCore::Frame::styleForSelectionStart): 11945 (WebCore::Frame::setSelectionFromNone): 11946 (WebCore::Frame::findString): 11947 (WebCore::Frame::pageDestroyed): 11948 (WebCore::Frame::respondToChangedSelection): 11949 (WebCore::FramePrivate::FramePrivate): 11950 * page/Frame.h: 11951 * page/FramePrivate.h: 11952 * page/InspectorController.cpp: 11953 (WebCore::canPassNodeToJavaScript): 11954 (WebCore::InspectorController::windowScriptObjectAvailable): 11955 * page/JavaScriptDebugServer.cpp: 11956 (WebCore::JavaScriptDebugServer::setJavaScriptPaused): 11957 * page/Page.cpp: 11958 (WebCore::Page::findString): 11959 (WebCore::Page::selection): 11960 (WebCore::Page::setDebugger): 11961 * page/mac/FrameMac.mm: 11962 (WebCore::Frame::baseWritingDirectionForSelectionStart): 11963 (WebCore::Frame::dragImageForSelection): 11964 (WebCore::Frame::createScriptInstanceForWidget): 11965 (WebCore::Frame::windowScriptObject): 11966 * page/win/FrameWin.cpp: 11967 (WebCore::Frame::dragImageForSelection): 11968 * platform/ContextMenu.cpp: 11969 (WebCore::selectionContainsPossibleWord): 11970 (WebCore::ContextMenu::populate): 11971 (WebCore::ContextMenu::checkOrEnableIfNeeded): 11972 * plugins/PluginView.cpp: 11973 (WebCore::PluginView::performRequest): 11974 (WebCore::PluginView::bindingInstance): 11975 * rendering/HitTestResult.cpp: 11976 (WebCore::HitTestResult::isSelected): 11977 * rendering/RenderBlock.cpp: 11978 (WebCore::RenderBlock::paintCaret): 11979 * rendering/RenderListBox.cpp: 11980 (WebCore::RenderListBox::paintItemForeground): 11981 (WebCore::RenderListBox::paintItemBackground): 11982 * rendering/RenderObject.cpp: 11983 (WebCore::RenderObject::selectionBackgroundColor): 11984 (WebCore::RenderObject::selectionForegroundColor): 11985 (WebCore::RenderObject::setAnimatableStyle): 11986 (WebCore::RenderObject::destroy): 11987 (WebCore::RenderObject::animation): 11988 * rendering/RenderObject.h: 11989 * rendering/RenderTextControl.cpp: 11990 (WebCore::RenderTextControl::selectionStart): 11991 (WebCore::RenderTextControl::selectionEnd): 11992 (WebCore::RenderTextControl::setSelectionRange): 11993 (WebCore::RenderTextControl::selectionChanged): 11994 (WebCore::RenderTextControl::capsLockStateMayHaveChanged): 11995 * rendering/RenderTheme.cpp: 11996 (WebCore::RenderTheme::isFocused): 11997 * rendering/RenderTreeAsText.cpp: 11998 (WebCore::writeSelection): 11999 * rendering/RenderWidget.cpp: 12000 (WebCore::RenderWidget::destroy): 12001 * svg/SVGDocumentExtensions.cpp: 12002 (WebCore::SVGDocumentExtensions::createSVGEventListener): 12003 * svg/SVGSVGElement.cpp: 12004 (WebCore::SVGSVGElement::deselectAll): 12005 * svg/SVGTextContentElement.cpp: 12006 (WebCore::SVGTextContentElement::selectSubString): 12007 12008 2008-06-15 Sam Weinig <sam (a] webkit.org> 12009 12010 Reviewed by Darin Adler. 12011 12012 Remove outdated comment. 12013 12014 * bindings/js/ScriptController.h: 12015 12016 2008-06-15 Darin Adler <darin (a] apple.com> 12017 12018 - try to fix Qt build 12019 12020 * dom/XMLTokenizer.cpp: Use create instead of new. 12021 12022 - rename KJS::List to KJS::ArgList 12023 12024 * bindings/js/JSAudioConstructor.cpp: 12025 (WebCore::JSAudioConstructor::construct): 12026 * bindings/js/JSAudioConstructor.h: 12027 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 12028 (WebCore::JSCanvasRenderingContext2D::setFillColor): 12029 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): 12030 (WebCore::JSCanvasRenderingContext2D::strokeRect): 12031 (WebCore::JSCanvasRenderingContext2D::drawImage): 12032 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): 12033 (WebCore::JSCanvasRenderingContext2D::setShadow): 12034 (WebCore::JSCanvasRenderingContext2D::createPattern): 12035 (WebCore::JSCanvasRenderingContext2D::putImageData): 12036 * bindings/js/JSClipboardCustom.cpp: 12037 (WebCore::JSClipboard::types): 12038 (WebCore::JSClipboard::clearData): 12039 (WebCore::JSClipboard::getData): 12040 (WebCore::JSClipboard::setData): 12041 (WebCore::JSClipboard::setDragImage): 12042 * bindings/js/JSConsoleCustom.cpp: 12043 (WebCore::JSConsole::debug): 12044 (WebCore::JSConsole::error): 12045 (WebCore::JSConsole::info): 12046 (WebCore::JSConsole::log): 12047 (WebCore::JSConsole::warn): 12048 (WebCore::JSConsole::assertCondition): 12049 (WebCore::JSConsole::profile): 12050 (WebCore::JSConsole::profileEnd): 12051 * bindings/js/JSCustomSQLStatementCallback.cpp: 12052 (WebCore::JSCustomSQLStatementCallback::handleEvent): 12053 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 12054 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 12055 * bindings/js/JSCustomSQLTransactionCallback.cpp: 12056 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 12057 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 12058 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 12059 * bindings/js/JSCustomVoidCallback.cpp: 12060 (WebCore::JSCustomVoidCallback::handleEvent): 12061 * bindings/js/JSCustomXPathNSResolver.cpp: 12062 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 12063 * bindings/js/JSDOMApplicationCacheCustom.cpp: 12064 (WebCore::JSDOMApplicationCache::add): 12065 (WebCore::JSDOMApplicationCache::remove): 12066 (WebCore::JSDOMApplicationCache::addEventListener): 12067 (WebCore::JSDOMApplicationCache::removeEventListener): 12068 (WebCore::JSDOMApplicationCache::dispatchEvent): 12069 * bindings/js/JSDOMWindowBase.cpp: 12070 (WebCore::windowProtoFuncAToB): 12071 (WebCore::windowProtoFuncBToA): 12072 (WebCore::windowProtoFuncOpen): 12073 (WebCore::windowProtoFuncSetTimeout): 12074 (WebCore::windowProtoFuncClearTimeout): 12075 (WebCore::windowProtoFuncSetInterval): 12076 (WebCore::windowProtoFuncAddEventListener): 12077 (WebCore::windowProtoFuncRemoveEventListener): 12078 (WebCore::windowProtoFuncShowModalDialog): 12079 (WebCore::windowProtoFuncNotImplemented): 12080 (WebCore::JSDOMWindowBase::installTimeout): 12081 * bindings/js/JSDOMWindowBase.h: 12082 * bindings/js/JSDOMWindowCustom.cpp: 12083 (WebCore::JSDOMWindow::postMessage): 12084 * bindings/js/JSDatabaseCustom.cpp: 12085 (WebCore::JSDatabase::changeVersion): 12086 (WebCore::JSDatabase::transaction): 12087 * bindings/js/JSElementCustom.cpp: 12088 (WebCore::JSElement::setAttribute): 12089 (WebCore::JSElement::setAttributeNode): 12090 (WebCore::JSElement::setAttributeNS): 12091 (WebCore::JSElement::setAttributeNodeNS): 12092 * bindings/js/JSEventTargetBase.cpp: 12093 (WebCore::jsEventTargetAddEventListener): 12094 (WebCore::jsEventTargetRemoveEventListener): 12095 (WebCore::jsEventTargetDispatchEvent): 12096 * bindings/js/JSEventTargetBase.h: 12097 * bindings/js/JSHTMLAppletElementCustom.cpp: 12098 (WebCore::JSHTMLAppletElement::callAsFunction): 12099 * bindings/js/JSHTMLCollectionCustom.cpp: 12100 (WebCore::JSHTMLCollection::callAsFunction): 12101 (WebCore::JSHTMLCollection::item): 12102 (WebCore::JSHTMLCollection::namedItem): 12103 * bindings/js/JSHTMLDocumentCustom.cpp: 12104 (WebCore::JSHTMLDocument::open): 12105 (WebCore::writeHelper): 12106 (WebCore::JSHTMLDocument::write): 12107 (WebCore::JSHTMLDocument::writeln): 12108 * bindings/js/JSHTMLEmbedElementCustom.cpp: 12109 (WebCore::JSHTMLEmbedElement::callAsFunction): 12110 * bindings/js/JSHTMLInputElementBase.cpp: 12111 (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange): 12112 * bindings/js/JSHTMLInputElementBase.h: 12113 * bindings/js/JSHTMLObjectElementCustom.cpp: 12114 (WebCore::JSHTMLObjectElement::callAsFunction): 12115 * bindings/js/JSHTMLOptionElementConstructor.cpp: 12116 (WebCore::JSHTMLOptionElementConstructor::construct): 12117 * bindings/js/JSHTMLOptionElementConstructor.h: 12118 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 12119 (WebCore::JSHTMLOptionsCollection::add): 12120 (WebCore::JSHTMLOptionsCollection::remove): 12121 * bindings/js/JSHTMLSelectElementCustom.cpp: 12122 (WebCore::JSHTMLSelectElement::remove): 12123 * bindings/js/JSImageConstructor.cpp: 12124 (WebCore::JSImageConstructor::construct): 12125 * bindings/js/JSImageConstructor.h: 12126 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 12127 (WebCore::JSJavaScriptCallFrame::evaluate): 12128 (WebCore::JSJavaScriptCallFrame::scopeChain): 12129 * bindings/js/JSLocationCustom.cpp: 12130 (WebCore::JSLocation::replace): 12131 (WebCore::JSLocation::reload): 12132 (WebCore::JSLocation::assign): 12133 (WebCore::JSLocation::toString): 12134 * bindings/js/JSNodeCustom.cpp: 12135 (WebCore::JSNode::insertBefore): 12136 (WebCore::JSNode::replaceChild): 12137 (WebCore::JSNode::removeChild): 12138 (WebCore::JSNode::appendChild): 12139 * bindings/js/JSNodeFilterCondition.cpp: 12140 (WebCore::JSNodeFilterCondition::acceptNode): 12141 * bindings/js/JSNodeFilterCustom.cpp: 12142 (WebCore::JSNodeFilter::acceptNode): 12143 * bindings/js/JSNodeIteratorCustom.cpp: 12144 (WebCore::JSNodeIterator::nextNode): 12145 (WebCore::JSNodeIterator::previousNode): 12146 * bindings/js/JSNodeListCustom.cpp: 12147 (WebCore::JSNodeList::callAsFunction): 12148 * bindings/js/JSQuarantinedObjectWrapper.cpp: 12149 (WebCore::JSQuarantinedObjectWrapper::construct): 12150 (WebCore::JSQuarantinedObjectWrapper::callAsFunction): 12151 * bindings/js/JSQuarantinedObjectWrapper.h: 12152 * bindings/js/JSSQLResultSetRowListCustom.cpp: 12153 (WebCore::JSSQLResultSetRowList::item): 12154 * bindings/js/JSSQLTransactionCustom.cpp: 12155 (WebCore::JSSQLTransaction::executeSql): 12156 * bindings/js/JSSVGMatrixCustom.cpp: 12157 (WebCore::JSSVGMatrix::multiply): 12158 (WebCore::JSSVGMatrix::inverse): 12159 (WebCore::JSSVGMatrix::translate): 12160 (WebCore::JSSVGMatrix::scale): 12161 (WebCore::JSSVGMatrix::scaleNonUniform): 12162 (WebCore::JSSVGMatrix::rotate): 12163 (WebCore::JSSVGMatrix::rotateFromVector): 12164 (WebCore::JSSVGMatrix::flipX): 12165 (WebCore::JSSVGMatrix::flipY): 12166 (WebCore::JSSVGMatrix::skewX): 12167 (WebCore::JSSVGMatrix::skewY): 12168 * bindings/js/JSSVGPathSegListCustom.cpp: 12169 (WebCore::JSSVGPathSegList::clear): 12170 (WebCore::JSSVGPathSegList::initialize): 12171 (WebCore::JSSVGPathSegList::getItem): 12172 (WebCore::JSSVGPathSegList::insertItemBefore): 12173 (WebCore::JSSVGPathSegList::replaceItem): 12174 (WebCore::JSSVGPathSegList::removeItem): 12175 (WebCore::JSSVGPathSegList::appendItem): 12176 * bindings/js/JSSVGPointListCustom.cpp: 12177 (WebCore::JSSVGPointList::clear): 12178 (WebCore::JSSVGPointList::initialize): 12179 (WebCore::JSSVGPointList::getItem): 12180 (WebCore::JSSVGPointList::insertItemBefore): 12181 (WebCore::JSSVGPointList::replaceItem): 12182 (WebCore::JSSVGPointList::removeItem): 12183 (WebCore::JSSVGPointList::appendItem): 12184 * bindings/js/JSSVGTransformListCustom.cpp: 12185 (WebCore::JSSVGTransformList::clear): 12186 (WebCore::JSSVGTransformList::initialize): 12187 (WebCore::JSSVGTransformList::getItem): 12188 (WebCore::JSSVGTransformList::insertItemBefore): 12189 (WebCore::JSSVGTransformList::replaceItem): 12190 (WebCore::JSSVGTransformList::removeItem): 12191 (WebCore::JSSVGTransformList::appendItem): 12192 * bindings/js/JSTreeWalkerCustom.cpp: 12193 (WebCore::JSTreeWalker::parentNode): 12194 (WebCore::JSTreeWalker::firstChild): 12195 (WebCore::JSTreeWalker::lastChild): 12196 (WebCore::JSTreeWalker::nextSibling): 12197 (WebCore::JSTreeWalker::previousSibling): 12198 (WebCore::JSTreeWalker::previousNode): 12199 (WebCore::JSTreeWalker::nextNode): 12200 * bindings/js/JSXMLHttpRequestConstructor.cpp: 12201 (WebCore::JSXMLHttpRequestConstructor::construct): 12202 * bindings/js/JSXMLHttpRequestConstructor.h: 12203 * bindings/js/JSXMLHttpRequestCustom.cpp: 12204 (WebCore::JSXMLHttpRequest::open): 12205 (WebCore::JSXMLHttpRequest::setRequestHeader): 12206 (WebCore::JSXMLHttpRequest::send): 12207 (WebCore::JSXMLHttpRequest::getResponseHeader): 12208 (WebCore::JSXMLHttpRequest::overrideMimeType): 12209 (WebCore::JSXMLHttpRequest::addEventListener): 12210 (WebCore::JSXMLHttpRequest::removeEventListener): 12211 (WebCore::JSXMLHttpRequest::dispatchEvent): 12212 * bindings/js/JSXSLTProcessorConstructor.cpp: 12213 (WebCore::JSXSLTProcessorConstructor::construct): 12214 * bindings/js/JSXSLTProcessorConstructor.h: 12215 * bindings/js/JSXSLTProcessorCustom.cpp: 12216 (WebCore::JSXSLTProcessor::importStylesheet): 12217 (WebCore::JSXSLTProcessor::transformToFragment): 12218 (WebCore::JSXSLTProcessor::transformToDocument): 12219 (WebCore::JSXSLTProcessor::setParameter): 12220 (WebCore::JSXSLTProcessor::getParameter): 12221 (WebCore::JSXSLTProcessor::removeParameter): 12222 * bindings/js/ScheduledAction.cpp: 12223 (WebCore::ScheduledAction::ScheduledAction): 12224 (WebCore::ScheduledAction::execute): 12225 * bindings/js/ScheduledAction.h: 12226 * bindings/js/kjs_events.cpp: 12227 (WebCore::JSAbstractEventListener::handleEvent): 12228 (WebCore::JSLazyEventListener::parseCode): 12229 * bindings/js/kjs_html.cpp: 12230 (WebCore::runtimeObjectCallAsFunction): 12231 * bindings/js/kjs_html.h: 12232 * bindings/objc/WebScriptObject.mm: 12233 (getListFromNSArray): 12234 (-[WebScriptObject callWebScriptMethod:withArguments:]): 12235 * bindings/scripts/CodeGeneratorJS.pm: 12236 * bridge/NP_jsobject.cpp: 12237 (getListFromVariantArgs): 12238 (_NPN_InvokeDefault): 12239 (_NPN_Invoke): 12240 * bridge/c/c_instance.cpp: 12241 (KJS::Bindings::CInstance::invokeMethod): 12242 (KJS::Bindings::CInstance::invokeDefaultMethod): 12243 * bridge/c/c_instance.h: 12244 * bridge/jni/jni_instance.cpp: 12245 (JavaInstance::invokeMethod): 12246 * bridge/jni/jni_instance.h: 12247 * bridge/jni/jni_jsobject.h: 12248 * bridge/jni/jni_jsobject.mm: 12249 (JavaJSObject::call): 12250 (JavaJSObject::getListFromJArray): 12251 * bridge/objc/objc_instance.h: 12252 * bridge/objc/objc_instance.mm: 12253 (ObjcInstance::invokeMethod): 12254 (ObjcInstance::invokeDefaultMethod): 12255 * bridge/objc/objc_runtime.h: 12256 * bridge/objc/objc_runtime.mm: 12257 (ObjcFallbackObjectImp::callAsFunction): 12258 * bridge/qt/qt_instance.cpp: 12259 (KJS::Bindings::QtRuntimeObjectImp::construct): 12260 (KJS::Bindings::QtInstance::invokeMethod): 12261 (KJS::Bindings::QtInstance::invokeDefaultMethod): 12262 * bridge/qt/qt_instance.h: 12263 * bridge/qt/qt_runtime.cpp: 12264 (KJS::Bindings::convertQVariantToValue): 12265 (KJS::Bindings::findMethodIndex): 12266 (KJS::Bindings::QtRuntimeMetaMethod::callAsFunction): 12267 (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction): 12268 (KJS::Bindings::QtConnectionObject::execute): 12269 * bridge/qt/qt_runtime.h: 12270 * bridge/runtime.h: 12271 (KJS::Bindings::Instance::invokeDefaultMethod): 12272 * bridge/runtime_method.cpp: 12273 (RuntimeMethod::callAsFunction): 12274 * bridge/runtime_method.h: 12275 * bridge/runtime_object.cpp: 12276 (RuntimeObjectImp::callAsFunction): 12277 * bridge/runtime_object.h: 12278 * page/Console.cpp: 12279 (WebCore::printToStandardOut): 12280 (WebCore::Console::debug): 12281 (WebCore::Console::error): 12282 (WebCore::Console::info): 12283 (WebCore::Console::log): 12284 (WebCore::Console::assertCondition): 12285 (WebCore::Console::profile): 12286 (WebCore::Console::profileEnd): 12287 (WebCore::Console::warn): 12288 * page/Console.h: 12289 * page/InspectorController.cpp: 12290 (WebCore::ConsoleMessage::ConsoleMessage): 12291 (WebCore::InspectorController::addMessageToConsole): 12292 * page/InspectorController.h: 12293 12294 2008-06-15 Darin Adler <darin (a] apple.com> 12295 12296 * platform/graphics/gtk/VideoSinkGStreamer.h: Undo a bogus rename done by the script. 12297 12298 2008-06-15 Adam Barth <abarth (a] webkit.org> 12299 12300 Reviewed by Sam Weinig. 12301 12302 Fix our implementation of Document.documentURI (DOM Core Level 3). 12303 12304 Tests: fast/dom/documenturi-affects-relative-paths.html 12305 fast/dom/documenturi-assigned-junk-implies-baseuri-null.html 12306 fast/dom/documenturi-assigned-junk-implies-relative-urls-do-not-resolve.html 12307 fast/dom/documenturi-can-hold-arbitrary-string.html 12308 fast/dom/documenturi-loses-to-base-tag.html 12309 fast/dom/documenturi-not-affected-by-base-tag.html 12310 12311 * dom/Document.cpp: 12312 (WebCore::Document::setDocumentURI): 12313 (WebCore::Document::setURL): 12314 (WebCore::Document::updateBaseURL): 12315 * dom/Document.h: 12316 * page/AccessibilityRenderObject.cpp: 12317 (WebCore::AccessibilityRenderObject::url): 12318 12319 2008-06-15 Adam Barth <abarth (a] webkit.org> 12320 12321 Reviewed by Sam Weinig. 12322 12323 Refactor our handling of Document::m_baseURL in preparation for 12324 correcting our implementation of Document.documentURI. 12325 12326 * dom/Document.cpp: 12327 (WebCore::Document::documentURI): 12328 (WebCore::Document::open): 12329 (WebCore::Document::setURL): 12330 (WebCore::Document::setBaseElementURL): 12331 (WebCore::Document::updateBaseURL): 12332 (WebCore::Document::elementSheet): 12333 (WebCore::Document::mappedElementSheet): 12334 (WebCore::Document::completeURL): 12335 * dom/Document.h: 12336 (WebCore::Document::url): 12337 (WebCore::Document::baseURL): 12338 * html/HTMLBaseElement.cpp: 12339 (WebCore::HTMLBaseElement::removedFromDocument): 12340 (WebCore::HTMLBaseElement::process): 12341 * loader/FrameLoader.cpp: 12342 (WebCore::FrameLoader::begin): 12343 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): 12344 * xml/XSLTProcessor.cpp: 12345 (WebCore::XSLTProcessor::createDocumentFromSource): 12346 12347 2008-06-15 Darin Adler <darin (a] apple.com> 12348 12349 - new names for more JavaScriptCore files 12350 12351 * ForwardingHeaders/kjs/ArrayPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/array_object.h. 12352 * ForwardingHeaders/kjs/BooleanObject.h: Copied from WebCore/ForwardingHeaders/kjs/bool_object.h. 12353 * ForwardingHeaders/kjs/FunctionPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/function_object.h. 12354 * ForwardingHeaders/kjs/JSArray.h: Copied from WebCore/ForwardingHeaders/kjs/array_instance.h. 12355 * ForwardingHeaders/kjs/PropertyMap.h: Copied from WebCore/ForwardingHeaders/kjs/property_map.h. 12356 * ForwardingHeaders/kjs/array_instance.h: Removed. 12357 * ForwardingHeaders/kjs/array_object.h: Removed. 12358 * ForwardingHeaders/kjs/bool_object.h: Removed. 12359 * ForwardingHeaders/kjs/function_object.h: Removed. 12360 * ForwardingHeaders/kjs/property_map.h: Removed. 12361 * WebCore.vcproj/WebCore.vcproj: 12362 * bindings/js/JSClipboardCustom.cpp: 12363 * bindings/js/JSDatabaseCustom.cpp: 12364 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 12365 * bindings/js/kjs_events.cpp: 12366 * bridge/jni/jni_utility.cpp: 12367 * bridge/qt/qt_runtime.cpp: 12368 * bridge/runtime_array.cpp: 12369 12370 2008-06-15 Darin Adler <darin (a] apple.com> 12371 12372 - new names for a few key JavaScriptCore files 12373 12374 * ForwardingHeaders/kjs/JSFunction.h: Copied from WebCore/ForwardingHeaders/kjs/function.h. 12375 * ForwardingHeaders/kjs/JSObject.h: Copied from WebCore/ForwardingHeaders/kjs/object.h. 12376 * ForwardingHeaders/kjs/JSString.h: Copied from WebCore/ForwardingHeaders/kjs/internal.h. 12377 * ForwardingHeaders/kjs/JSValue.h: Copied from WebCore/ForwardingHeaders/kjs/value.h. 12378 * ForwardingHeaders/kjs/function.h: Removed. 12379 * ForwardingHeaders/kjs/internal.h: Removed. 12380 * ForwardingHeaders/kjs/object.h: Removed. 12381 * ForwardingHeaders/kjs/value.h: Removed. 12382 * WebCore.vcproj/WebCore.vcproj: 12383 * bindings/js/JSCustomSQLStatementCallback.h: 12384 * bindings/js/JSCustomSQLStatementErrorCallback.h: 12385 * bindings/js/JSCustomSQLTransactionErrorCallback.h: 12386 * bindings/js/JSCustomVoidCallback.h: 12387 * bindings/js/JSDOMBinding.h: 12388 * bindings/js/JSDOMWindowCustom.cpp: 12389 * bindings/js/JSDOMWindowShell.cpp: 12390 * bindings/js/JSQuarantinedObjectWrapper.h: 12391 * bridge/objc/objc_runtime.h: 12392 * bridge/objc/objc_utility.h: 12393 * bridge/qt/qt_runtime.cpp: 12394 * bridge/runtime.h: 12395 * bridge/runtime_array.h: 12396 * bridge/runtime_method.h: 12397 * bridge/runtime_object.h: 12398 * bridge/testbindings.cpp: 12399 * bridge/testbindings.mm: 12400 * bridge/testqtbindings.cpp: 12401 * loader/FrameLoader.cpp: 12402 * page/JavaScriptCallFrame.cpp: 12403 * page/JavaScriptProfile.cpp: 12404 * page/JavaScriptProfileNode.cpp: 12405 * platform/graphics/gtk/VideoSinkGStreamer.h: 12406 * plugins/PluginView.cpp: 12407 * plugins/gtk/PluginViewGtk.cpp: 12408 * plugins/qt/PluginViewQt.cpp: 12409 * plugins/win/PluginViewWin.cpp: 12410 12411 2008-06-15 Darin Adler <darin (a] apple.com> 12412 12413 Rubber stamped by Sam. 12414 12415 - cut down on confusing uses of "Object" and "Imp" in 12416 JavaScriptCore class names 12417 12418 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 12419 (WebCore::JSCSSStyleDeclaration::nameGetter): 12420 * bridge/qt/qt_runtime.cpp: 12421 (KJS::Bindings::valueRealType): 12422 (KJS::Bindings::convertValueToQVariant): 12423 (KJS::Bindings::convertQVariantToValue): 12424 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod): 12425 * bridge/qt/qt_runtime.h: 12426 * bridge/runtime_method.cpp: 12427 (RuntimeMethod::RuntimeMethod): 12428 (RuntimeMethod::getOwnPropertySlot): 12429 * bridge/runtime_method.h: 12430 12431 2008-06-15 Dan Bernstein <mitz (a] apple.com> 12432 12433 Reviewed by Darin Adler. 12434 12435 - fix <rdar://problem/5825683> Three slash URLs are modified by WebKit 12436 12437 Test: fast/loader/url-parse-1.html 12438 12439 URIs in which the scheme is followed by "://" are ambiguous, because 12440 "//" can be either the beginning of a net_path or the beginning of an 12441 abs_path whose first path segment is empty. In the case of ":///", the 12442 net_path interpretation is invalid, because the authority (the part 12443 between the second and third slashes) cannot be empty. However, for 12444 historical reasons, this is allowed in http:, https: and file: URLs, 12445 in which an empty authority means the local host. 12446 12447 * platform/KURL.cpp: 12448 (WebCore::KURL::parse): Changed to interpret URLs in which the scheme 12449 is followed by ":///" as abs_path-only URLs, unless the scheme is http, 12450 https or file. 12451 12452 2008-06-15 Darin Adler <darin (a] apple.com> 12453 12454 Rubber stamped by Sam. 12455 12456 - use JS prefix and simpler names for basic JavaScriptCore types, 12457 to complement JSValue and JSObject 12458 12459 * bindings/js/JSNavigatorCustom.cpp: 12460 (WebCore::needsYouTubeQuirk): 12461 * bindings/js/kjs_events.cpp: 12462 (WebCore::JSLazyEventListener::parseCode): 12463 * bridge/jni/jni_utility.cpp: 12464 (KJS::Bindings::convertArrayInstanceToJavaArray): 12465 (KJS::Bindings::convertValueToJValue): 12466 * bridge/qt/qt_runtime.cpp: 12467 (KJS::Bindings::valueRealType): 12468 (KJS::Bindings::convertValueToQVariant): 12469 (KJS::Bindings::QtConnectionObject::execute): 12470 * bridge/runtime_array.cpp: 12471 12472 2008-06-15 Darin Adler <darin (a] apple.com> 12473 12474 Reviewed by Mitz. 12475 12476 - fix https://bugs.webkit.org/show_bug.cgi?id=19556 12477 REGRESSION (r34544): Crash while visiting bigglook.com 12478 12479 This fix eliminates the crash, but the logic remaining seems a little strange. 12480 We create an IconRecord and then immediately destroy it. Worth taking another 12481 look at this later. 12482 12483 * loader/icon/IconDatabase.cpp: 12484 (WebCore::IconDatabase::setIconDataForIconURL): Added code to remove the icon 12485 just as in the other cases where we might be holding the single reference to it. 12486 (WebCore::IconDatabase::setIconURLForPageURL): Fixed comment typo. 12487 (WebCore::IconDatabase::writeToDatabase): Removed unused local variable. 12488 12489 2008-06-15 Darin Adler <darin (a] apple.com> 12490 12491 Reviewed and tweaked by Sam Weinig. 12492 12493 Fix for <rdar://problem/5908591> 12494 https://bugs.webkit.org/show_bug.cgi?id=18743 12495 12496 Makes DOMImplementation per-document. 12497 12498 Test: http/tests/security/cross-frame-access-DOMImplementation.html 12499 12500 * bindings/objc/DOMImplementationFront.cpp: 12501 (WebCore::DOMImplementationFront::getInterface): 12502 * bindings/objc/DOMImplementationFront.h: 12503 * dom/DOMImplementation.cpp: 12504 (WebCore::DOMImplementation::hasFeature): 12505 (WebCore::DOMImplementation::createDocumentType): 12506 (WebCore::DOMImplementation::getInterface): 12507 (WebCore::DOMImplementation::createDocument): 12508 (WebCore::DOMImplementation::createHTMLDocument): 12509 * dom/DOMImplementation.h: 12510 (WebCore::DOMImplementation::create): 12511 * dom/Document.cpp: 12512 (WebCore::Document::Document): 12513 (WebCore::Document::implementation): 12514 * dom/Document.h: 12515 (WebCore::Document::create): 12516 (WebCore::Document::createXHTML): 12517 * dom/DocumentType.cpp: 12518 * dom/DocumentType.h: 12519 (WebCore::DocumentType::create): 12520 (WebCore::DocumentType::entities): 12521 (WebCore::DocumentType::notations): 12522 (WebCore::DocumentType::name): 12523 (WebCore::DocumentType::publicId): 12524 (WebCore::DocumentType::systemId): 12525 (WebCore::DocumentType::internalSubset): 12526 * dom/Node.cpp: 12527 (WebCore::Node::isSupported): 12528 * dom/XMLTokenizer.cpp: 12529 (WebCore::XMLTokenizer::internalSubset): 12530 * html/HTMLDocument.cpp: 12531 (WebCore::HTMLDocument::HTMLDocument): 12532 * html/HTMLDocument.h: 12533 (WebCore::HTMLDocument::create): 12534 (WebCore::HTMLDocument::isHTMLDocument): 12535 * html/HTMLParser.cpp: 12536 (WebCore::HTMLParser::parseDoctypeToken): 12537 * html/HTMLViewSourceDocument.cpp: 12538 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): 12539 (WebCore::HTMLViewSourceDocument::createTokenizer): 12540 * html/HTMLViewSourceDocument.h: 12541 (WebCore::HTMLViewSourceDocument::create): 12542 * loader/CachedFont.cpp: 12543 (WebCore::CachedFont::ensureSVGFontData): 12544 * loader/FTPDirectoryDocument.cpp: 12545 (WebCore::FTPDirectoryDocument::FTPDirectoryDocument): 12546 * loader/FTPDirectoryDocument.h: 12547 (WebCore::FTPDirectoryDocument::create): 12548 * loader/FrameLoader.cpp: 12549 (WebCore::FrameLoader::begin): 12550 * loader/ImageDocument.cpp: 12551 (WebCore::ImageDocument::ImageDocument): 12552 * loader/ImageDocument.h: 12553 (WebCore::ImageDocument::create): 12554 (WebCore::ImageDocument::isImageDocument): 12555 * loader/PluginDocument.cpp: 12556 (WebCore::PluginDocument::PluginDocument): 12557 * loader/PluginDocument.h: 12558 (WebCore::PluginDocument::create): 12559 (WebCore::PluginDocument::isPluginDocument): 12560 * loader/TextDocument.cpp: 12561 (WebCore::TextTokenizer::checkBuffer): 12562 (WebCore::TextDocument::TextDocument): 12563 (WebCore::createTextTokenizer): 12564 * loader/TextDocument.h: 12565 (WebCore::TextDocument::create): 12566 * svg/SVGDocument.cpp: 12567 (WebCore::SVGDocument::SVGDocument): 12568 * svg/SVGDocument.h: 12569 (WebCore::SVGDocument::create): 12570 * svg/SVGElement.cpp: 12571 (WebCore::SVGElement::isSupported): 12572 * svg/SVGTests.cpp: 12573 (WebCore::SVGTests::isValid): 12574 * xml/DOMParser.cpp: 12575 (WebCore::DOMParser::parseFromString): 12576 12577 2008-06-15 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 12578 12579 Reviewed by Maciej. 12580 12581 Mac build fix. 12582 12583 * WebCore.base.exp: 12584 * WebCore.order: 12585 12586 2008-06-14 Darin Adler <darin (a] apple.com> 12587 12588 Rubber stamped by Sam. 12589 12590 - new names for kjs_binding.h and kjs_proxy.h 12591 12592 * GNUmakefile.am: 12593 * WebCore.pro: 12594 * WebCore.vcproj/WebCore.vcproj: 12595 * WebCore.xcodeproj/project.pbxproj: 12596 * WebCoreSources.bkl: 12597 * bindings/js/JSAudioConstructor.h: 12598 * bindings/js/JSCustomSQLStatementCallback.cpp: 12599 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 12600 * bindings/js/JSCustomSQLTransactionCallback.cpp: 12601 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 12602 * bindings/js/JSCustomVoidCallback.cpp: 12603 * bindings/js/JSCustomXPathNSResolver.cpp: 12604 * bindings/js/JSDOMBinding.cpp: Copied from WebCore/bindings/js/kjs_binding.cpp. 12605 * bindings/js/JSDOMBinding.h: Copied from WebCore/bindings/js/kjs_binding.h. 12606 * bindings/js/JSDOMWindowBase.cpp: 12607 * bindings/js/JSDOMWindowBase.h: 12608 * bindings/js/JSDOMWindowCustom.cpp: 12609 * bindings/js/JSDOMWindowShell.cpp: 12610 * bindings/js/JSDOMWindowShell.h: 12611 * bindings/js/JSDocumentCustom.cpp: 12612 * bindings/js/JSHTMLCollectionCustom.cpp: 12613 * bindings/js/JSHTMLFrameElementCustom.cpp: 12614 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 12615 * bindings/js/JSHTMLIFrameElementCustom.cpp: 12616 * bindings/js/JSHTMLInputElementBase.h: 12617 * bindings/js/JSHTMLOptionElementConstructor.h: 12618 * bindings/js/JSImageConstructor.h: 12619 * bindings/js/JSLocationCustom.cpp: 12620 * bindings/js/JSNamedNodeMapCustom.cpp: 12621 * bindings/js/JSNamedNodesCollection.h: 12622 * bindings/js/JSNodeFilterCondition.cpp: 12623 * bindings/js/JSNodeFilterCustom.cpp: 12624 * bindings/js/JSRGBColor.h: 12625 * bindings/js/JSSVGPathSegCustom.cpp: 12626 * bindings/js/JSXMLHttpRequestConstructor.h: 12627 * bindings/js/JSXSLTProcessorConstructor.h: 12628 * bindings/js/JSXSLTProcessorCustom.cpp: 12629 * bindings/js/ScheduledAction.cpp: 12630 (WebCore::ScheduledAction::execute): 12631 * bindings/js/ScriptController.cpp: Copied from WebCore/bindings/js/kjs_proxy.cpp. 12632 * bindings/js/ScriptController.h: Copied from WebCore/bindings/js/kjs_proxy.h. 12633 * bindings/js/kjs_binding.cpp: Removed. 12634 * bindings/js/kjs_binding.h: Removed. 12635 * bindings/js/kjs_events.cpp: 12636 (WebCore::JSAbstractEventListener::handleEvent): 12637 * bindings/js/kjs_html.cpp: 12638 * bindings/js/kjs_html.h: 12639 * bindings/js/kjs_proxy.cpp: Removed. 12640 * bindings/js/kjs_proxy.h: Removed. 12641 * bindings/objc/DOMInternal.mm: 12642 * bindings/scripts/CodeGeneratorJS.pm: 12643 * bridge/jni/jni_jsobject.mm: 12644 * dom/Document.cpp: 12645 * dom/EventTarget.cpp: 12646 * dom/Node.cpp: 12647 * dom/XMLTokenizer.cpp: 12648 (WebCore::XMLTokenizer::startElementNs): 12649 * history/CachedPage.cpp: 12650 (WebCore::CachedPage::CachedPage): 12651 (WebCore::CachedPage::restore): 12652 * html/HTMLPlugInElement.cpp: 12653 * html/HTMLScriptElement.cpp: 12654 * html/HTMLTokenizer.cpp: 12655 (WebCore::HTMLTokenizer::processToken): 12656 * loader/FrameLoader.cpp: 12657 (WebCore::FrameLoader::executeScript): 12658 * page/Frame.cpp: 12659 (WebCore::Frame::scriptProxy): 12660 * page/Frame.h: 12661 * page/FramePrivate.h: 12662 * page/InspectorController.cpp: 12663 * page/JavaScriptDebugServer.cpp: 12664 * page/JavaScriptProfileNode.cpp: 12665 * page/Page.cpp: 12666 * page/gtk/FrameGtk.cpp: 12667 * page/mac/FrameMac.mm: 12668 * page/qt/FrameQt.cpp: 12669 * page/win/FrameWin.cpp: 12670 * plugins/PluginView.cpp: 12671 (WebCore::getString): 12672 * plugins/gtk/PluginViewGtk.cpp: 12673 * plugins/qt/PluginViewQt.cpp: 12674 * plugins/win/PluginViewWin.cpp: 12675 * svg/SVGDocumentExtensions.cpp: 12676 * xml/XMLHttpRequest.cpp: 12677 12678 2008-06-14 Darin Adler <darin (a] apple.com> 12679 12680 Rubber stamped by Sam. 12681 12682 - renamed HTMLGenericFormElement to HTMLFormControlElement 12683 12684 * GNUmakefile.am: 12685 * WebCore.pro: 12686 * WebCore.vcproj/WebCore.vcproj: 12687 * WebCore.xcodeproj/project.pbxproj: 12688 * WebCoreSources.bkl: 12689 * html/HTMLButtonElement.cpp: 12690 (WebCore::HTMLButtonElement::HTMLButtonElement): 12691 (WebCore::HTMLButtonElement::parseMappedAttribute): 12692 (WebCore::HTMLButtonElement::defaultEventHandler): 12693 * html/HTMLButtonElement.h: 12694 * html/HTMLFieldSetElement.cpp: 12695 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement): 12696 * html/HTMLFieldSetElement.h: 12697 * html/HTMLFormCollection.cpp: 12698 (WebCore::HTMLFormCollection::item): 12699 (WebCore::HTMLFormCollection::getNamedFormItem): 12700 (WebCore::HTMLFormCollection::updateNameCache): 12701 * html/HTMLFormControlElement.cpp: Copied from WebCore/html/HTMLGenericFormElement.cpp. 12702 * html/HTMLFormControlElement.h: Copied from WebCore/html/HTMLGenericFormElement.h. 12703 * html/HTMLFormElement.cpp: 12704 (WebCore::HTMLFormElement::formData): 12705 (WebCore::HTMLFormElement::submit): 12706 (WebCore::HTMLFormElement::formElementIndex): 12707 (WebCore::HTMLFormElement::registerFormElement): 12708 (WebCore::HTMLFormElement::removeFormElement): 12709 (WebCore::HTMLFormElement::elementForAlias): 12710 (WebCore::HTMLFormElement::addElementAlias): 12711 (WebCore::HTMLFormElement::getNamedElements): 12712 (WebCore::HTMLFormElement::CheckedRadioButtons::addButton): 12713 (WebCore::HTMLFormElement::CheckedRadioButtons::removeButton): 12714 * html/HTMLFormElement.h: 12715 * html/HTMLGenericFormElement.cpp: Removed. 12716 * html/HTMLGenericFormElement.h: Removed. 12717 * html/HTMLInputElement.h: 12718 * html/HTMLIsIndexElement.cpp: 12719 (WebCore::HTMLIsIndexElement::parseMappedAttribute): 12720 * html/HTMLKeygenElement.cpp: 12721 (WebCore::HTMLKeygenElement::parseMappedAttribute): 12722 * html/HTMLLegendElement.cpp: 12723 (WebCore::HTMLLegendElement::HTMLLegendElement): 12724 * html/HTMLLegendElement.h: 12725 * html/HTMLOptGroupElement.cpp: 12726 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): 12727 (WebCore::HTMLOptGroupElement::insertBefore): 12728 (WebCore::HTMLOptGroupElement::replaceChild): 12729 (WebCore::HTMLOptGroupElement::removeChild): 12730 (WebCore::HTMLOptGroupElement::appendChild): 12731 (WebCore::HTMLOptGroupElement::removeChildren): 12732 (WebCore::HTMLOptGroupElement::childrenChanged): 12733 (WebCore::HTMLOptGroupElement::parseMappedAttribute): 12734 (WebCore::HTMLOptGroupElement::attach): 12735 (WebCore::HTMLOptGroupElement::detach): 12736 * html/HTMLOptGroupElement.h: 12737 * html/HTMLOptionElement.cpp: 12738 (WebCore::HTMLOptionElement::HTMLOptionElement): 12739 (WebCore::HTMLOptionElement::attach): 12740 (WebCore::HTMLOptionElement::detach): 12741 (WebCore::HTMLOptionElement::parseMappedAttribute): 12742 (WebCore::HTMLOptionElement::childrenChanged): 12743 (WebCore::HTMLOptionElement::disabled): 12744 (WebCore::HTMLOptionElement::insertedIntoDocument): 12745 * html/HTMLOptionElement.h: 12746 * html/HTMLSelectElement.h: 12747 * html/HTMLTextAreaElement.h: 12748 * page/Frame.cpp: 12749 (WebCore::scanForForm): 12750 (WebCore::Frame::currentForm): 12751 * page/mac/FrameMac.mm: 12752 * rendering/RenderFieldset.cpp: 12753 (WebCore::RenderFieldset::RenderFieldset): 12754 * rendering/RenderFieldset.h: 12755 * rendering/RenderLegend.cpp: 12756 (WebCore::RenderLegend::RenderLegend): 12757 * rendering/RenderLegend.h: 12758 * rendering/RenderTextControl.cpp: 12759 (WebCore::RenderTextControl::createInnerTextStyle): 12760 (WebCore::RenderTextControl::updateFromElement): 12761 (WebCore::RenderTextControl::subtreeHasChanged): 12762 (WebCore::RenderTextControl::selectionChanged): 12763 12764 2008-06-14 Sam Weinig <sam (a] webkit.org> 12765 12766 Windows build fix. 12767 12768 * bindings/scripts/CodeGeneratorCOM.pm: 12769 12770 2008-06-14 Darin Adler <darin (a] apple.com> 12771 12772 - more build fixing 12773 12774 * platform/gtk/DragDataGtk.cpp: Added missing header. 12775 * platform/wx/DragDataWx.cpp: Ditto. 12776 12777 2008-06-14 Darin Adler <darin (a] apple.com> 12778 12779 Reviewed by Sam. 12780 12781 - fix https://bugs.webkit.org/show_bug.cgi?id=19544 12782 DashboardRegion pieces are leaking 12783 12784 My recent change introduced a leak of objects owned by each DashboardRegion, 12785 because I made ~Rect non-virtual. By using a separate RefCounted class for 12786 each of Rect and DashboardRegion, the leak is gone. It's not clear if the 12787 DashboardRegion class should really exist -- it doesn't have a DOM binding, 12788 so it could conceivably be removed some day. 12789 12790 * css/DashboardRegion.h: Derive from RectBase instead of from Rect. 12791 * css/Rect.h: Added RectBase. Changed Rect to derive from RectBase. 12792 12793 2008-06-14 Darin Adler <darin (a] apple.com> 12794 12795 Reviewed by Sam. 12796 12797 - https://bugs.webkit.org/show_bug.cgi?id=19545 12798 use PassRefPtr, not RefPtr, for return values 12799 12800 * css/CSSParser.cpp: 12801 (WebCore::CSSParser::parseGradient): Call release() when assigning result to avoid 12802 a little bit of refcount churn. 12803 12804 * css/CSSStyleSelector.cpp: 12805 (WebCore::CSSStyleSelector::styleRulesForElement): Changed return value to PassRefPtr. 12806 (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Ditto. 12807 * css/CSSStyleSelector.h: Ditto. 12808 12809 * svg/SVGElementInstanceList.cpp: 12810 (WebCore::SVGElementInstanceList::length): Tweaked formatting. 12811 (WebCore::SVGElementInstanceList::item): Changed return value to raw pointer. 12812 * svg/SVGElementInstanceList.h: Ditto. 12813 12814 * xml/XSLTProcessor.cpp: 12815 (WebCore::XSLTProcessor::createDocumentFromSource): Changed return value to PassRefPtr. 12816 (WebCore::XSLTProcessor::transformToDocument): Ditto. 12817 (WebCore::XSLTProcessor::transformToFragment): Ditto. 12818 * xml/XSLTProcessor.h: Ditto. 12819 12820 2008-06-14 Darin Adler <darin (a] apple.com> 12821 12822 - try to fix the gtk build 12823 12824 * platform/gtk/DragDataGtk.cpp: 12825 (WebCore::DragData::createClipboard): Changed return type to PassRefPtr. 12826 12827 2008-06-14 Darin Adler <darin (a] apple.com> 12828 12829 - another try at fixing the wx build 12830 12831 * platform/wx/DragDataWx.cpp: 12832 (WebCore::DragData::createClipboard): Changed return type to PassRefPtr. 12833 12834 2008-06-14 Darin Adler <darin (a] apple.com> 12835 12836 - try to fix Windows build 12837 12838 * svg/graphics/SVGImageEmptyClients.h: Added missing include. 12839 12840 2008-06-14 Darin Adler <darin (a] apple.com> 12841 12842 - fix wx build 12843 12844 * platform/wx/TemporaryLinkStubs.cpp: Removed unneeded Icon constructor. 12845 12846 2008-06-14 Darin Adler <darin (a] apple.com> 12847 12848 Reviewed by Sam. 12849 12850 - more work on https://bugs.webkit.org/show_bug.cgi?id=17257 12851 start ref counts at 1 instead of 0 for speed 12852 12853 * WebCore.base.exp: Added some new exports needed for functions that are now 12854 non-virtual. 12855 12856 * WebCore.xcodeproj/project.pbxproj: Moved the "icon" group to the correct 12857 location in the project. Before it was inside "appcache"! 12858 12859 * css/CSSStyleSelector.cpp: 12860 (WebCore::CSSStyleSelector::applyProperty): 12861 * dom/Clipboard.cpp: 12862 (WebCore::Clipboard::Clipboard): 12863 * editing/mac/EditorMac.mm: 12864 (WebCore::Editor::newGeneralClipboard): 12865 * editing/qt/EditorQt.cpp: 12866 (WebCore::Editor::newGeneralClipboard): 12867 * editing/wx/EditorWx.cpp: 12868 (WebCore::Editor::newGeneralClipboard): 12869 * loader/DocumentLoader.cpp: 12870 (WebCore::DocumentLoader::DocumentLoader): 12871 * loader/DocumentLoader.h: 12872 (WebCore::DocumentLoader::create): 12873 * loader/icon/IconDatabase.cpp: 12874 (WebCore::IconDatabase::defaultIcon): 12875 (WebCore::IconDatabase::setIconDataForIconURL): 12876 (WebCore::IconDatabase::setIconURLForPageURL): 12877 (WebCore::IconDatabase::getOrCreateIconRecord): 12878 (WebCore::IconDatabase::performURLImport): 12879 * loader/icon/IconDatabase.h: 12880 * loader/icon/IconRecord.cpp: 12881 (WebCore::IconRecord::IconRecord): 12882 * loader/icon/IconRecord.h: 12883 (WebCore::IconRecord::create): 12884 * page/EventHandler.h: 12885 * page/Frame.cpp: 12886 (WebCore::Frame::Frame): 12887 * page/Frame.h: 12888 (WebCore::Frame::create): 12889 * page/gtk/EventHandlerGtk.cpp: 12890 (WebCore::EventHandler::createDraggingClipboard): 12891 * page/mac/EventHandlerMac.mm: 12892 (WebCore::EventHandler::createDraggingClipboard): 12893 * page/qt/EventHandlerQt.cpp: 12894 (WebCore::EventHandler::createDraggingClipboard): 12895 * page/win/EventHandlerWin.cpp: 12896 (WebCore::EventHandler::createDraggingClipboard): 12897 * page/wx/EventHandlerWx.cpp: 12898 (WebCore::EventHandler::createDraggingClipboard): 12899 * platform/Cursor.h: 12900 (WebCore::SharedCursor::create): 12901 (WebCore::SharedCursor::~SharedCursor): 12902 (WebCore::SharedCursor::SharedCursor): 12903 * platform/DragData.h: 12904 * platform/PopupMenu.h: 12905 (WebCore::PopupMenu::create): 12906 (WebCore::PopupMenu::isActive): 12907 * platform/ScrollBar.cpp: 12908 (WebCore::Scrollbar::Scrollbar): 12909 * platform/SearchPopupMenu.h: 12910 (WebCore::SearchPopupMenu::create): 12911 * platform/graphics/FontFamily.cpp: 12912 (WebCore::FontFamily::FontFamily): 12913 (WebCore::operator==): 12914 * platform/graphics/FontFamily.h: 12915 (WebCore::FontFamily::FontFamily): 12916 (WebCore::SharedFontFamily::create): 12917 (WebCore::SharedFontFamily::SharedFontFamily): 12918 (WebCore::operator!=): 12919 (WebCore::FontFamily::next): 12920 (WebCore::FontFamily::appendFamily): 12921 (WebCore::FontFamily::releaseNext): 12922 * platform/graphics/Icon.h: 12923 * platform/graphics/gtk/IconGtk.cpp: 12924 (WebCore::Icon::Icon): 12925 (WebCore::Icon::~Icon): 12926 (WebCore::Icon::newIconForFile): 12927 * platform/graphics/mac/IconMac.mm: 12928 (WebCore::Icon::Icon): 12929 (WebCore::Icon::newIconForFile): 12930 * platform/graphics/qt/IconQt.cpp: 12931 (WebCore::Icon::Icon): 12932 (WebCore::Icon::newIconForFile): 12933 * platform/graphics/win/IconWin.cpp: 12934 (WebCore::Icon::Icon): 12935 (WebCore::Icon::~Icon): 12936 (WebCore::Icon::newIconForFile): 12937 * platform/gtk/ClipboardGtk.cpp: 12938 (WebCore::Editor::newGeneralClipboard): 12939 * platform/gtk/ClipboardGtk.h: 12940 (WebCore::ClipboardGtk::create): 12941 * platform/gtk/PlatformScrollBar.h: 12942 (WebCore::PlatformScrollbar::create): 12943 * platform/gtk/PopupMenuGtk.cpp: 12944 (WebCore::PopupMenu::PopupMenu): 12945 * platform/gtk/ScrollViewGtk.cpp: 12946 (WebCore::ScrollViewScrollbar::create): 12947 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): 12948 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): 12949 * platform/mac/ClipboardMac.h: 12950 (WebCore::ClipboardMac::create): 12951 * platform/mac/DragDataMac.mm: 12952 (WebCore::DragData::createClipboard): 12953 (WebCore::DragData::containsCompatibleContent): 12954 * platform/mac/PlatformScrollBar.h: 12955 (WebCore::PlatformScrollbar::create): 12956 (WebCore::PlatformScrollbar::horizontalScrollbarHeight): 12957 (WebCore::PlatformScrollbar::verticalScrollbarWidth): 12958 * platform/mac/PopupMenuMac.mm: 12959 (WebCore::PopupMenu::PopupMenu): 12960 * platform/qt/ClipboardQt.h: 12961 (WebCore::ClipboardQt::create): 12962 * platform/qt/DragDataQt.cpp: 12963 (WebCore::DragData::createClipboard): 12964 * platform/qt/PlatformScrollBar.h: 12965 (WebCore::PlatformScrollbar::create): 12966 * platform/qt/PopupMenuQt.cpp: 12967 (WebCore::PopupMenu::PopupMenu): 12968 * platform/qt/ScrollViewQt.cpp: 12969 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): 12970 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): 12971 * platform/win/ClipboardWin.h: 12972 (WebCore::ClipboardWin::create): 12973 * platform/win/CursorWin.cpp: 12974 (WebCore::Cursor::Cursor): 12975 (WebCore::loadSharedCursor): 12976 * platform/win/DragDataWin.cpp: 12977 (WebCore::DragData::createClipboard): 12978 * platform/win/EditorWin.cpp: 12979 (WebCore::Editor::newGeneralClipboard): 12980 * platform/win/PlatformScrollBar.h: 12981 (WebCore::PlatformScrollbar::create): 12982 * platform/win/PopupMenuWin.cpp: 12983 (WebCore::PopupMenu::PopupMenu): 12984 (WebCore::PopupMenu::show): 12985 * platform/win/ScrollViewWin.cpp: 12986 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): 12987 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): 12988 * platform/wx/ClipboardWx.h: 12989 (WebCore::ClipboardWx::create): 12990 * platform/wx/PlatformScrollBar.h: 12991 (WebCore::PlatformScrollbar::create): 12992 * platform/wx/PopupMenuWx.cpp: 12993 (WebCore::PopupMenu::PopupMenu): 12994 * platform/wx/TemporaryLinkStubs.cpp: 12995 (Icon::Icon): 12996 (Icon::newIconForFile): 12997 * rendering/RenderLayer.cpp: 12998 (WebCore::RenderLayer::createScrollbar): 12999 * rendering/RenderListBox.cpp: 13000 (WebCore::RenderListBox::updateFromElement): 13001 * svg/graphics/SVGImage.cpp: 13002 (WebCore::SVGImage::dataChanged): 13003 * svg/graphics/SVGImageEmptyClients.h: 13004 (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader): 13005 13006 2008-06-14 Sam Weinig <sam (a] webkit.org> 13007 13008 Reviewed by Dan Bernstein. 13009 13010 Fix for <rdar://problem/5775192> 13011 insertAdjacentHTML and insertAdjacentText are not implemented although insertAdjacentElement is. 13012 13013 - Implements insertAdjacentHTML and insertAdjacentText for HTMLElement. 13014 - Moves the insertAdjacentElement implementation from Element to HTMLElement. 13015 13016 Tests: fast/dynamic/insertAdjacentHTML.html 13017 fast/dynamic/insertAdjacentText.html 13018 13019 * dom/Element.cpp: 13020 * dom/Element.h: 13021 * dom/Element.idl: 13022 * html/HTMLElement.cpp: 13023 (WebCore::HTMLElement::insertAdjacent): 13024 (WebCore::HTMLElement::insertAdjacentElement): 13025 (WebCore::HTMLElement::insertAdjacentHTML): 13026 (WebCore::HTMLElement::insertAdjacentText): 13027 * html/HTMLElement.h: 13028 * html/HTMLElement.idl: 13029 13030 2008-06-14 Darin Adler <darin (a] apple.com> 13031 13032 Reviewed by Maciej. 13033 13034 - fix https://bugs.webkit.org/show_bug.cgi?id=19538 13035 <rdar://problem/5957595> Reading transition property from the style JS gives the wrong value 13036 13037 Test: fast/dom/CSSStyleDeclaration/transition-property-names.html 13038 13039 * css/CSSPrimitiveValue.cpp: 13040 (WebCore::valueOrPropertyName): Added. 13041 (WebCore::CSSPrimitiveValue::getStringValue): Use valueOrPropertyName since the ident can either 13042 be a value or property ID. 13043 (WebCore::CSSPrimitiveValue::cssText): Ditto. 13044 13045 * css/makeprop.pl: Assign property IDs starting at 1001 instead of 1 so they can be stored along 13046 with value IDs with no ambiguity. 13047 13048 2008-06-14 Adam Barth <abarth (a] webkit.org> 13049 13050 Reviewed by David Kilzer. 13051 13052 Fix typo. 13053 13054 * dom/XMLTokenizer.cpp: 13055 (WebCore::shouldAllowExternalLoad): 13056 13057 2008-06-14 Darin Adler <darin (a] apple.com> 13058 13059 - fix build 13060 13061 * plugins/PluginStream.h: Move functions back into public section. 13062 13063 2008-06-14 Darin Adler <darin (a] apple.com> 13064 13065 Reviewed by Sam. 13066 13067 - more work on https://bugs.webkit.org/show_bug.cgi?id=17257 13068 start ref counts at 1 instead of 0 for speed 13069 13070 * WebCore.base.exp: 13071 * bindings/js/JSSVGMatrixCustom.cpp: 13072 (WebCore::JSSVGMatrix::multiply): 13073 (WebCore::JSSVGMatrix::inverse): 13074 (WebCore::JSSVGMatrix::translate): 13075 (WebCore::JSSVGMatrix::scale): 13076 (WebCore::JSSVGMatrix::scaleNonUniform): 13077 (WebCore::JSSVGMatrix::rotate): 13078 (WebCore::JSSVGMatrix::rotateFromVector): 13079 (WebCore::JSSVGMatrix::flipX): 13080 (WebCore::JSSVGMatrix::flipY): 13081 (WebCore::JSSVGMatrix::skewX): 13082 (WebCore::JSSVGMatrix::skewY): 13083 * bindings/js/JSSVGPODTypeWrapper.h: 13084 (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::create): 13085 (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::JSSVGPODTypeWrapperCreatorReadWrite): 13086 (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::create): 13087 (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::JSSVGPODTypeWrapperCreatorReadOnly): 13088 (WebCore::JSSVGPODTypeWrapperCreatorForList::create): 13089 (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList): 13090 (WebCore::JSSVGPODTypeWrapperCache::lookupOrCreateWrapper): 13091 (WebCore::JSSVGPODTypeWrapperCache::forgetWrapper): 13092 * bindings/js/JSSVGPointListCustom.cpp: 13093 (WebCore::finishGetter): 13094 (WebCore::finishSetter): 13095 (WebCore::finishSetterReadOnlyResult): 13096 (WebCore::JSSVGPointList::clear): 13097 (WebCore::JSSVGPointList::initialize): 13098 (WebCore::JSSVGPointList::getItem): 13099 (WebCore::JSSVGPointList::insertItemBefore): 13100 (WebCore::JSSVGPointList::replaceItem): 13101 (WebCore::JSSVGPointList::removeItem): 13102 (WebCore::JSSVGPointList::appendItem): 13103 * bindings/js/JSSVGTransformListCustom.cpp: 13104 (WebCore::finishGetter): 13105 (WebCore::finishSetter): 13106 (WebCore::finishSetterReadOnlyResult): 13107 (WebCore::JSSVGTransformList::clear): 13108 (WebCore::JSSVGTransformList::initialize): 13109 (WebCore::JSSVGTransformList::getItem): 13110 (WebCore::JSSVGTransformList::insertItemBefore): 13111 (WebCore::JSSVGTransformList::replaceItem): 13112 (WebCore::JSSVGTransformList::removeItem): 13113 (WebCore::JSSVGTransformList::appendItem): 13114 * bindings/scripts/CodeGeneratorJS.pm: 13115 * css/CSSFontSelector.cpp: 13116 (WebCore::CSSFontSelector::CSSFontSelector): 13117 (WebCore::CSSFontSelector::~CSSFontSelector): 13118 * css/CSSFontSelector.h: 13119 (WebCore::CSSFontSelector::create): 13120 * css/CSSStyleSelector.cpp: 13121 (WebCore::CSSStyleSelector::CSSStyleSelector): 13122 (WebCore::CSSStyleSelector::applyProperty): 13123 * dom/Attribute.cpp: 13124 (WebCore::Attribute::clone): 13125 * dom/Attribute.h: 13126 (WebCore::Attribute::create): 13127 (WebCore::Attribute::Attribute): 13128 * dom/BeforeTextInsertedEvent.h: 13129 (WebCore::BeforeTextInsertedEvent::create): 13130 * dom/BeforeUnloadEvent.h: 13131 (WebCore::BeforeUnloadEvent::create): 13132 * dom/CharacterData.cpp: 13133 (WebCore::CharacterData::dispatchModifiedEvent): 13134 * dom/ClipboardEvent.cpp: 13135 (WebCore::ClipboardEvent::ClipboardEvent): 13136 * dom/ClipboardEvent.h: 13137 (WebCore::ClipboardEvent::create): 13138 * dom/ContainerNode.cpp: 13139 (WebCore::ContainerNode::removeChild): 13140 (WebCore::dispatchChildInsertionEvents): 13141 (WebCore::dispatchChildRemovalEvents): 13142 * dom/Document.cpp: 13143 (WebCore::Document::createTextNode): 13144 (WebCore::Document::createComment): 13145 (WebCore::Document::createCDATASection): 13146 (WebCore::Document::createProcessingInstruction): 13147 (WebCore::Document::createEntityReference): 13148 (WebCore::Document::createEditingTextNode): 13149 (WebCore::Document::createEvent): 13150 (WebCore::Document::createAttributeNS): 13151 (WebCore::Document::finishedParsing): 13152 * dom/Document.h: 13153 * dom/Element.cpp: 13154 (WebCore::Element::createAttribute): 13155 * dom/Element.h: 13156 * dom/Event.cpp: 13157 (WebCore::Event::Event): 13158 * dom/Event.h: 13159 (WebCore::Event::create): 13160 * dom/EventTargetNode.cpp: 13161 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): 13162 (WebCore::EventTargetNode::dispatchWindowEvent): 13163 (WebCore::EventTargetNode::dispatchUIEvent): 13164 (WebCore::EventTargetNode::dispatchKeyEvent): 13165 (WebCore::EventTargetNode::dispatchMouseEvent): 13166 (WebCore::EventTargetNode::dispatchWheelEvent): 13167 (WebCore::EventTargetNode::dispatchHTMLEvent): 13168 (WebCore::EventTargetNode::dispatchProgressEvent): 13169 (WebCore::EventTargetNode::dispatchStorageEvent): 13170 * dom/KeyboardEvent.h: 13171 (WebCore::KeyboardEvent::create): 13172 * dom/MappedAttribute.cpp: 13173 (WebCore::MappedAttribute::clone): 13174 * dom/MappedAttribute.h: 13175 (WebCore::MappedAttribute::create): 13176 (WebCore::MappedAttribute::setDecl): 13177 (WebCore::MappedAttribute::MappedAttribute): 13178 * dom/MessageEvent.cpp: 13179 (WebCore::MessageEvent::MessageEvent): 13180 * dom/MessageEvent.h: 13181 (WebCore::MessageEvent::create): 13182 * dom/MouseEvent.cpp: 13183 (WebCore::MouseEvent::MouseEvent): 13184 (WebCore::MouseEvent::initMouseEvent): 13185 * dom/MouseEvent.h: 13186 (WebCore::MouseEvent::create): 13187 * dom/MouseRelatedEvent.cpp: 13188 (WebCore::MouseRelatedEvent::MouseRelatedEvent): 13189 * dom/MouseRelatedEvent.h: 13190 * dom/MutationEvent.cpp: 13191 (WebCore::MutationEvent::MutationEvent): 13192 (WebCore::MutationEvent::initMutationEvent): 13193 * dom/MutationEvent.h: 13194 (WebCore::MutationEvent::create): 13195 * dom/OverflowEvent.h: 13196 (WebCore::OverflowEvent::create): 13197 * dom/ProgressEvent.h: 13198 (WebCore::ProgressEvent::create): 13199 * dom/StyledElement.cpp: 13200 (WebCore::StyledElement::getMappedAttributeDecl): 13201 (WebCore::StyledElement::setMappedAttributeDecl): 13202 (WebCore::StyledElement::removeMappedAttributeDecl): 13203 (WebCore::StyledElement::createAttribute): 13204 * dom/StyledElement.h: 13205 * dom/TextEvent.cpp: 13206 (WebCore::TextEvent::TextEvent): 13207 (WebCore::TextEvent::initTextEvent): 13208 * dom/TextEvent.h: 13209 (WebCore::TextEvent::create): 13210 * dom/UIEvent.cpp: 13211 (WebCore::UIEvent::UIEvent): 13212 (WebCore::UIEvent::initUIEvent): 13213 * dom/UIEvent.h: 13214 (WebCore::UIEvent::create): 13215 * dom/UIEventWithKeyState.h: 13216 (WebCore::UIEventWithKeyState::ctrlKey): 13217 (WebCore::UIEventWithKeyState::shiftKey): 13218 (WebCore::UIEventWithKeyState::altKey): 13219 (WebCore::UIEventWithKeyState::metaKey): 13220 (WebCore::UIEventWithKeyState::UIEventWithKeyState): 13221 * dom/WheelEvent.cpp: 13222 (WebCore::WheelEvent::WheelEvent): 13223 (WebCore::WheelEvent::initWheelEvent): 13224 * dom/WheelEvent.h: 13225 (WebCore::WheelEvent::create): 13226 * editing/AppendNodeCommand.cpp: 13227 (WebCore::AppendNodeCommand::AppendNodeCommand): 13228 * editing/AppendNodeCommand.h: 13229 (WebCore::AppendNodeCommand::create): 13230 * editing/ApplyStyleCommand.cpp: 13231 (WebCore::ApplyStyleCommand::applyBlockStyle): 13232 * editing/ApplyStyleCommand.h: 13233 (WebCore::ApplyStyleCommand::create): 13234 * editing/BreakBlockquoteCommand.h: 13235 (WebCore::BreakBlockquoteCommand::create): 13236 * editing/CompositeEditCommand.cpp: 13237 (WebCore::CompositeEditCommand::applyStyle): 13238 (WebCore::CompositeEditCommand::applyStyledElement): 13239 (WebCore::CompositeEditCommand::removeStyledElement): 13240 (WebCore::CompositeEditCommand::insertParagraphSeparator): 13241 (WebCore::CompositeEditCommand::insertLineBreak): 13242 (WebCore::CompositeEditCommand::insertNodeBefore): 13243 (WebCore::CompositeEditCommand::appendNode): 13244 (WebCore::CompositeEditCommand::removeNode): 13245 (WebCore::CompositeEditCommand::removeNodePreservingChildren): 13246 (WebCore::CompositeEditCommand::splitTextNode): 13247 (WebCore::CompositeEditCommand::splitElement): 13248 (WebCore::CompositeEditCommand::mergeIdenticalElements): 13249 (WebCore::CompositeEditCommand::wrapContentsInDummySpan): 13250 (WebCore::CompositeEditCommand::splitTextNodeContainingElement): 13251 (WebCore::CompositeEditCommand::joinTextNodes): 13252 (WebCore::CompositeEditCommand::inputText): 13253 (WebCore::CompositeEditCommand::insertTextIntoNode): 13254 (WebCore::CompositeEditCommand::deleteTextFromNode): 13255 (WebCore::CompositeEditCommand::replaceTextInNode): 13256 (WebCore::CompositeEditCommand::deleteSelection): 13257 (WebCore::CompositeEditCommand::removeCSSProperty): 13258 (WebCore::CompositeEditCommand::removeNodeAttribute): 13259 (WebCore::CompositeEditCommand::setNodeAttribute): 13260 (WebCore::CompositeEditCommand::appendBlockPlaceholder): 13261 (WebCore::CompositeEditCommand::insertBlockPlaceholder): 13262 (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded): 13263 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): 13264 (WebCore::CompositeEditCommand::moveParagraphs): 13265 (WebCore::CompositeEditCommand::splitTreeToNode): 13266 * editing/CompositeEditCommand.h: 13267 (WebCore::CompositeEditCommand::isFirstCommand): 13268 * editing/CreateLinkCommand.h: 13269 (WebCore::CreateLinkCommand::create): 13270 * editing/DeleteButtonController.cpp: 13271 (WebCore::DeleteButtonController::deleteTarget): 13272 * editing/DeleteFromTextNodeCommand.cpp: 13273 (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): 13274 * editing/DeleteFromTextNodeCommand.h: 13275 (WebCore::DeleteFromTextNodeCommand::create): 13276 * editing/DeleteSelectionCommand.h: 13277 (WebCore::DeleteSelectionCommand::create): 13278 * editing/EditCommand.h: 13279 (WebCore::SimpleEditCommand::SimpleEditCommand): 13280 * editing/Editor.cpp: 13281 (WebCore::Editor::deleteSelectionWithSmartDelete): 13282 (WebCore::Editor::replaceSelectionWithFragment): 13283 (WebCore::Editor::removeFormattingAndStyle): 13284 (WebCore::Editor::clearLastEditCommand): 13285 (WebCore::Editor::dispatchCPPEvent): 13286 (WebCore::Editor::applyStyle): 13287 (WebCore::Editor::applyParagraphStyle): 13288 (WebCore::Editor::indent): 13289 (WebCore::Editor::outdent): 13290 (WebCore::dispatchEditableContentChangedEvents): 13291 * editing/Editor.h: 13292 * editing/EditorCommand.cpp: 13293 (WebCore::executeInsertFragment): 13294 (WebCore::executeCreateLink): 13295 (WebCore::executeFormatBlock): 13296 (WebCore::executeIndent): 13297 (WebCore::executeInsertOrderedList): 13298 (WebCore::executeInsertUnorderedList): 13299 (WebCore::executeOutdent): 13300 (WebCore::executeUnlink): 13301 * editing/FormatBlockCommand.h: 13302 (WebCore::FormatBlockCommand::create): 13303 * editing/IndentOutdentCommand.cpp: 13304 (WebCore::IndentOutdentCommand::indentRegion): 13305 (WebCore::IndentOutdentCommand::outdentParagraph): 13306 * editing/IndentOutdentCommand.h: 13307 (WebCore::IndentOutdentCommand::create): 13308 * editing/InsertIntoTextNodeCommand.cpp: 13309 (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): 13310 * editing/InsertIntoTextNodeCommand.h: 13311 (WebCore::InsertIntoTextNodeCommand::create): 13312 * editing/InsertLineBreakCommand.h: 13313 (WebCore::InsertLineBreakCommand::create): 13314 * editing/InsertListCommand.cpp: 13315 (WebCore::InsertListCommand::doApply): 13316 * editing/InsertListCommand.h: 13317 (WebCore::InsertListCommand::create): 13318 * editing/InsertNodeBeforeCommand.cpp: 13319 (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): 13320 * editing/InsertNodeBeforeCommand.h: 13321 (WebCore::InsertNodeBeforeCommand::create): 13322 * editing/InsertParagraphSeparatorCommand.cpp: 13323 (WebCore::InsertParagraphSeparatorCommand::doApply): 13324 * editing/InsertParagraphSeparatorCommand.h: 13325 (WebCore::InsertParagraphSeparatorCommand::create): 13326 * editing/InsertTextCommand.h: 13327 (WebCore::InsertTextCommand::create): 13328 * editing/JoinTextNodesCommand.cpp: 13329 (WebCore::JoinTextNodesCommand::JoinTextNodesCommand): 13330 * editing/JoinTextNodesCommand.h: 13331 (WebCore::JoinTextNodesCommand::create): 13332 * editing/MergeIdenticalElementsCommand.cpp: 13333 (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): 13334 * editing/MergeIdenticalElementsCommand.h: 13335 (WebCore::MergeIdenticalElementsCommand::create): 13336 * editing/ModifySelectionListLevel.cpp: 13337 (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType): 13338 * editing/MoveSelectionCommand.cpp: 13339 (WebCore::MoveSelectionCommand::doApply): 13340 * editing/MoveSelectionCommand.h: 13341 (WebCore::MoveSelectionCommand::create): 13342 * editing/RemoveCSSPropertyCommand.cpp: 13343 (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): 13344 * editing/RemoveCSSPropertyCommand.h: 13345 (WebCore::RemoveCSSPropertyCommand::create): 13346 * editing/RemoveFormatCommand.h: 13347 (WebCore::RemoveFormatCommand::create): 13348 * editing/RemoveNodeAttributeCommand.cpp: 13349 (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand): 13350 * editing/RemoveNodeAttributeCommand.h: 13351 (WebCore::RemoveNodeAttributeCommand::create): 13352 * editing/RemoveNodeCommand.cpp: 13353 (WebCore::RemoveNodeCommand::RemoveNodeCommand): 13354 * editing/RemoveNodeCommand.h: 13355 (WebCore::RemoveNodeCommand::create): 13356 * editing/RemoveNodePreservingChildrenCommand.cpp: 13357 (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand): 13358 (WebCore::RemoveNodePreservingChildrenCommand::doApply): 13359 * editing/RemoveNodePreservingChildrenCommand.h: 13360 (WebCore::RemoveNodePreservingChildrenCommand::create): 13361 * editing/ReplaceSelectionCommand.cpp: 13362 (WebCore::ReplacementFragment::hasInterchangeNewlineAtStart): 13363 (WebCore::ReplacementFragment::hasInterchangeNewlineAtEnd): 13364 (WebCore::ReplacementFragment::ReplacementFragment): 13365 * editing/ReplaceSelectionCommand.h: 13366 (WebCore::ReplaceSelectionCommand::create): 13367 * editing/SetNodeAttributeCommand.cpp: 13368 (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): 13369 * editing/SetNodeAttributeCommand.h: 13370 (WebCore::SetNodeAttributeCommand::create): 13371 * editing/SplitElementCommand.cpp: 13372 (WebCore::SplitElementCommand::SplitElementCommand): 13373 * editing/SplitElementCommand.h: 13374 (WebCore::SplitElementCommand::create): 13375 * editing/SplitTextNodeCommand.cpp: 13376 (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): 13377 * editing/SplitTextNodeCommand.h: 13378 (WebCore::SplitTextNodeCommand::create): 13379 * editing/SplitTextNodeContainingElementCommand.cpp: 13380 (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand): 13381 * editing/SplitTextNodeContainingElementCommand.h: 13382 (WebCore::SplitTextNodeContainingElementCommand::create): 13383 * editing/TypingCommand.cpp: 13384 (WebCore::TypingCommand::deleteSelection): 13385 (WebCore::TypingCommand::deleteKeyPressed): 13386 (WebCore::TypingCommand::forwardDeleteKeyPressed): 13387 (WebCore::TypingCommand::insertText): 13388 (WebCore::TypingCommand::insertLineBreak): 13389 (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): 13390 (WebCore::TypingCommand::insertParagraphSeparator): 13391 (WebCore::TypingCommand::insertTextRunWithoutNewlines): 13392 * editing/TypingCommand.h: 13393 (WebCore::TypingCommand::create): 13394 (WebCore::TypingCommand::smartDelete): 13395 * editing/UnlinkCommand.h: 13396 (WebCore::UnlinkCommand::create): 13397 * editing/WrapContentsInDummySpanCommand.cpp: 13398 (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand): 13399 * editing/WrapContentsInDummySpanCommand.h: 13400 (WebCore::WrapContentsInDummySpanCommand::create): 13401 * html/HTMLTableElement.cpp: 13402 (WebCore::HTMLTableElement::additionalAttributeStyleDecls): 13403 (WebCore::HTMLTableElement::addSharedCellBordersDecl): 13404 (WebCore::HTMLTableElement::addSharedCellPaddingDecl): 13405 (WebCore::HTMLTableElement::addSharedGroupDecls): 13406 * html/HTMLTokenizer.cpp: 13407 (WebCore::Token::addAttribute): 13408 * html/HTMLViewSourceDocument.cpp: 13409 (WebCore::HTMLViewSourceDocument::createContainingTable): 13410 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): 13411 (WebCore::HTMLViewSourceDocument::addLine): 13412 (WebCore::HTMLViewSourceDocument::addLink): 13413 * loader/FrameLoader.cpp: 13414 (WebCore::FrameLoader::didOpenURL): 13415 * loader/appcache/DOMApplicationCache.cpp: 13416 (WebCore::DOMApplicationCache::callListener): 13417 * page/ContextMenuController.cpp: 13418 (WebCore::ContextMenuController::contextMenuItemSelected): 13419 * page/DOMWindow.cpp: 13420 (WebCore::PostMessageTimer::PostMessageTimer): 13421 (WebCore::PostMessageTimer::fired): 13422 (WebCore::DOMWindow::postMessage): 13423 * page/DragController.cpp: 13424 (WebCore::DragController::concludeDrag): 13425 * page/EventHandler.cpp: 13426 (WebCore::EventHandler::dispatchDragEvent): 13427 (WebCore::EventHandler::keyEvent): 13428 (WebCore::EventHandler::handleTextInputEvent): 13429 * page/Frame.cpp: 13430 (WebCore::Frame::computeAndSetTypingStyle): 13431 (WebCore::Frame::shouldClose): 13432 * page/FrameView.cpp: 13433 (WebCore::FrameView::updateOverflowStatus): 13434 * page/mac/EventHandlerMac.mm: 13435 (WebCore::EventHandler::currentKeyboardEvent): 13436 * page/mac/FrameMac.mm: 13437 * platform/DeprecatedValueListImpl.cpp: 13438 (WebCore::DeprecatedValueListImpl::Private::Private): 13439 (WebCore::DeprecatedValueListImpl::DeprecatedValueListImpl): 13440 (WebCore::DeprecatedValueListImpl::copyOnWrite): 13441 * platform/graphics/FontSelector.h: 13442 * platform/graphics/GlyphPageTreeNode.cpp: 13443 (WebCore::GlyphPageTreeNode::initializePage): 13444 * platform/graphics/GlyphPageTreeNode.h: 13445 (WebCore::GlyphPage::create): 13446 (WebCore::GlyphPage::GlyphPage): 13447 * rendering/RenderLayer.cpp: 13448 (WebCore::RenderLayer::scrollToOffset): 13449 (WebCore::RenderLayer::updateOverflowStatus): 13450 (WebCore::RenderLayer::updateReflectionStyle): 13451 * rendering/style/RenderStyle.h: 13452 (WebCore::TransformOperation::~TransformOperation): 13453 (WebCore::ScaleTransformOperation::create): 13454 (WebCore::ScaleTransformOperation::ScaleTransformOperation): 13455 (WebCore::RotateTransformOperation::create): 13456 (WebCore::RotateTransformOperation::RotateTransformOperation): 13457 (WebCore::SkewTransformOperation::create): 13458 (WebCore::SkewTransformOperation::operator==): 13459 (WebCore::SkewTransformOperation::SkewTransformOperation): 13460 (WebCore::TranslateTransformOperation::create): 13461 (WebCore::TranslateTransformOperation::operator==): 13462 (WebCore::TranslateTransformOperation::TranslateTransformOperation): 13463 (WebCore::MatrixTransformOperation::create): 13464 (WebCore::MatrixTransformOperation::MatrixTransformOperation): 13465 (WebCore::StyleReflection::create): 13466 (WebCore::StyleReflection::StyleReflection): 13467 * storage/StorageEvent.cpp: 13468 (WebCore::StorageEvent::StorageEvent): 13469 (WebCore::StorageEvent::initStorageEvent): 13470 * storage/StorageEvent.h: 13471 (WebCore::StorageEvent::create): 13472 (WebCore::StorageEvent::StorageEvent): 13473 * svg/SVGAngle.cpp: 13474 (WebCore::SVGAngle::SVGAngle): 13475 * svg/SVGAngle.h: 13476 (WebCore::SVGAngle::create): 13477 * svg/SVGAnimatedTemplate.h: 13478 (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate): 13479 (WebCore::lookupOrCreateWrapper): 13480 * svg/SVGElement.cpp: 13481 (WebCore::SVGElement::sendSVGLoadEventIfPossible): 13482 * svg/SVGElement.h: 13483 * svg/SVGMarkerElement.cpp: 13484 (WebCore::SVGMarkerElement::SVGMarkerElement): 13485 (WebCore::SVGMarkerElement::parseMappedAttribute): 13486 (WebCore::SVGMarkerElement::setOrientToAngle): 13487 * svg/SVGMarkerElement.h: 13488 * svg/SVGSVGElement.cpp: 13489 (WebCore::SVGSVGElement::createSVGAngle): 13490 * svg/SVGSVGElement.h: 13491 * svg/SVGZoomEvent.h: 13492 (WebCore::SVGZoomEvent::create): 13493 * svg/graphics/SVGImage.cpp: 13494 * xml/XMLHttpRequest.cpp: 13495 (WebCore::XMLHttpRequest::callReadyStateChangeListener): 13496 (WebCore::XMLHttpRequest::dispatchProgressEvent): 13497 * xml/XMLHttpRequestProgressEvent.cpp: 13498 * xml/XMLHttpRequestProgressEvent.h: 13499 (WebCore::XMLHttpRequestProgressEvent::create): 13500 (WebCore::XMLHttpRequestProgressEvent::position): 13501 (WebCore::XMLHttpRequestProgressEvent::totalSize): 13502 (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent): 13503 13504 2008-06-13 Adam Barth <abarth (a] webkit.org> 13505 13506 Reviewed by Eric Seidel. 13507 13508 https://bugs.webkit.org/show_bug.cgi?id=19199 13509 13510 Prevent external entities from loading across origins. 13511 13512 Test: http/tests/security/xss-DENIED-xsl-external-entity.xml 13513 13514 * dom/XMLTokenizer.cpp: 13515 (WebCore::shouldAllowExternalLoad): 13516 (WebCore::openFunc): 13517 13518 2008-06-13 Adam Barth <abarth (a] webkit.org> 13519 13520 Reviewed by Darin Adler. 13521 13522 https://bugs.webkit.org/show_bug.cgi?id=19450 13523 13524 Allow loads of same-origin documents only. 13525 13526 Test: http/tests/security/xss-DENIED-xsl-document.xml 13527 13528 * xml/XSLTProcessor.cpp: 13529 (WebCore::docLoaderFunc): 13530 13531 2008-06-13 Adam Barth <abarth (a] webkit.org> 13532 13533 Reviewed by Darin Adler. 13534 13535 Fixes <https://bugs.webkit.org/show_bug.cgi?id=15100>: 13536 XMLHttpRequest::urlMatchesDocumentDomain raises error if port 13537 information does not match exactly 13538 13539 Refactor our security check for XMLHttpRequest into SecurityOrigin so 13540 we can reuse it in other places. This leverages our default port 13541 technology in SecurityOrigin. 13542 13543 I wasn't sure how to write a test for this because the LayoutTests run 13544 on non-default ports. 13545 13546 * platform/SecurityOrigin.cpp: 13547 (WebCore::SecurityOrigin::canRequest): 13548 * platform/SecurityOrigin.h: 13549 * xml/XMLHttpRequest.cpp: 13550 (WebCore::XMLHttpRequest::send): 13551 (WebCore::XMLHttpRequest::willSendRequest): 13552 * xml/XMLHttpRequest.h: 13553 13554 2008-06-13 Adam Barth <abarth (a] webkit.org> 13555 13556 Reviewed by Eric Seidel. 13557 13558 Removed unnecessary dependencies. 13559 13560 * platform/SecurityOrigin.cpp: 13561 * platform/SecurityOrigin.h: 13562 13563 2008-06-13 Darin Adler <darin (a] apple.com> 13564 13565 Reviewed by John Sullivan. 13566 13567 - added FormState argument to action policy functions 13568 13569 * loader/FrameLoader.cpp: 13570 (WebCore::FrameLoader::checkNewWindowPolicy): 13571 (WebCore::FrameLoader::checkNavigationPolicy): 13572 * loader/FrameLoaderClient.h: 13573 * svg/graphics/SVGImageEmptyClients.h: 13574 (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 13575 (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 13576 13577 2008-06-13 Justin Garcia <justin.garcia (a] apple.com> 13578 13579 Reviewed by Jess. 13580 13581 <rdar://problem/5702248> Crash on Copy Image from the contextual menu on a broken image in Mail 13582 13583 * platform/mac/PasteboardMac.mm: 13584 (WebCore::Pasteboard::writeImage): Check to see the image loaded successfully 13585 before trying to put data for it on the Pasteboard. Mail shouldn't really 13586 include the Copy Image menu item, but if it does and the user selects it, 13587 we shouldn't crash. 13588 13589 2008-06-11 Marc Ordinas i Llopis <marc.ordinasillopis (a] collabora.co.uk> 13590 With help from Siraj Razick <siraj.razick (a] collabora.co.uk> 13591 13592 Reviewed by Simon. 13593 13594 https://bugs.webkit.org/show_bug.cgi?id=19367 13595 [Qt] Plugins are drawn over the scrollbars 13596 13597 * plugins/qt/PluginViewQt.cpp: 13598 (WebCore::PluginView::updateWindow): Call setMask on the 13599 QX11EmbedContainer to set the plugin clipping. 13600 13601 2008-06-12 Darin Adler <darin (a] apple.com> 13602 13603 - try to fix no-SVG build 13604 13605 * css/CSSComputedStyleDeclaration.cpp: 13606 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added a case for 13607 CSSPropertyWebkitMask. 13608 13609 2008-06-12 Darin Adler <darin (a] apple.com> 13610 13611 - try to fix Windows build 13612 13613 * dom/Element.idl: Turn off ElementTraversal functions when generating COM. 13614 Not sure why they're failing, but turning them off for now seems OK. 13615 13616 2008-06-12 Adam Barth <abarth (a] webkit.org> 13617 13618 Rubberstamped by Maciej. 13619 13620 Roll 34504 back in. 13621 13622 Test: http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header-data-url.html 13623 13624 * platform/SecurityOrigin.cpp: 13625 (WebCore::SecurityOrigin::toString): 13626 13627 2008-06-11 Dan Bernstein <mitz (a] apple.com> 13628 13629 Reviewed by Dave Hyatt. 13630 13631 - fix <rdar://problem/5876370> Safari 3.1.1 bad rendering of pages from http://www.legifrance.gouv.fr/ 13632 13633 Tests: fast/parser/p-in-scope-strict.html 13634 fast/parser/p-in-scope.html 13635 13636 * html/HTMLParagraphElement.h: 13637 (WebCore::HTMLParagraphElement::endTagRequirement): Changed to require 13638 an end tag. The explicit closing of one P element by another is now 13639 done in error checking, and therefore takes scope into account, allowing 13640 for <p><button><p>, for example. 13641 13642 * html/HTMLParser.cpp: 13643 (WebCore::HTMLParser::HTMLParser): Initialize m_hasPElementInScope. 13644 (WebCore::isScopingTag): Added. Returns whether the given tag represents 13645 a scoping element as defined in HTML 5 section 8.2.3.2. 13646 (WebCore::HTMLParser::formCreateErrorCheck): Added a call to 13647 pCloserCreateErrorCheck(). 13648 (WebCore::HTMLParser::ddCreateErrorCheck): Ditto. 13649 (WebCore::HTMLParser::dtCreateErrorCheck): Ditto. 13650 (WebCore::HTMLParser::nestedPCloserCreateErrorCheck): Added for use with 13651 <li>, which both closes P elements in scope and any previous LI. 13652 (WebCore::HTMLParser::pCloserCreateErrorCheck): Added. If there is a P 13653 element in scope, acts as if a </p> tag was seen. 13654 (WebCore::HTMLParser::pCloserStrictCreateErrorCheck): Ditto, but only 13655 in strict mode. Used for <table>. 13656 (WebCore::HTMLParser::getNode): Added entries for tags that close a P 13657 element in scope. 13658 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added 13659 code to reset m_hasPElementInScope. 13660 (WebCore::HTMLParser::pushBlock): Added code to update 13661 m_hasPElementInScope. 13662 (WebCore::HTMLParser::popOneBlockCommon): Ditto. 13663 (WebCore::HTMLParser::checkIfHasPElementInScope): Added. Updates 13664 m_hasPElementInScope. 13665 13666 * html/HTMLParser.h: 13667 (WebCore::HTMLParser::hasPElementInScope): Added. Calls 13668 checkIfHasPElementInScope() if needed and returns whether there 13669 is a P element in scope. 13670 13671 2008-06-11 Adam Barth <abarth (a] webkit.org> 13672 13673 Reviewed by Sam Weinig. 13674 13675 https://bugs.webkit.org/show_bug.cgi?id=19460 13676 13677 Update the security context of a document after calling document.open 13678 or document.write. Basically, when a script open()s a document, the 13679 document gains the security context of the script. Our implementation 13680 now matches Firefox 3 on all these tests. 13681 13682 Tests: http/tests/security/aboutBlank/security-context-alias.html 13683 http/tests/security/aboutBlank/security-context-grandchildren-alias.html 13684 http/tests/security/aboutBlank/security-context-grandchildren.html 13685 http/tests/security/aboutBlank/security-context-window-open.html 13686 http/tests/security/aboutBlank/security-context-with-base-tag.html 13687 http/tests/security/aboutBlank/security-context-write.html 13688 http/tests/security/aboutBlank/security-context-writeln.html 13689 http/tests/security/aboutBlank/security-context.html 13690 http/tests/security/cookies/document-open.html 13691 13692 * bindings/js/JSDOMWindowBase.cpp: 13693 (WebCore::createWindow): 13694 * bindings/js/JSHTMLDocumentCustom.cpp: 13695 (WebCore::JSHTMLDocument::open): 13696 (WebCore::JSHTMLDocument::write): 13697 (WebCore::JSHTMLDocument::writeln): 13698 * dom/Document.cpp: 13699 (WebCore::Document::open): 13700 (WebCore::Document::write): 13701 (WebCore::Document::writeln): 13702 * dom/Document.h: 13703 13704 2008-06-11 Adam Barth <abarth (a] webkit.org> 13705 13706 Reviewed by Sam Weinig. 13707 13708 https://bugs.webkit.org/show_bug.cgi?id=19460 13709 13710 Compute the cookie context at the same time as the SecurityOrigin. 13711 13712 Tests: http/tests/security/cookies/create-document.html 13713 http/tests/security/cookies/xmlhttprequest.html 13714 13715 * dom/Document.cpp: 13716 (WebCore::Document::cookie): 13717 (WebCore::Document::initSecurityOrigin): 13718 * dom/Document.h: 13719 * platform/SecurityOrigin.cpp: 13720 * platform/SecurityOrigin.h: 13721 13722 2008-06-11 Adam Barth <abarth (a] webkit.org> 13723 13724 Reviewed and tweaked by Sam Weinig. 13725 13726 Fix for https://bugs.webkit.org/show_bug.cgi?id=19242 13727 Data URLs should set an Access-Control-Origin of "null" 13728 13729 Correctly generate "null" as the value of the Access-Control-Origin 13730 header for cross-site XMLHttpRequests for data URLs. 13731 13732 Test: http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header-data-url.html 13733 13734 * platform/SecurityOrigin.cpp: 13735 (WebCore::SecurityOrigin::toString): 13736 * xml/XMLHttpRequest.cpp: 13737 (WebCore::XMLHttpRequest::accessControlOrigin): 13738 (WebCore::XMLHttpRequest::crossSiteAccessRequest): 13739 (WebCore::XMLHttpRequest::handleAsynchronousMethodCheckResult): 13740 * xml/XMLHttpRequest.h: 13741 13742 2008-06-11 Sam Weinig <sam (a] webkit.org> 13743 13744 Reviewed by Adam Roben. 13745 13746 Add support for "*" wildcarding for Access-Control. 13747 13748 Test: http/tests/xmlhttprequest/access-control-basic-allow-star.html 13749 13750 * xml/AccessItem.cpp: 13751 (WebCore::AccessItem::AccessItem): 13752 (WebCore::AccessItem::parseAccessItem): 13753 (WebCore::AccessItem::matches): 13754 13755 2008-06-11 Justin Garcia <justin.garcia (a] apple.com> 13756 13757 Reviewed by Eric. 13758 13759 <https://bugs.webkit.org/show_bug.cgi?id=19455> 13760 Crash at RenderObject::childAt during JustifyCenter 13761 13762 * editing/ApplyStyleCommand.cpp: 13763 (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Added a FIXME. 13764 * editing/CompositeEditCommand.cpp: 13765 (WebCore::CompositeEditCommand::moveParagraphs): If we're removing a line 13766 break that consists of a single '\n' in a text node by itself, remove 13767 the whole text node instead of just emptying it out. 13768 * editing/Selection.cpp: 13769 (WebCore::Selection::validate): Added a FIXME about canonicalizing 13770 to positions that aren't candidates. 13771 * editing/SelectionController.cpp: 13772 (WebCore::SelectionController::nodeWillBeRemoved): When the base and/or 13773 extent are about to be removed but the start and end aren't, change the 13774 base and extent to the start and end, but don't re-validate the selection, 13775 since doing so could move the start and end into the node that is about 13776 to be removed. 13777 13778 2008-06-11 Gregory Hughes <ghughes (a] apple.com> 13779 13780 Reviewed by David Harrison. 13781 13782 <rdar://problem/5990049> AXTextMarker bytes getting messed up when getting AXTextMarkerRangeForUnorderedTextMarkersParameterizedAttribute 13783 13784 * page/mac/AccessibilityObjectWrapper.mm: 13785 (textMarkerForVisiblePosition): 13786 13787 2008-06-11 Adriaan de Groot <groot (a] kde.org> 13788 13789 Reviewed by Simon. 13790 13791 Fix compilation with Sun Studio 12 13792 13793 It seems like the compiler instantiates a different template version. I.e., 13794 instead of parseUASheet<char [nnnn]>, it's probably instantiating 13795 parseUASheet<char *>, which then passes 4 or 8 as the size value. 13796 13797 * css/CSSStyleSelector.cpp: 13798 (WebCore::loadDefaultStyle): 13799 (WebCore::CSSStyleSelector::styleForElement): 13800 13801 2008-06-11 Benjamin Meyer <bmeyer (a] trolltech.com> 13802 13803 Reviewed by Simon. 13804 13805 Fixed a crash when a slot connect to QWebPage::unsupportedContent would show a 13806 modal dialog with an event loop. 13807 13808 We have a queued connection to various signals in the QNetworkReply, for which 13809 it can happen that after releasing the QNetworkReply and disconnecting from it 13810 a slot connected to one of the signals may still be called due to a posted 13811 MetaCall event due to the queued connections. This patch removes the posted 13812 events explicitly, fixes the coding style a bit and makes sure the same happens 13813 when abort() is called. 13814 13815 * platform/network/qt/QNetworkReplyHandler.cpp: 13816 (WebCore::QNetworkReplyHandler::abort): 13817 (WebCore::QNetworkReplyHandler::release): 13818 * platform/network/qt/QNetworkReplyHandler.h: 13819 13820 2008-06-10 Kevin Ollivier <kevino (a] theolliviers.com> 13821 13822 wx build fix. Reorder include dirs so that WebCore/html/HTMLElementFactory.h 13823 appears before WebCore/DerivedSources/HTMLElementFactory.h. (See note in commit 13824 for more details. This is probably not the right fix, but this will get us building 13825 until the right fix is in place.) 13826 13827 * webcore-base.bkl: 13828 13829 2008-06-10 Eric Seidel <eric (a] webkit.org> 13830 13831 Reviewed by mjs. 13832 13833 Fix disconnected event listener crasher 13834 m_disconnectedNodesWithEventListeners not updated when nodes adopted 13835 https://bugs.webkit.org/show_bug.cgi?id=19451 13836 13837 I failed to find a way to make this crash DRT, I can crash Debug Safari consistently. 13838 13839 * dom/EventTarget.cpp: 13840 (WebCore::EventTarget::willMoveToNewOwnerDocument): 13841 (WebCore::EventTarget::didMoveToNewOwnerDocument): 13842 * dom/EventTarget.h: 13843 * dom/EventTargetNode.cpp: 13844 (WebCore::EventTargetNode::willMoveToNewOwnerDocument): 13845 (WebCore::EventTargetNode::didMoveToNewOwnerDocument): 13846 * dom/EventTargetNode.h: 13847 13848 2008-06-10 Julien Chaffraix <jchaffraix (a] webkit.org> 13849 13850 Reviewed by Eric. 13851 13852 Part of bug 19200: *.in files should embed more information 13853 https://bugs.webkit.org/show_bug.cgi?id=19200 13854 13855 Move more parameters to the XML files. 13856 13857 * dom/make_names.pl: 13858 * html/HTMLAttributeNames.in: 13859 * html/HTMLTagNames.in: 13860 * svg/svgattrs.in: 13861 * svg/svgtags.in: 13862 13863 2008-06-09 Dan Bernstein <mitz (a] apple.com> 13864 13865 Reviewed by Justin Garcia. 13866 13867 - fix https://bugs.webkit.org/show_bug.cgi?id=19443 13868 <rdar://problem/5994544> REGRESSION (r32531-r32652): Moving the insertion point past a newline inserted in a text area skips the next character 13869 13870 Tests added to editing/selection/move-left-right.html 13871 13872 * editing/VisiblePosition.cpp: 13873 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): When falling 13874 back from visual to logical movement, restart at the original position 13875 rather than an intermediate position. 13876 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Ditto. 13877 13878 2008-06-07 Brent Fulgham <bfulgham (a] gmail.com> 13879 13880 Reviewed by Maciej. 13881 13882 Windows build fix. 13883 13884 * platform/graphics/win/QTMovieWin.cpp: 13885 (initializeSupportedTypes): 13886 13887 2008-06-07 Julien Chaffraix <jchaffraix (a] webkit.org> 13888 13889 Reviewed by Darin Adler. 13890 13891 Part of bug 19200: *.in files should embed more information 13892 https://bugs.webkit.org/show_bug.cgi?id=19200 13893 13894 - Added a parameters hash that will hold the parameters we used to give in the 13895 command line. 13896 13897 - Added "tags" / "attrs" XML tag parsing to fill the parameters hash. 13898 13899 - Moved namespace, namespaceURI, namespacePrefix and cppNamespace in the *.in 13900 files. 13901 13902 * dom/make_names.pl: 13903 * html/HTMLAttributeNames.in: 13904 * html/HTMLTagNames.in: 13905 * svg/svgattrs.in: 13906 * svg/svgtags.in: 13907 * svg/xlinkattrs.in: 13908 * xml/xmlattrs.in: 13909 13910 2008-06-09 Tor Arne Vestb <tavestbo (a] trolltech.com> 13911 13912 Reviewed by Simon 13913 13914 Use the text color from QStyle when styling form elements. 13915 13916 * platform/qt/RenderThemeQt.cpp: 13917 (WebCore::RenderThemeQt::adjustButtonStyle): 13918 (WebCore::RenderThemeQt::adjustTextFieldStyle): 13919 (WebCore::RenderThemeQt::adjustMenuListStyle): 13920 (WebCore::RenderThemeQt::adjustMenuListButtonStyle): 13921 13922 2008-06-09 Tor Arne Vestb <tavestbo (a] trolltech.com> 13923 13924 Reviewed by Darin. 13925 13926 Incorporated Darin's comments to bug 18965. 13927 13928 * rendering/RenderTheme.cpp: 13929 13930 2008-06-08 Adam Barth <abarth (a] webkit.org> 13931 13932 Reviewed by Darin Adler. 13933 13934 Inherit document.URL from parent's document.URL, not document.baseURI. 13935 13936 https://bugs.webkit.org/show_bug.cgi?id=19257 13937 13938 Tests: http/tests/security/cookies/assign-document-url.html 13939 http/tests/security/cookies/base-about-blank.html 13940 http/tests/security/cookies/base-tag.html 13941 http/tests/security/cookies/basic.html 13942 13943 * dom/Document.cpp: 13944 (WebCore::Document::open): 13945 13946 2008-06-08 Kevin Ollivier <kevino (a] theolliviers.com> 13947 13948 Reviewed by Darin Adler. 13949 13950 Fix font asserts in wx port. Our computeHash function should generate the same hash 13951 for two identical fonts which are different objects, which it wasn't doing before. 13952 13953 https://bugs.webkit.org/show_bug.cgi?id=19310 13954 13955 * platform/graphics/wx/FontPlatformData.h: 13956 (WebCore::FontPlatformData::computeHash): 13957 13958 2008-06-08 Dan Bernstein <mitz (a] apple.com> 13959 13960 Reviewed by Darin Adler. 13961 13962 - fix <rdar://problem/5961977> Crash in RenderBlock::layoutColumns() 13963 13964 Test: fast/multicol/content-height-zero-crash.html 13965 13966 * rendering/RenderBlock.cpp: 13967 (WebCore::RenderBlock::layoutColumns): Changed to not keep creating 13968 overflow columns that have zero height, because they do not help with 13969 fitting content in. 13970 13971 2008-06-08 Adam Roben <aroben (a] apple.com> 13972 13973 Fix Bug 18837: Database panel fails to display tables if any value is 13974 NULL 13975 13976 <https://bugs.webkit.org/show_bug.cgi?id=18837> 13977 13978 Reviewed by Darin Adler. 13979 13980 Test: manual-tests/inspector/display-sql-null.html 13981 13982 * manual-tests/inspector/display-sql-null.html: Added. 13983 * page/inspector/DatabasesPanel.js: 13984 (WebInspector.DatabasesPanel.prototype.dataGridForResult): Convert all 13985 objects to strings before operating on them. 13986 13987 2008-06-08 Adam Roben <aroben (a] apple.com> 13988 13989 Fix Bug 19438: Transaction errors are never displayed in database 13990 query view 13991 13992 <https://bugs.webkit.org/show_bug.cgi?id=19438> 13993 13994 Reviewed by Darin Adler. 13995 13996 Test: manual-tests/inspector/display-sql-transaction-error.html 13997 13998 * manual-tests/inspector/display-sql-transaction-error.html: Added. 13999 * page/inspector/DatabaseQueryView.js: 14000 (WebInspector.DatabaseQueryView.prototype._enterKeyPressed): Use 14001 _executeSqlError as the error callback for executeSql. 14002 (WebInspector.DatabaseQueryView.prototype._queryError): Changed to 14003 only take two parameters. This matches what we'll be passed if 14004 db.transaction fails. 14005 (WebInspector.DatabaseQueryView.prototype._executeSqlError): Added. 14006 Calls through to _queryError. 14007 14008 2008-06-08 Dirk Schulze <vbs85 (a] gmx.de> 14009 14010 Reviewed by Eric Seidel. 14011 14012 https://bugs.webkit.org/show_bug.cgi?id=18840 14013 [CAIRO] Clipping-support for SVG 14014 14015 Support for clipping in SVG/Cairo and fixes transformation of paths. 14016 14017 * platform/graphics/cairo/PathCairo.cpp: 14018 (WebCore::Path::transform): 14019 * svg/graphics/cairo/SVGResourceClipperCairo.cpp: 14020 (WebCore::SVGResourceClipper::applyClip): 14021 14022 2008-06-08 Dirk Schulze <vbs85 (a] gmx.de> 14023 14024 Reviewed by Eric Seidel. 14025 14026 https://bugs.webkit.org/show_bug.cgi?id=18663 14027 Add text-stroke support to Cairo. 14028 14029 * platform/graphics/cairo/FontCairo.cpp: 14030 (WebCore::Font::drawGlyphs): 14031 14032 2008-06-08 Vincent Ricard <magic (a] magicninja.org> 14033 14034 Reviewed by Darin. 14035 14036 https://bugs.webkit.org/show_bug.cgi?id=16489 14037 WebKit does not support ElementTraversal specification 14038 14039 Tests: fast/dom/Element/element-traversal.html 14040 14041 * dom/Element.cpp: 14042 (WebCore::Element::firstElementChild): 14043 (WebCore::Element::lastElementChild): 14044 (WebCore::Element::previousElementSibling): 14045 (WebCore::Element::nextElementSibling): 14046 (WebCore::Element::childElementCount): 14047 * dom/Element.h: 14048 * dom/Element.idl: 14049 14050 2008-06-08 Bradley Meck <genisis329 (a] gmail.com> 14051 14052 Reviewed by Darin. 14053 14054 - fix https://bugs.webkit.org/show_bug.cgi?id=17051 14055 safari should treat "url()" as a valid CSS value 14056 14057 Test: fast/css/invalid-cursor-property-crash.html 14058 14059 Changed check for empty url() to be a check for null since url() is valid 14060 CSS even if it is empty. 14061 14062 * css/CSSParser.cpp: 14063 (WebCore::CSSParser::parseValue): 14064 (WebCore::CSSParser::parseFillImage): 14065 (WebCore::CSSParser::parseBorderImage): 14066 14067 2008-06-08 Vincent Ricard <magic (a] magicninja.org> 14068 14069 Reviewed by Darin. 14070 14071 Bug 18041: DOMNodeRemoved events are sent twice 14072 14073 Test: fast/dom/Node/DOMNodeRemovedEvent.html 14074 14075 * dom/ContainerNode.cpp: 14076 (WebCore::ContainerNode::removeChild): 14077 14078 2008-06-08 Tony Chang <idealisms (a] gmail.com> 14079 14080 Reviewed by Eric Seidel. 14081 14082 - fix https://bugs.webkit.org/show_bug.cgi?id=18167 14083 there should be no text-drag delay on any platform except for Mac 14084 14085 Move the drag text delay value into the platform specific files. 14086 14087 Test: editing/selection/drag-text-delay.html 14088 14089 * page/EventHandler.cpp: 14090 * page/EventHandler.h: 14091 * page/gtk/EventHandlerGtk.cpp: 14092 * page/mac/EventHandlerMac.mm: 14093 * page/qt/EventHandlerQt.cpp: 14094 * page/win/EventHandlerWin.cpp: 14095 * page/wx/EventHandlerWx.cpp: 14096 14097 2008-06-08 Rob Buis <buis (a] kde.org> 14098 14099 Reviewed by Darin. 14100 14101 - fix https://bugs.webkit.org/show_bug.cgi?id=18512 14102 getPresentationAttribute returns a shared object 14103 14104 Test: svg/custom/getPresentationAttribute-modify.svg 14105 14106 * svg/SVGStyledElement.cpp: 14107 (WebCore::SVGStyledElement::getPresentationAttribute): Unshare the mapped style 14108 declaration if it is shared before returning the presentation attribute. 14109 14110 2008-06-08 Alp Toker <alp (a] nuanti.com> 14111 14112 autotools/GTK+ build system cleanup. Don't include WebKit API in the 14113 WebCore build as it's no longer needed since r34426. 14114 14115 * GNUmakefile.am: 14116 14117 2008-06-08 Jonathan Haas <myrdred (a] gmail.com> 14118 14119 Reviewed by Eric Seidel. 14120 Tweaked by Darin while landing to make it compile. 14121 14122 - fix http://bugs.webkit.org/show_bug.cgi?id=19128 14123 SVG fonts don't work with medial Arabic characters 14124 14125 Haven't figured out a way to make an automated test for this. 14126 14127 * svg/SVGGlyphElement.h: Made arabicForm unsigned so it fits into 14128 its 3-bit field. Did the same for orientation's 2-bit field. 14129 14130 * svg/SVGFont.cpp: Did a bit of minor tweaking. 14131 (WebCore::isCompatibleArabicForm): Added a cast to avoid a warning 14132 since the type is now different. 14133 14134 2008-06-08 Eric Carlson <eric.carlson (a] apple.com> 14135 14136 Reviewed by Antti. 14137 14138 - fix https://bugs.webkit.org/show_bug.cgi?id=19299 14139 <rdar://problem/5969392> 14140 14141 Generate the media MIME type list dynamically. 14142 14143 * platform/graphics/win/QTMovieWin.cpp: 14144 (initializeSupportedTypes): 14145 14146 2008-06-08 Christian Persch <chpe (a] gnome.org> 14147 14148 Reviewed by Darin. 14149 14150 - https://bugs.webkit.org/show_bug.cgi?id=19309 14151 uninitialised variable in PluginView 14152 14153 * plugins/PluginView.cpp: 14154 (WebCore::PluginView::PluginView): Initialise the NPP's pdata member to 0. 14155 14156 2008-06-08 Darin Adler <darin (a] apple.com> 14157 14158 Reviewed by Mitz. 14159 14160 - https://bugs.webkit.org/show_bug.cgi?id=19435 14161 fix warning in PluginDebug.h 14162 14163 * plugins/PluginDebug.h: Don't compile the errorStrings array if LOG_DISABLED is set. 14164 14165 2008-06-07 Dan Bernstein <mitz (a] apple.com> 14166 14167 Reviewed by Dave Hyatt. 14168 14169 - fix https://bugs.webkit.org/show_bug.cgi?id=19431 14170 <rdar://problem/5994060> REGRESSION (r32406): tabs retain hover color after mouse out 14171 14172 Covered by fast/css/remove-shorthand.html 14173 14174 * css/CSSMutableStyleDeclaration.cpp: 14175 (WebCore::initShorthandMap): Fixed a typo which mapped the background 14176 shorthand to the mask properties. 14177 14178 2008-06-07 Brent Fulgham <bfulgham (a] gmail.com> 14179 14180 Cairo build fix for r34432 14181 14182 * html/CanvasPattern.cpp: 14183 (WebCore::CanvasPattern::CanvasPattern): 14184 14185 2008-06-07 Darin Adler <darin (a] apple.com> 14186 14187 Reviewed by Mitz. 14188 14189 - work on https://bugs.webkit.org/show_bug.cgi?id=17257 14190 start ref counts at 1 instead of 0 for speed 14191 14192 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 14193 (WebCore::toHTMLCanvasStyle): 14194 * bindings/js/JSDOMWindowBase.cpp: 14195 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): 14196 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): 14197 * bindings/js/JSNodeFilterCondition.h: 14198 (WebCore::JSNodeFilterCondition::create): 14199 * bindings/js/JSNodeFilterCustom.cpp: 14200 (WebCore::toNodeFilter): 14201 * bindings/js/JSSVGLazyEventListener.h: 14202 (WebCore::JSSVGLazyEventListener::create): 14203 * bindings/js/JSSVGMatrixCustom.cpp: 14204 (WebCore::JSSVGMatrix::multiply): 14205 (WebCore::JSSVGMatrix::inverse): 14206 (WebCore::JSSVGMatrix::translate): 14207 (WebCore::JSSVGMatrix::scale): 14208 (WebCore::JSSVGMatrix::scaleNonUniform): 14209 (WebCore::JSSVGMatrix::rotate): 14210 (WebCore::JSSVGMatrix::rotateFromVector): 14211 (WebCore::JSSVGMatrix::flipX): 14212 (WebCore::JSSVGMatrix::flipY): 14213 (WebCore::JSSVGMatrix::skewX): 14214 (WebCore::JSSVGMatrix::skewY): 14215 * bindings/js/JSSVGPODTypeWrapper.h: 14216 (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::create): 14217 (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::JSSVGPODTypeWrapperCreatorReadWrite): 14218 (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::create): 14219 (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::JSSVGPODTypeWrapperCreatorReadOnly): 14220 (WebCore::JSSVGPODTypeWrapperCreatorForList::create): 14221 (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList): 14222 (WebCore::JSSVGPODTypeWrapperCache::lookupOrCreateWrapper): 14223 (WebCore::JSSVGPODTypeWrapperCache::forgetWrapper): 14224 * bindings/js/JSSVGPointListCustom.cpp: 14225 (WebCore::commonExit): 14226 (WebCore::commonExitReadOnly): 14227 (WebCore::JSSVGPointList::initialize): 14228 (WebCore::JSSVGPointList::getItem): 14229 (WebCore::JSSVGPointList::insertItemBefore): 14230 (WebCore::JSSVGPointList::replaceItem): 14231 (WebCore::JSSVGPointList::removeItem): 14232 (WebCore::JSSVGPointList::appendItem): 14233 * bindings/js/JSSVGTransformListCustom.cpp: 14234 (WebCore::JSSVGTransformList::initialize): 14235 (WebCore::JSSVGTransformList::getItem): 14236 (WebCore::JSSVGTransformList::insertItemBefore): 14237 (WebCore::JSSVGTransformList::replaceItem): 14238 (WebCore::JSSVGTransformList::removeItem): 14239 (WebCore::JSSVGTransformList::appendItem): 14240 * bindings/js/kjs_binding.cpp: 14241 (WebCore::setDOMException): 14242 * bindings/js/kjs_events.h: 14243 (WebCore::JSUnprotectedEventListener::create): 14244 (WebCore::JSEventListener::create): 14245 (WebCore::JSLazyEventListener::create): 14246 * bindings/js/kjs_proxy.cpp: 14247 (WebCore::KJSProxy::createHTMLEventHandler): 14248 (WebCore::KJSProxy::createSVGEventHandler): 14249 * bindings/objc/DOM.mm: 14250 (WebCore::ObjCNodeFilterCondition::create): 14251 (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): 14252 (WebCore::ObjCNodeFilterCondition::acceptNode): 14253 (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): 14254 (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]): 14255 * bindings/scripts/CodeGeneratorJS.pm: 14256 * css/CSSComputedStyleDeclaration.cpp: 14257 (WebCore::valueForNinePieceImage): 14258 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 14259 * css/CSSFontFace.h: 14260 (WebCore::CSSFontFace::create): 14261 (WebCore::CSSFontFace::CSSFontFace): 14262 * css/CSSFontSelector.cpp: 14263 (WebCore::CSSFontSelector::addFontFaceRule): 14264 * css/CSSParser.cpp: 14265 (WebCore::CSSParser::parseDashboardRegions): 14266 (WebCore::CSSParser::parseCounterContent): 14267 (WebCore::CSSParser::parseShape): 14268 (WebCore::BorderImageParseContext::commitBorderImage): 14269 * css/CSSSegmentedFontFace.cpp: 14270 (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace): 14271 * css/CSSSegmentedFontFace.h: 14272 (WebCore::CSSSegmentedFontFace::create): 14273 * css/Counter.h: 14274 (WebCore::Counter::create): 14275 (WebCore::Counter::Counter): 14276 * css/DashboardRegion.h: 14277 (WebCore::DashboardRegion::create): 14278 (WebCore::DashboardRegion::DashboardRegion): 14279 * css/Rect.h: 14280 (WebCore::Rect::create): 14281 (WebCore::Rect::Rect): 14282 * dom/ChildNodeList.h: 14283 (WebCore::ChildNodeList::create): 14284 * dom/ClassNodeList.h: 14285 (WebCore::ClassNodeList::create): 14286 * dom/Clipboard.h: 14287 * dom/DOMCoreException.h: 14288 (WebCore::DOMCoreException::create): 14289 * dom/DOMImplementation.cpp: 14290 (WebCore::DOMImplementation::instance): 14291 * dom/DOMImplementation.h: 14292 (WebCore::DOMImplementation::DOMImplementation): 14293 * dom/Document.cpp: 14294 (WebCore::Document::addWindowEventListener): 14295 (WebCore::Document::removeWindowEventListener): 14296 (WebCore::Document::setDecoder): 14297 (WebCore::Document::images): 14298 (WebCore::Document::applets): 14299 (WebCore::Document::embeds): 14300 (WebCore::Document::plugins): 14301 (WebCore::Document::objects): 14302 (WebCore::Document::scripts): 14303 (WebCore::Document::links): 14304 (WebCore::Document::forms): 14305 (WebCore::Document::anchors): 14306 (WebCore::Document::all): 14307 (WebCore::Document::windowNamedItems): 14308 (WebCore::Document::documentNamedItems): 14309 * dom/Document.h: 14310 * dom/DynamicNodeList.h: 14311 * dom/EventException.h: 14312 (WebCore::EventException::create): 14313 (WebCore::EventException::EventException): 14314 * dom/EventListener.h: 14315 * dom/EventTarget.cpp: 14316 (WebCore::EventTarget::addEventListener): 14317 (WebCore::EventTarget::removeEventListener): 14318 * dom/ExceptionBase.cpp: 14319 (WebCore::ExceptionBase::ExceptionBase): 14320 * dom/ExceptionBase.h: 14321 * dom/NameNodeList.h: 14322 (WebCore::NameNodeList::create): 14323 * dom/Node.cpp: 14324 (WebCore::Node::childNodes): 14325 (WebCore::Node::getElementsByTagNameNS): 14326 (WebCore::Node::getElementsByName): 14327 (WebCore::Node::getElementsByClassName): 14328 (WebCore::Node::querySelectorAll): 14329 * dom/NodeFilterCondition.h: 14330 * dom/NodeList.h: 14331 * dom/RangeException.h: 14332 (WebCore::RangeException::create): 14333 (WebCore::RangeException::RangeException): 14334 * dom/RegisteredEventListener.h: 14335 (WebCore::RegisteredEventListener::create): 14336 * dom/SelectorNodeList.cpp: 14337 (WebCore::createSelectorNodeList): 14338 * dom/SelectorNodeList.h: 14339 * dom/StaticNodeList.cpp: 14340 (WebCore::StaticNodeList::StaticNodeList): 14341 * dom/StaticNodeList.h: 14342 (WebCore::StaticNodeList::adopt): 14343 * dom/TagNodeList.h: 14344 (WebCore::TagNodeList::create): 14345 * history/HistoryItem.cpp: 14346 (WebCore::defaultNotifyHistoryItemChanged): 14347 (WebCore::HistoryItem::HistoryItem): 14348 (WebCore::HistoryItem::copy): 14349 * history/HistoryItem.h: 14350 (WebCore::HistoryItem::create): 14351 * html/CanvasGradient.h: 14352 * html/CanvasPattern.cpp: 14353 (WebCore::CanvasPattern::CanvasPattern): 14354 * html/CanvasPattern.h: 14355 (WebCore::CanvasPattern::create): 14356 * html/CanvasRenderingContext2D.cpp: 14357 (WebCore::CanvasRenderingContext2D::State::State): 14358 (WebCore::CanvasRenderingContext2D::setStrokeColor): 14359 (WebCore::CanvasRenderingContext2D::setFillColor): 14360 (WebCore::CanvasRenderingContext2D::createPattern): 14361 * html/CanvasStyle.cpp: 14362 (WebCore::CanvasStyle::CanvasStyle): 14363 * html/CanvasStyle.h: 14364 (WebCore::CanvasStyle::create): 14365 * html/HTMLCollection.cpp: 14366 (WebCore::HTMLCollection::HTMLCollection): 14367 (WebCore::HTMLCollection::create): 14368 * html/HTMLCollection.h: 14369 * html/HTMLElement.cpp: 14370 (WebCore::HTMLElement::children): 14371 * html/HTMLFormCollection.cpp: 14372 (WebCore::HTMLFormCollection::create): 14373 * html/HTMLFormCollection.h: 14374 * html/HTMLFormElement.cpp: 14375 (WebCore::HTMLFormElement::elements): 14376 * html/HTMLMapElement.cpp: 14377 (WebCore::HTMLMapElement::areas): 14378 * html/HTMLMediaElement.cpp: 14379 (WebCore::HTMLMediaElement::load): 14380 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): 14381 (WebCore::HTMLMediaElement::willSaveToCache): 14382 * html/HTMLNameCollection.h: 14383 (WebCore::HTMLNameCollection::create): 14384 * html/HTMLOptionsCollection.cpp: 14385 (WebCore::HTMLOptionsCollection::create): 14386 * html/HTMLOptionsCollection.h: 14387 * html/HTMLSelectElement.cpp: 14388 (WebCore::HTMLSelectElement::options): 14389 * html/HTMLTableElement.cpp: 14390 (WebCore::HTMLTableElement::rows): 14391 (WebCore::HTMLTableElement::tBodies): 14392 * html/HTMLTableRowElement.cpp: 14393 (WebCore::HTMLTableRowElement::cells): 14394 * html/HTMLTableRowsCollection.cpp: 14395 (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): 14396 (WebCore::HTMLTableRowsCollection::create): 14397 * html/HTMLTableRowsCollection.h: 14398 * html/HTMLTableSectionElement.cpp: 14399 (WebCore::HTMLTableSectionElement::rows): 14400 * html/MediaError.h: 14401 (WebCore::MediaError::create): 14402 (WebCore::MediaError::MediaError): 14403 * loader/CachedCSSStyleSheet.cpp: 14404 (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): 14405 * loader/CachedFont.cpp: 14406 (WebCore::CachedFont::ensureSVGFontData): 14407 * loader/CachedXSLStyleSheet.cpp: 14408 (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): 14409 * loader/FrameLoader.cpp: 14410 (WebCore::FrameLoader::write): 14411 (WebCore::FrameLoader::createHistoryItem): 14412 * loader/ImageDocument.cpp: 14413 (WebCore::ImageEventListener::create): 14414 (WebCore::ImageEventListener::ImageEventListener): 14415 (WebCore::ImageDocument::createDocumentStructure): 14416 * loader/TextResourceDecoder.h: 14417 (WebCore::TextResourceDecoder::create): 14418 * page/Page.cpp: 14419 (WebCore::Page::userStyleSheet): 14420 * svg/SVGException.h: 14421 (WebCore::SVGException::create): 14422 (WebCore::SVGException::SVGException): 14423 * svg/animation/SVGSMILElement.cpp: 14424 (WebCore::ConditionEventListener::create): 14425 (WebCore::ConditionEventListener::ConditionEventListener): 14426 (WebCore::SVGSMILElement::connectConditions): 14427 * xml/XMLHttpRequest.cpp: 14428 (WebCore::XMLHttpRequest::didReceiveData): 14429 * xml/XMLHttpRequestException.h: 14430 (WebCore::XMLHttpRequestException::create): 14431 (WebCore::XMLHttpRequestException::XMLHttpRequestException): 14432 * xml/XPathException.h: 14433 (WebCore::XPathException::create): 14434 (WebCore::XPathException::XPathException): 14435 * xml/XPathResult.cpp: 14436 (WebCore::InvalidatingEventListener::create): 14437 (WebCore::InvalidatingEventListener::InvalidatingEventListener): 14438 (WebCore::XPathResult::XPathResult): 14439 * xml/XSLTProcessor.cpp: 14440 (WebCore::XSLTProcessor::createDocumentFromSource): 14441 14442 2008-06-07 Christian Dywan <christian (a] twotoasts.de> 14443 14444 Reviewed by Alp Toker. 14445 14446 https://bugs.webkit.org/show_bug.cgi?id=17324 14447 Remove PLATFORM ifdefs from ContextMenu.cpp 14448 14449 * platform/ContextMenu.cpp: 14450 (WebCore::ContextMenu::populate): 14451 14452 2008-06-07 Eric Seidel <eric (a] webkit.org> 14453 14454 Reviewed by ap. 14455 14456 Still more CSSParser cleanup 14457 - use c++ style member initializers in CSSParser() 14458 - change m_styleElement to m_styleSheet and make it a CSSStyleSheet 14459 - finally add my copyright to the files I've been cleaning 14460 14461 * css/CSSGrammar.y: 14462 * css/CSSParser.cpp: 14463 (WebCore::CSSParser::CSSParser): 14464 (WebCore::CSSParser::setupParser): 14465 (WebCore::CSSParser::parseValue): 14466 (WebCore::CSSParser::parseColor): 14467 (WebCore::CSSParser::parseDeclaration): 14468 (WebCore::CSSParser::parseContent): 14469 (WebCore::CSSParser::parseFillImage): 14470 (WebCore::CSSParser::parseFontFaceSrc): 14471 (WebCore::CSSParser::parseBorderImage): 14472 (WebCore::CSSParser::createCharsetRule): 14473 (WebCore::CSSParser::createImportRule): 14474 (WebCore::CSSParser::createMediaRule): 14475 (WebCore::CSSParser::createStyleRule): 14476 * css/CSSParser.h: 14477 * css/SVGCSSParser.cpp: 14478 14479 2008-06-07 Eric Seidel <eric (a] webkit.org> 14480 14481 Reviewed by ap. 14482 14483 More CSSParser cleanup 14484 - rename CSSParser::id to m_id 14485 - rename CSSParser::data to m_data 14486 - fix a few whitespace and argument name issues 14487 14488 * css/CSSGrammar.y: 14489 * css/CSSParser.cpp: 14490 (WebCore::CSSParser::CSSParser): 14491 (WebCore::CSSParser::~CSSParser): 14492 (WebCore::CSSParser::setupParser): 14493 (WebCore::CSSParser::parseValue): 14494 * css/CSSParser.h: 14495 14496 2008-06-07 Eric Seidel <eric (a] webkit.org> 14497 14498 Reviewed by ap. 14499 14500 Rename CSSParser::strict to m_strict 14501 14502 * css/CSSGrammar.y: 14503 * css/CSSParser.cpp: 14504 (WebCore::CSSParser::CSSParser): 14505 (WebCore::CSSParser::parseColor): 14506 (WebCore::CSSParser::parseValue): 14507 (WebCore::CSSParser::parseBackgroundColor): 14508 (WebCore::CSSParser::parseFillPositionXY): 14509 (WebCore::CSSParser::parseFillSize): 14510 (WebCore::CSSParser::parseTransitionDuration): 14511 (WebCore::CSSParser::parseTransitionRepeatCount): 14512 (WebCore::CSSParser::parseTimingFunctionValue): 14513 (WebCore::CSSParser::parseDashboardRegions): 14514 (WebCore::CSSParser::parseShape): 14515 (WebCore::CSSParser::parseFont): 14516 (WebCore::CSSParser::parseColorFromValue): 14517 (WebCore::CSSParser::parseShadow): 14518 (WebCore::CSSParser::parseReflect): 14519 (WebCore::CSSParser::parseBorderImage): 14520 * css/CSSParser.h: 14521 14522 2008-06-07 Eric Seidel <eric (a] webkit.org> 14523 14524 Reviewed by ap. 14525 14526 Rename CSSParser::defaultNamespace to m_defaultNamespace 14527 14528 * css/CSSGrammar.y: 14529 * css/CSSParser.cpp: 14530 (WebCore::CSSParser::CSSParser): 14531 (WebCore::CSSParser::parseSheet): 14532 * css/CSSParser.h: 14533 * css/CSSStyleSheet.cpp: 14534 (WebCore::CSSStyleSheet::addNamespace): 14535 14536 2008-06-07 Eric Seidel <eric (a] webkit.org> 14537 14538 Reviewed by ap. 14539 14540 Rename CSSParser::important to m_important 14541 14542 * css/CSSGrammar.y: 14543 * css/CSSParser.cpp: 14544 (WebCore::CSSParser::CSSParser): 14545 (WebCore::CSSParser::parseValue): 14546 (WebCore::CSSParser::parseFontFaceSrc): 14547 (WebCore::CSSParser::parseFontFaceUnicodeRange): 14548 * css/CSSParser.h: 14549 14550 2008-06-07 Eric Seidel <eric (a] webkit.org> 14551 14552 Reviewed by ap. 14553 14554 Rename CSSParser::rule to m_rule 14555 14556 * css/CSSGrammar.y: 14557 * css/CSSParser.cpp: 14558 (WebCore::CSSParser::parseSheet): 14559 (WebCore::CSSParser::parseRule): 14560 (WebCore::CSSParser::parseValue): 14561 (WebCore::CSSParser::parseColor): 14562 (WebCore::CSSParser::parseDeclaration): 14563 * css/CSSParser.h: 14564 14565 2008-06-07 Eric Seidel <eric (a] webkit.org> 14566 14567 Reviewed by ap. 14568 14569 Yet another cleanup patch for CSSParser 14570 Rename CSSParser::valueList to m_valueList 14571 14572 * css/CSSGrammar.y: 14573 * css/CSSParser.cpp: 14574 (WebCore::CSSParser::CSSParser): 14575 (WebCore::CSSParser::~CSSParser): 14576 (WebCore::CSSParser::checkForOrphanedUnits): 14577 (WebCore::CSSParser::parseValue): 14578 (WebCore::CSSParser::parseFillShorthand): 14579 (WebCore::CSSParser::parseTransitionShorthand): 14580 (WebCore::CSSParser::parseShorthand): 14581 (WebCore::CSSParser::parse4Values): 14582 (WebCore::CSSParser::parseContent): 14583 (WebCore::CSSParser::parseFillImage): 14584 (WebCore::CSSParser::parseFillPositionXY): 14585 (WebCore::CSSParser::parseFillPosition): 14586 (WebCore::CSSParser::parseFillSize): 14587 (WebCore::CSSParser::parseFillProperty): 14588 (WebCore::CSSParser::parseTransitionProperty): 14589 (WebCore::CSSParser::parseDashboardRegions): 14590 (WebCore::CSSParser::parseShape): 14591 (WebCore::CSSParser::parseFont): 14592 (WebCore::CSSParser::parseFontFamily): 14593 (WebCore::CSSParser::parseFontFaceSrc): 14594 (WebCore::CSSParser::parseFontFaceUnicodeRange): 14595 (WebCore::CSSParser::parseColor): 14596 (WebCore::CSSParser::parseShadow): 14597 (WebCore::CSSParser::parseReflect): 14598 (WebCore::BorderImageParseContext::commitBorderImage): 14599 (WebCore::CSSParser::parseBorderImage): 14600 (WebCore::CSSParser::parseCounter): 14601 (WebCore::CSSParser::parseGradient): 14602 (WebCore::CSSParser::parseCanvas): 14603 (WebCore::CSSParser::parseTransform): 14604 (WebCore::CSSParser::parseTransformOrigin): 14605 * css/CSSParser.h: 14606 * css/SVGCSSParser.cpp: 14607 (WebCore::CSSParser::parseSVGValue): 14608 (WebCore::CSSParser::parseSVGStrokeDasharray): 14609 (WebCore::CSSParser::parseSVGPaint): 14610 (WebCore::CSSParser::parseSVGColor): 14611 14612 2008-06-07 Eric Seidel <eric (a] webkit.org> 14613 14614 Reviewed by ap. 14615 14616 More cleanup to CSSParser, rename mediaQuery to m_mediaQuery 14617 Remove CSSParser::current and CSSParser::currentParser and use 14618 the magic of YYLEX_PARAM instead. 14619 14620 * css/CSSParser.cpp: 14621 (WebCore::enterGeneratedParser): 14622 (WebCore::CSSParser::parseSheet): 14623 (WebCore::CSSParser::parseRule): 14624 (WebCore::CSSParser::parseValue): 14625 (WebCore::CSSParser::parseColor): 14626 (WebCore::CSSParser::parseDeclaration): 14627 (WebCore::CSSParser::parseMediaQuery): 14628 * css/CSSParser.h: 14629 14630 2008-06-07 Julien Chaffraix <jchaffraix (a] webkit.org> 14631 14632 Reviewed by Eric. 14633 14634 Part of bug 19200: *.in files should embed more information 14635 https://bugs.webkit.org/show_bug.cgi?id=19200 14636 14637 - Added XML attributes' parsing. 14638 14639 - Moved (most) capitalization and audio hacks in the *.in files. 14640 14641 * dom/make_names.pl: 14642 * html/HTMLTagNames.in: 14643 * svg/svgtags.in: 14644 14645 2008-06-07 Pierre-Luc Beaudoin <pierre-luc.beaudoin (a] collabora.co.uk> 14646 14647 With the help of Jonathon Jongsma. 14648 14649 Reviewed by Dan Bernstein. 14650 14651 Fix for https://bugs.webkit.org/show_bug.cgi?id=19279 14652 REGRESSION (r32660): Text not redrawn correctly when selection changes 14653 14654 * rendering/InlineTextBox.cpp: 14655 (WebCore::InlineTextBox::paint): 14656 Add a condition for when ePos <= sPos 14657 14658 2008-06-06 Julien Chaffraix <jchaffraix (a] webkit.org> 14659 14660 Reviewed by Eric. 14661 14662 Part of bug 19200: *.in files should embed more information 14663 https://bugs.webkit.org/show_bug.cgi?id=19200 14664 14665 - Switched *.in files to XML format. 14666 14667 - Added (simple) parsing facilities in make_names.pl using the XML::Tiny Perl parser. 14668 14669 - Updated the build systems to include bindings/scripts when executing make_names.pl 14670 (for XMLTiny dependency). 14671 14672 - Cleaned-up make_names.pl a little. 14673 14674 * DerivedSources.make: 14675 * GNUmakefile.am: 14676 * WebCore.pro: 14677 * bindings/scripts/XMLTiny.pm: Added. 14678 * dom/make_names.pl: 14679 * html/HTMLAttributeNames.in: 14680 * html/HTMLTagNames.in: 14681 * svg/svgattrs.in: 14682 * svg/svgtags.in: 14683 * svg/xlinkattrs.in: 14684 * xml/xmlattrs.in: 14685 14686 2008-06-06 Robert Blaut <webkit (a] blaut.biz> 14687 14688 Reviewed by Darin Adler. 14689 14690 Fix for https://bugs.webkit.org/show_bug.cgi?id=19407 14691 CSS3 Selector Test: *= ~= ^= $= should all accept the empty string, but match nothing 14692 14693 Test: fast/css/begin-end-contain-selector-empty-value.html 14694 14695 * css/CSSStyleSelector.cpp: 14696 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 14697 14698 2008-06-06 Eric Seidel <eric (a] webkit.org> 14699 14700 Reviewed by mitz. 14701 14702 More cleanup of CSSParser. 14703 Rename CSSParser::numParsedProperties and maxNumParsedProperites to m_* 14704 14705 * css/CSSGrammar.y: 14706 * css/CSSParser.cpp: 14707 (WebCore::CSSParser::CSSParser): 14708 (WebCore::CSSParser::parseValue): 14709 (WebCore::CSSParser::parseColor): 14710 (WebCore::CSSParser::parseDeclaration): 14711 (WebCore::CSSParser::addProperty): 14712 (WebCore::CSSParser::rollbackLastProperties): 14713 (WebCore::CSSParser::clearProperties): 14714 (WebCore::CSSParser::parse4Values): 14715 (WebCore::CSSParser::createStyleRule): 14716 (WebCore::CSSParser::createFontFaceRule): 14717 * css/CSSParser.h: 14718 * css/SVGCSSParser.cpp: 14719 (WebCore::CSSParser::parseSVGValue): 14720 14721 2008-06-06 Eric Seidel <eric (a] webkit.org> 14722 14723 Reviewed by mitz. 14724 14725 More cleanup of CSSParser. 14726 Rename CSSParser::parsedProperties to m_parsedProperties. 14727 14728 * css/CSSParser.cpp: 14729 (WebCore::CSSParser::CSSParser): 14730 (WebCore::CSSParser::~CSSParser): 14731 (WebCore::CSSParser::parseValue): 14732 (WebCore::CSSParser::parseColor): 14733 (WebCore::CSSParser::parseDeclaration): 14734 (WebCore::CSSParser::addProperty): 14735 (WebCore::CSSParser::rollbackLastProperties): 14736 (WebCore::CSSParser::clearProperties): 14737 (WebCore::CSSParser::parse4Values): 14738 (WebCore::CSSParser::createStyleRule): 14739 (WebCore::CSSParser::createFontFaceRule): 14740 * css/CSSParser.h: 14741 * css/SVGCSSParser.cpp: 14742 (WebCore::CSSParser::parseSVGValue): 14743 14744 2008-06-06 Eric Seidel <eric (a] webkit.org> 14745 14746 Reviewed by mitz. 14747 14748 Start the cleanup of CSSParser. 14749 Rename CSSParser::styleElement to CSSParser::m_styleElement 14750 14751 * css/CSSGrammar.y: 14752 * css/CSSParser.cpp: 14753 (WebCore::CSSParser::document): 14754 (WebCore::CSSParser::parseValue): 14755 (WebCore::CSSParser::parseContent): 14756 (WebCore::CSSParser::parseFillImage): 14757 (WebCore::CSSParser::parseFontFaceSrc): 14758 (WebCore::CSSParser::parseBorderImage): 14759 (WebCore::CSSParser::createCharsetRule): 14760 (WebCore::CSSParser::createImportRule): 14761 (WebCore::CSSParser::createMediaRule): 14762 (WebCore::CSSParser::createStyleRule): 14763 * css/CSSParser.h: 14764 14765 2008-06-06 Anthony Ricaud <rik24d (a] gmail.com> 14766 14767 Reviewed by adele. Landed by eseidel. 14768 14769 https://bugs.webkit.org/show_bug.cgi?id=18337 14770 14771 Calls listBoxOnChange() in typeAheadFind() when the <select> tag is a listBox. 14772 14773 * html/HTMLSelectElement.cpp: 14774 (WebCore::HTMLSelectElement::typeAheadFind): 14775 14776 2008-06-05 Justin Garcia <justin.garcia (a] apple.com> 14777 14778 Reviewed by John. 14779 14780 <rdar://problem/5890684> REGRESSION(r23969): Deleting a line break changes the style of text after the break 14781 14782 Serialization of font-family:-webkit-monospace when it came from a 14783 CSSMutableStyleDeclaration would wrap the value in single quotes but 14784 serialization of the same property value pair from a CSSComputedStyleDeclaration 14785 wouldn't, which kept code that checked for and removed non-redundant styles from 14786 style spans from working correctly. 14787 14788 A redundant style left on a style span would not normally create a rendering 14789 difference, but it did in this case because an element with 14790 font-family:-webkit-monospace does not appear to inherit font-size. 14791 Added a FIXME about how we might need to keep font-size on a style span if its 14792 non-redundant styles include font-family:-webkit-monospace, although I couldn't 14793 create a test case to produce this scenario. 14794 14795 * css/FontFamilyValue.cpp: 14796 (WebCore::isValidCSSIdentifier): Don't return false if the String starts 14797 with a '-'. This function now appears identical to isCSSTokenizerIdentifier, 14798 so perhaps we should use a single function. 14799 * editing/ReplaceSelectionCommand.cpp: 14800 (WebCore::ReplaceSelectionCommand::handleStyleSpans): Added FIXME. Removed the 14801 creation of two Strings that were never used. 14802 14803 2008-06-06 Justin Garcia <justin.garcia (a] apple.com> 14804 14805 Reviewed by Darin. 14806 14807 <https://bugs.webkit.org/show_bug.cgi?id=19087> 14808 Editing crash in IndentOutdentCommand::prepareBlockquoteLevelForInsertion, ASSERT in debug mode 14809 14810 * editing/DeleteSelectionCommand.cpp: 14811 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): applyStyle 14812 can destroy insertedPlaceholder if it needs to move it, but it will set an 14813 endingSelection() at [movedPlaceholder, 0] if it does so. Re-fetch insertedPlaceholder 14814 if that happens. The long term solution for these crashes is to make moveParagraphs 14815 not copy/destroy/move content, and to make VisiblePositions update themselves on DOM 14816 mutations. 14817 * editing/IndentOutdentCommand.cpp: 14818 (WebCore::IndentOutdentCommand::indentRegion): Early return to avoid crashes like this 14819 in the future, but ASSERT to catch them in debug builds. 14820 14821 2008-06-05 Justin Garcia <justin.garcia (a] apple.com> 14822 14823 Reviewed by Eric. 14824 14825 <https://bugs.webkit.org/show_bug.cgi?id=19403> 14826 ASSERT in InsertIntoTextNodeCommand::InsertIntoTextNodeCommand during RemoveFormat call 14827 14828 * editing/RemoveFormatCommand.cpp: 14829 (WebCore::RemoveFormatCommand::doApply): If the selection was all 14830 formatting (like an empty list) the format-less text will be empty. 14831 Early return to avoid the ASSERT that fires if input(...) is called 14832 with an empty String. 14833 14834 2008-06-05 Alp Toker <alp (a] nuanti.com> 14835 14836 Build fix for r34387. 14837 14838 * GNUmakefile.am: 14839 14840 2008-06-05 Justin Garcia <justin.garcia (a] apple.com> 14841 14842 Reviewed by Eric. 14843 14844 <https://bugs.webkit.org/show_bug.cgi?id=19089> Editing ASSERT in Range::compareBoundaryPoints 14845 14846 ApplyStyleCommand::applyInlineStyle does some work and then checks to see 14847 if the start offset of the Range it's operating on is now past the caretMaxOffset 14848 of the start container. If it is, applyInlineStyle updates the position to 14849 [startContainer->traverseNextNode(), 0] and then operates on that new start 14850 position. 14851 14852 caretMaxOffset was incorrect for horizontal rules. It should be 1 and it was 0. So, 14853 if the horizontal rule was the last node in the document, applyInlineStyle would update 14854 its start position to [0, 0] and then try to operate on that position, assuming it was 14855 non-null, leading to the ASSERT. 14856 14857 * rendering/RenderObject.cpp: 14858 (WebCore::RenderObject::caretMaxOffset): 14859 14860 2008-06-05 Chris Fleizach <cfleizach (a] apple.com> 14861 14862 Reviewed by John Sullivan. 14863 14864 <rdar://problem/5947396> AccessibilityListBoxOptions should return their string as AXValue, not AXTitle 14865 14866 * page/AccessibilityListBoxOption.cpp: 14867 (WebCore::AccessibilityListBoxOption::stringValue): 14868 * page/AccessibilityListBoxOption.h: 14869 14870 2008-06-05 Justin Garcia <justin.garcia (a] apple.com> 14871 14872 Reviewed by Harrison. 14873 14874 <rdar://problem/5658933> GoogleDocs: Crash indenting a particular selection twice 14875 <rdar://problem/5831310> CrashTracer: [USER] 4 crashes in Mail at WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion 14876 <rdar://problem/5480141> GoogleDocs: Attempting to indent content in <td> closes <table> element 14877 14878 A crash would occur when indenting a selection that started just before a table 14879 and ended inside that table. With a selection like this, we'd indent the entire 14880 table, then try and indent paragraphs inside it, but the stored position for the 14881 next paragraph to indent was inside content that had been removed from the document 14882 during the first Indent. 14883 14884 Fixed the crash adjusting the selection to perform the indent on to prepare it 14885 for paragraph iteration using selectionForParagraphIteration. We do this adjustment 14886 for paragraph iteration in InsertList as well. 14887 14888 Also, indenting paragraphs inside table cells would break table structure because 14889 we were splitting the DOM all the way up to the root editable element to insert 14890 a blockquote. Fixed this by only splitting up to the enclosing table cell. This 14891 matches FF. Lastly, fixed a bug where indenting several paragraphs inside different 14892 table cells would move all the selected text into the same table cell. FF still has 14893 this bug. 14894 14895 * editing/IndentOutdentCommand.cpp: 14896 (WebCore::IndentOutdentCommand::indentRegion): 14897 14898 2008-06-05 chris fleizach <cfleizach (a] apple.com> 14899 14900 Reviewed by Alice Liu. 14901 14902 <rdar://problem/5979998> AXList controls should have AXSelectedChildren and its children's AXSelected attribute writable 14903 14904 * page/AccessibilityListBox.cpp: 14905 (WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute): 14906 (WebCore::AccessibilityListBox::setSelectedChildren): 14907 (WebCore::AccessibilityListBox::selectedChildren): 14908 (WebCore::AccessibilityListBox::visibleChildren): 14909 * page/AccessibilityListBox.h: 14910 * page/AccessibilityListBoxOption.cpp: 14911 (WebCore::AccessibilityListBoxOption::canSetSelectedAttribute): 14912 (WebCore::AccessibilityListBoxOption::setSelected): 14913 * page/AccessibilityListBoxOption.h: 14914 (WebCore::AccessibilityListBoxOption::selectedChildren): 14915 (WebCore::AccessibilityListBoxOption::visibleChildren): 14916 * page/AccessibilityObject.cpp: 14917 (WebCore::AccessibilityObject::setSelected): 14918 (WebCore::AccessibilityObject::getDocumentLinks): 14919 * page/AccessibilityObject.h: 14920 (WebCore::AccessibilityObject::canSetSelectedAttribute): 14921 (WebCore::AccessibilityObject::canSetSelectedChildrenAttribute): 14922 (WebCore::AccessibilityObject::children): 14923 * page/AccessibilityRenderObject.cpp: 14924 (WebCore::AccessibilityRenderObject::getDocumentLinks): 14925 (WebCore::AccessibilityRenderObject::children): 14926 (WebCore::AccessibilityRenderObject::addChildren): 14927 (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren): 14928 (WebCore::AccessibilityRenderObject::selectedChildren): 14929 (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren): 14930 (WebCore::AccessibilityRenderObject::visibleChildren): 14931 * page/AccessibilityRenderObject.h: 14932 * page/mac/AccessibilityObjectWrapper.mm: 14933 (convertToVector): 14934 (convertToNSArray): 14935 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 14936 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): 14937 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 14938 14939 2008-06-04 David Hyatt <hyatt (a] apple.com> 14940 14941 Fix for <rdar://problem/5957994> Height doesn't animate 14942 14943 Improve the behavior when transitions are dynamically changed. Make sure to leave older transitions 14944 running and let them obsolete themselves when they finish. 14945 14946 Reviewed by Dan Bernstein 14947 14948 Added WebCore/manual-tests/transitions2.html (must be tested manually) 14949 14950 * manual-tests/transitions.html: 14951 * manual-tests/transitions2.html: Added. 14952 * page/AnimationController.cpp: 14953 (WebCore::ImplicitAnimation::property): 14954 (WebCore::ImplicitAnimation::setFinished): 14955 (WebCore::ImplicitAnimation::markedForDeath): 14956 (WebCore::ImplicitAnimation::setMarkedForDeath): 14957 (WebCore::ImplicitAnimation::ImplicitAnimation): 14958 (WebCore::ImplicitAnimation::reset): 14959 (WebCore::ImplicitAnimation::animate): 14960 (WebCore::CompositeImplicitAnimation::animate): 14961 14962 2008-06-05 Eric Seidel <eric (a] webkit.org> 14963 14964 Reviewed by mjs. 14965 14966 Get rid of Uninitialized Memory Reads (UMRs) in the XPath::Value copy constructor. 14967 14968 No functional changes, thus no tests. 14969 14970 * xml/XPathValue.h: 14971 (WebCore::XPath::Value::Value): initialize all values in each constructor 14972 14973 2008-06-05 Eric Seidel <eric (a] webkit.org> 14974 14975 Reviewed by hyatt. 14976 14977 No functional changes, thus no tests. 14978 14979 * platform/graphics/Color.h: remove unnecessary bitfield use 14980 14981 2008-06-05 Antti Koivisto <antti (a] apple.com> 14982 14983 Reviewed by Dave Hyatt. 14984 14985 Make hasFeature() return true for the animation stuff. 14986 14987 * dom/DOMImplementation.cpp: 14988 (WebCore::isSVG11Feature): 14989 14990 2008-06-05 Dan Bernstein <mitz (a] apple.com> 14991 14992 Reviewed by Darin Adler. 14993 14994 - fix https://bugs.webkit.org/show_bug.cgi?id=19397 14995 REGRESSION (3.1-TOT): Box-shadow renders weird when rotating a div with border radius 14996 14997 Test: fast/transforms/shadows.html 14998 14999 * platform/graphics/cg/GraphicsContextCG.cpp: 15000 (WebCore::GraphicsContext::setPlatformShadow): In Core Graphics, shadow 15001 dimensions are always in device space. Account for that, and apply the 15002 current context transform to shadow offset, and multiply the blur radius 15003 by the inverse of the operator norm of the inverse transform (which is 15004 the radius of the circle inscribed in the transformed unit circle). 15005 * rendering/RenderObject.cpp: 15006 (WebCore::RenderObject::paintBoxShadow): Added 1px separation between 15007 the edge of the filled shape and the edge of the clipped-out shape, 15008 because in a transformed context, due to antialiasing, the fill can 15009 bleed into the clip if they touch. 15010 15011 2008-06-05 Tor Arne Vestb <tavestbo (a] trolltech.com> 15012 15013 Reviewed by Simon. 15014 15015 Prevent cycles when converting from DOM objects to 15016 QVariant, due to cycles in the DOM tree. 15017 15018 * bridge/qt/qt_runtime.cpp: 15019 (KJS::Bindings::convertValueToQVariant): 15020 15021 2008-06-04 Anders Carlsson <andersca (a] apple.com> 15022 15023 Reviewed by Mitz. 15024 15025 Get rid of DeprecatedPtrList from StyleSheetList. 15026 15027 * css/CSSStyleSelector.cpp: 15028 (WebCore::CSSStyleSelector::CSSStyleSelector): 15029 * css/StyleSheetList.cpp: 15030 (WebCore::StyleSheetList::~StyleSheetList): 15031 (WebCore::StyleSheetList::length): 15032 (WebCore::StyleSheetList::item): 15033 * css/StyleSheetList.h: 15034 (WebCore::StyleSheetList::swap): 15035 * dom/Document.cpp: 15036 (WebCore::Document::recalcStyleSelector): 15037 15038 2008-06-04 Anders Carlsson <andersca (a] apple.com> 15039 15040 Reviewed by Darin. 15041 15042 Convert more classes over to start out with a ref count of 1. 15043 15044 * css/CSSImageGeneratorValue.cpp: 15045 (WebCore::CSSImageGeneratorValue::generatedImage): 15046 * css/CSSImageValue.cpp: 15047 (WebCore::CSSImageValue::cachedImage): 15048 * css/CSSMediaRule.cpp: 15049 (WebCore::CSSMediaRule::CSSMediaRule): 15050 * css/CSSParser.cpp: 15051 (WebCore::CSSParser::parseValue): 15052 (WebCore::CSSParser::parseFillSize): 15053 (WebCore::CSSParser::parseCounter): 15054 (WebCore::CSSParser::createRuleList): 15055 * css/CSSRuleList.cpp: 15056 (WebCore::CSSRuleList::CSSRuleList): 15057 * css/CSSRuleList.h: 15058 (WebCore::CSSRuleList::create): 15059 * css/CSSStyleSelector.cpp: 15060 (WebCore::CSSStyleSelector::matchRules): 15061 (WebCore::CSSStyleSelector::styleRulesForElement): 15062 * css/CSSStyleSelector.h: 15063 * css/CSSStyleSheet.cpp: 15064 (WebCore::CSSStyleSheet::cssRules): 15065 (WebCore::CSSStyleSheet::addSubresourceURLStrings): 15066 * css/CSSStyleSheet.h: 15067 (WebCore::CSSStyleSheet::rules): 15068 * css/Pair.h: 15069 (WebCore::Pair::create): 15070 (WebCore::Pair::Pair): 15071 * html/HTMLMediaElement.cpp: 15072 (WebCore::HTMLMediaElement::buffered): 15073 (WebCore::HTMLMediaElement::played): 15074 (WebCore::HTMLMediaElement::seekable): 15075 * html/TimeRanges.cpp: 15076 (TimeRanges::TimeRanges): 15077 * html/TimeRanges.h: 15078 (WebCore::TimeRanges::create): 15079 (WebCore::TimeRanges::TimeRanges): 15080 * rendering/style/RenderStyle.cpp: 15081 (WebCore::RenderStyle::addCursor): 15082 (WebCore::RenderStyle::clearCursorList): 15083 * rendering/style/RenderStyle.h: 15084 (WebCore::StyleImage::~StyleImage): 15085 (WebCore::StyleImage::StyleImage): 15086 (WebCore::StyleCachedImage::create): 15087 (WebCore::StyleCachedImage::StyleCachedImage): 15088 (WebCore::StyleGeneratedImage::create): 15089 (WebCore::StyleGeneratedImage::StyleGeneratedImage): 15090 (WebCore::CursorList::create): 15091 (WebCore::CursorList::CursorList): 15092 15093 2008-06-04 chris fleizach <cfleizach (a] apple.com> 15094 15095 Reviewed by Dave Hyatt, Alice, Liu 15096 15097 <rdar://problem/5983804> Editable web areas do not properly report the AXFocused attribute 15098 15099 * page/AccessibilityRenderObject.cpp: 15100 (WebCore::AccessibilityRenderObject::isFocused): 15101 15102 2008-06-03 Beth Dakin <bdakin (a] apple.com> 15103 15104 Reviewed by Adele. 15105 15106 Fix for https://bugs.webkit.org/show_bug.cgi?id=19381 WebKit 15107 Crashing Constantly on Gmail with accessibility turned on 15108 15109 There was a missing null-check! 15110 15111 * page/AccessibilityRenderObject.cpp: 15112 (WebCore::AccessibilityRenderObject::roleValue): 15113 15114 2008-06-04 Anders Carlsson <andersca (a] apple.com> 15115 15116 Reviewed by Sam. 15117 15118 Convert more classes to start with a ref count of 1. 15119 15120 * bindings/js/JSCustomVoidCallback.cpp: 15121 (WebCore::toVoidCallback): 15122 * bindings/js/JSCustomVoidCallback.h: 15123 (WebCore::JSCustomVoidCallback::create): 15124 * css/StyleSheetList.cpp: 15125 (WebCore::StyleSheetList::StyleSheetList): 15126 * css/StyleSheetList.h: 15127 (WebCore::StyleSheetList::create): 15128 * dom/Document.cpp: 15129 (WebCore::Document::Document): 15130 (WebCore::Document::createNodeIterator): 15131 (WebCore::Document::createTreeWalker): 15132 * dom/NodeIterator.h: 15133 (WebCore::NodeIterator::create): 15134 * dom/Traversal.cpp: 15135 (WebCore::Traversal::Traversal): 15136 * dom/Traversal.h: 15137 * dom/TreeWalker.h: 15138 (WebCore::TreeWalker::create): 15139 * history/CachedPage.cpp: 15140 (WebCore::CachedPage::create): 15141 (WebCore::CachedPage::CachedPage): 15142 * html/CanvasGradient.cpp: 15143 (WebCore::CanvasGradient::CanvasGradient): 15144 * html/CanvasGradient.h: 15145 (WebCore::CanvasGradient::create): 15146 * html/CanvasRenderingContext2D.cpp: 15147 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): 15148 (WebCore::CanvasRenderingContext2D::createLinearGradient): 15149 (WebCore::CanvasRenderingContext2D::createRadialGradient): 15150 * html/CanvasRenderingContext2D.h: 15151 (WebCore::CanvasRenderingContext2D::create): 15152 * html/HTMLCanvasElement.cpp: 15153 (WebCore::HTMLCanvasElement::getContext): 15154 * html/VoidCallback.h: 15155 (WebCore::VoidCallback::VoidCallback): 15156 * loader/FormState.cpp: 15157 (WebCore::FormState::create): 15158 (WebCore::FormState::FormState): 15159 * platform/text/RegularExpression.cpp: 15160 (WebCore::RegularExpression::Private::create): 15161 (WebCore::RegularExpression::Private::Private): 15162 (WebCore::RegularExpression::RegularExpression): 15163 * storage/SQLResultSet.cpp: 15164 (WebCore::SQLResultSet::SQLResultSet): 15165 * storage/SQLResultSetRowList.h: 15166 (WebCore::SQLResultSetRowList::create): 15167 (WebCore::SQLResultSetRowList::SQLResultSetRowList): 15168 15169 2008-06-04 Dan Bernstein <mitz (a] apple.com> 15170 15171 Reviewed by Dave Hyatt. 15172 15173 - fix <rdar://problem/5962118> Crash in RenderBlock::calcColumnWidth() 15174 15175 Test: fast/multicol/gap-non-negative.html 15176 15177 * css/CSSParser.cpp: 15178 (WebCore::CSSParser::parseValue): Changed to not allow negative 15179 values for column-gap, per 15180 <http://www.w3.org/TR/2001/WD-css3-multicol-20010118/#column-gap>. 15181 15182 2008-06-04 Dan Bernstein <mitz (a] apple.com> 15183 15184 Reviewed by Dave Hyatt. 15185 15186 - fix <rdar://problem/5962270> Crash in WebCore::RenderTableCell::computeAbsoluteRepaintRect() 15187 15188 Test: fast/reflections/table-cell.html 15189 15190 * rendering/RenderTableCell.cpp: 15191 (WebCore::RenderTableCell::computeAbsoluteRepaintRect): Null-check 15192 parent(). 15193 (WebCore::RenderTableCell::absolutePosition): Ditto. 15194 15195 2008-06-04 Alexey Proskuryakov <ap (a] webkit.org> 15196 15197 Reviewed by Darin. 15198 15199 Fix JSClassCreate to work with old JSCore API threading model. 15200 15201 * ForwardingHeaders/wtf/StrHash.h: Removed (moved into ustring.h). 15202 15203 2008-06-03 Antti Koivisto <antti (a] apple.com> 15204 15205 Reviewed by Darin. 15206 15207 https://bugs.webkit.org/show_bug.cgi?id=19384 15208 Implement path morphing for SVG animation 15209 15210 You can animate smoothly between paths that have equal number of control points of matching type. 15211 15212 Test: svg/custom/animate-path-morphing.svg 15213 15214 * svg/SVGAnimateElement.cpp: 15215 (WebCore::SVGAnimateElement::determinePropertyType): 15216 (WebCore::SVGAnimateElement::calculateAnimatedValue): 15217 (WebCore::SVGAnimateElement::calculateFromAndToValues): 15218 (WebCore::SVGAnimateElement::resetToBaseValue): 15219 (WebCore::SVGAnimateElement::applyResultsToTarget): 15220 * svg/SVGAnimateElement.h: 15221 (WebCore::SVGAnimateElement::): 15222 * svg/SVGPathSegList.cpp: 15223 (WebCore::blendFunc): 15224 (WebCore::SVGPathSegList::createAnimated): 15225 * svg/SVGPathSegList.h: 15226 15227 2008-06-03 Darin Adler <darin (a] apple.com> 15228 15229 - try to fix the Qt build 15230 15231 * bridge/qt/qt_runtime.cpp: 15232 (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter): Remove the originalObject argument. 15233 (KJS::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto. 15234 (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto. 15235 (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto. 15236 (KJS::Bindings::QtConnectionObject::execute): Use callAsFunction. 15237 * bridge/qt/qt_runtime.h: More of the same. 15238 15239 2008-06-03 Justin Garcia <justin.garcia (a] apple.com> 15240 15241 Reviewed by John. 15242 15243 <rdar://problem/5763082> GMail: Hang when removing indent from nested list 15244 <rdar://problem/5775449> In Gmail and GoogleDocs, a hang occurs when I attempt to apply a list style to a large selection of text 15245 <rdar://problem/5937624> 9D32: Hang in Safari. Using 100% of processor 15246 15247 * editing/InsertListCommand.cpp: 15248 (WebCore::InsertListCommand::modifyRange): doApply() may operate on and remove 15249 the last paragraph of the selection from the document if it's in the same list 15250 item as startOfCurrentParagraph. Return early to avoid an infinite loop and 15251 because there is no more work to be done. Added a FIXME (<rdar://problem/5983974>) 15252 about the incorrect endingSelection()s. 15253 15254 2008-06-03 Oliver Hunt <oliver (a] apple.com> 15255 15256 Reviewed by Tim. 15257 15258 Bug 12983: Web Inspector break on the debugger keyword 15259 <https://bugs.webkit.org/show_bug.cgi?id=12983> 15260 15261 Added support for the new debugger didReachBreakpoint 15262 callback so that WebInspector receives the debugger event 15263 and breaks. 15264 15265 * page/JavaScriptDebugServer.cpp: 15266 (WebCore::JavaScriptDebugServer::didReachBreakpoint): 15267 * page/JavaScriptDebugServer.h: 15268 15269 2008-06-03 Darin Adler <darin (a] apple.com> 15270 15271 Reviewed by Geoff. 15272 15273 - https://bugs.webkit.org/show_bug.cgi?id=19269 15274 speed up SunSpider by eliminating the toObject call for most get/put/delete 15275 15276 Eliminate the originalObject argument from property getter functions; it's no longer 15277 available and was used only for JavaScript function-based getters and setters. 15278 15279 Updated callers of PropertySlot::setUndefined. It no longer takes a base argument. 15280 15281 * bindings/js/JSQuarantinedObjectWrapper.cpp: 15282 (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter): Removed the originalObject 15283 argument. 15284 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Changed to initialize the 15285 PropertySlot with the original object -- this is a new requirement. 15286 15287 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 15288 (WebCore::JSCSSStyleDeclaration::nameGetter): 15289 * bindings/js/JSCanvasPixelArrayCustom.cpp: 15290 (WebCore::JSCanvasPixelArray::indexGetter): 15291 * bindings/js/JSDOMWindowBase.cpp: 15292 (WebCore::JSDOMWindowBase::childFrameGetter): 15293 (WebCore::JSDOMWindowBase::indexGetter): 15294 (WebCore::JSDOMWindowBase::namedItemGetter): 15295 (WebCore::JSDOMWindowBase::getOwnPropertySlot): 15296 * bindings/js/JSDOMWindowBase.h: 15297 * bindings/js/JSDOMWindowCustom.h: 15298 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 15299 * bindings/js/JSHTMLAppletElementCustom.cpp: 15300 (WebCore::JSHTMLAppletElement::nameGetter): 15301 * bindings/js/JSHTMLCollectionCustom.cpp: 15302 (WebCore::JSHTMLCollection::nameGetter): 15303 * bindings/js/JSHTMLDocumentCustom.cpp: 15304 (WebCore::JSHTMLDocument::nameGetter): 15305 * bindings/js/JSHTMLEmbedElementCustom.cpp: 15306 (WebCore::JSHTMLEmbedElement::nameGetter): 15307 * bindings/js/JSHTMLFormElementCustom.cpp: 15308 (WebCore::JSHTMLFormElement::nameGetter): 15309 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 15310 (WebCore::JSHTMLFrameSetElement::nameGetter): 15311 * bindings/js/JSHTMLObjectElementCustom.cpp: 15312 (WebCore::JSHTMLObjectElement::nameGetter): 15313 * bindings/js/JSHistoryCustom.cpp: 15314 (WebCore::JSHistory::customGetOwnPropertySlot): 15315 * bindings/js/JSLocationCustom.cpp: 15316 (WebCore::JSLocation::customGetOwnPropertySlot): 15317 * bindings/js/JSMimeTypeArrayCustom.cpp: 15318 (WebCore::JSMimeTypeArray::nameGetter): 15319 * bindings/js/JSNamedNodeMapCustom.cpp: 15320 (WebCore::JSNamedNodeMap::nameGetter): 15321 * bindings/js/JSNamedNodesCollection.cpp: 15322 (WebCore::JSNamedNodesCollection::lengthGetter): 15323 (WebCore::JSNamedNodesCollection::indexGetter): 15324 * bindings/js/JSNamedNodesCollection.h: 15325 * bindings/js/JSNodeListCustom.cpp: 15326 (WebCore::JSNodeList::nameGetter): 15327 * bindings/js/JSPluginArrayCustom.cpp: 15328 (WebCore::JSPluginArray::nameGetter): 15329 * bindings/js/JSPluginCustom.cpp: 15330 (WebCore::JSPlugin::nameGetter): 15331 * bindings/js/JSQuarantinedObjectWrapper.h: 15332 * bindings/js/JSStorageCustom.cpp: 15333 (WebCore::JSStorage::nameGetter): 15334 * bindings/js/JSStyleSheetListCustom.cpp: 15335 (WebCore::JSStyleSheetList::nameGetter): 15336 * bindings/js/kjs_binding.cpp: 15337 (WebCore::nonCachingStaticFunctionGetter): 15338 (WebCore::objectToStringFunctionGetter): 15339 * bindings/js/kjs_binding.h: 15340 * bindings/js/kjs_html.cpp: 15341 (WebCore::runtimeObjectGetter): 15342 (WebCore::runtimeObjectPropertyGetter): 15343 * bindings/js/kjs_html.h: 15344 * bindings/scripts/CodeGeneratorJS.pm: 15345 * bridge/objc/objc_runtime.mm: 15346 (ObjcFallbackObjectImp::getOwnPropertySlot): 15347 * bridge/runtime_array.cpp: 15348 (RuntimeArray::lengthGetter): 15349 (RuntimeArray::indexGetter): 15350 * bridge/runtime_array.h: 15351 * bridge/runtime_method.cpp: 15352 (RuntimeMethod::lengthGetter): 15353 * bridge/runtime_method.h: 15354 * bridge/runtime_object.cpp: 15355 (RuntimeObjectImp::fallbackObjectGetter): 15356 (RuntimeObjectImp::fieldGetter): 15357 (RuntimeObjectImp::methodGetter): 15358 * bridge/runtime_object.h: 15359 Removed originalObject arguments from getter fnctions and base arguments from 15360 calls to setUndefined. 15361 15362 2008-06-03 Darin Adler <darin (a] apple.com> 15363 15364 Fix build with GCC. 15365 15366 * page/AccessibilityRenderObject.cpp: 15367 (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren): 15368 Put a default case back in the switch statement so we don't get warned about 15369 all the unhandled cases with GCC. Remove the unreachable code that was causing 15370 a warning in Visual Studio. 15371 15372 2008-06-03 Steve Falkenburg <sfalken (a] apple.com> 15373 15374 Fix build 15375 15376 * page/AccessibilityRenderObject.cpp: 15377 (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren): 15378 15379 2008-06-03 Justin Garcia <justin.garcia (a] apple.com> 15380 15381 Reviewed by John Sullivan. 15382 15383 <rdar://problem/5943515> SelectionController()->modify Backward/Forward with LineGranularity sometimes don't work 15384 15385 next/previousLinePosition didn't work if the input position was the last line in its 15386 block. The code for handling such a position assumed that the input position was 15387 editable, and that the position to be returned needed to also be editable. Changed 15388 this code to just maintain the same editability. 15389 15390 No test case for now because we haven't enabled selection extension operations for 15391 non-editable selections. I enabled them temporarily to test the fix, however. 15392 15393 * dom/Node.cpp: Removed the now unused nextEditable(int). 15394 * dom/Node.h: 15395 * editing/visible_units.cpp: 15396 (WebCore::previousLeafWithSameEditability): Added. Like previousEditable but just returns 15397 a node of the same editability. 15398 (WebCore::previousLinePosition): Call previousLeaf instead of previousEditable. 15399 (WebCore::nextLeafWithSameEditability): Added. 15400 (WebCore::nextLinePosition): Same as above. 15401 15402 2008-06-02 Anders Carlsson <andersca (a] apple.com> 15403 15404 Reviewed by John and Sam. 15405 15406 <rdar://problem/5955218> 15407 Assertion failure in ApplicationCacheGroup::addEntry when reloading a page with a cache manifest (19182) 15408 15409 * loader/appcache/ApplicationCacheGroup.h: 15410 (WebCore::ApplicationCacheGroup::hasNewestCache): 15411 Add new accessor. 15412 15413 * loader/appcache/ApplicationCacheStorage.cpp: 15414 (WebCore::ApplicationCacheStorage::cacheGroupDestroyed): 15415 Don't call newestCache since it will always be null. Instead, call hasNewestCache which returns the saved newest cache pointer. 15416 15417 2008-06-03 Dan Bernstein <mitz (a] apple.com> 15418 15419 Reviewed by Dave Hyatt. 15420 15421 - fix <rdar://problem/5965410> 15422 In fixed table layout, the width of cells with auto width should be 15423 proportional to their column span, to match Firefox and IE. 15424 15425 Test: fast/table/fixed-with-auto-with-colspan.html 15426 15427 * rendering/FixedTableLayout.cpp: 15428 (WebCore::FixedTableLayout::layout): 15429 15430 2008-06-03 Alp Toker <alp (a] nuanti.com> 15431 15432 Rubber-stamped by Alexey. 15433 15434 Remove GenerateNativeConverter added in r34331 to fix JS regressions. 15435 (JSTextCustom.cpp added in r34141 is now unused in any code path.) 15436 15437 * dom/Text.idl: 15438 15439 2008-06-03 Alexander Vassilev <avasilev (a] voipgate.com> 15440 15441 Reviewed, tweaked and landed by Alexey. 15442 15443 https://bugs.webkit.org/show_bug.cgi?id=19363 15444 Compiler error in Entity.h 15445 15446 * dom/Entity.h: 15447 (WebCore::Entity::Entity): Add a private constructor to shut down the errors. 15448 15449 2008-06-02 Geoffrey Garen <ggaren (a] apple.com> 15450 15451 Reviewed by Alexey Proskuryakov. 15452 15453 Removed JSObject::call, since it just called JSObject::callAsFunction. 15454 15455 SunSpider reports no change. 15456 15457 2008-06-02 Alp Toker <alp (a] nuanti.com> 15458 15459 Reviewed by Maciej. 15460 15461 Two of the toJSNewlyCreated() optimisations in r34141 were never 15462 reached due to a generator bug and missing IDL attribute. 15463 15464 Fix header generation to provide the necessary toJSNewlyCreated() 15465 overloads. 15466 15467 Patch includes a related build fix by Jan Michael Alonzo. 15468 15469 * GNUmakefile.am: 15470 * bindings/scripts/CodeGeneratorJS.pm: 15471 * dom/Text.idl: 15472 15473 2008-06-02 Alice Liu <alice.liu (a] apple.com> 15474 15475 Reviewed by Beth Dakin. 15476 15477 Some ARIA roles are designated to have presentational children, which 15478 means that their descendants aren't exposed to assistive technologies 15479 on an individual basis. What this means in webcore is that descendants 15480 of such roles need to be ignored in terms of accessibility. 15481 15482 * page/AccessibilityObject.cpp: 15483 (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole): 15484 (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren): 15485 * page/AccessibilityObject.h: 15486 * page/AccessibilityRenderObject.cpp: 15487 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 15488 (WebCore::RoleEntry::): 15489 (WebCore::AccessibilityRenderObject::isPresentationalChildOfAriaRole): 15490 (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren): 15491 * page/AccessibilityRenderObject.h: 15492 15493 2008-06-02 David Hyatt <hyatt (a] apple.com> 15494 15495 Fix for https://bugs.webkit.org/show_bug.cgi?id=19303 15496 15497 When the right slice value is omitted in border-image it should use the value of the left slice and not 15498 the top slice. 15499 15500 Reviewed by darin 15501 15502 Added fast/borders/border-image-omit-right-slice.html 15503 15504 * css/CSSParser.cpp: 15505 (WebCore::BorderImageParseContext::commitBorderImage) 15506 15507 2008-06-02 Anders Carlsson <andersca (a] apple.com> 15508 15509 Reviewed by David Hyatt and Mitz. 15510 15511 <rdar://problem/5704119> 15512 repro crash in WebCore::RenderPart::setWidget (plugin-related?) 15513 15514 Test: platform/mac/plugins/update-widget-from-style-recalc.html 15515 15516 Make sure to update the document's rendering before calling updateWidget. 15517 15518 * html/HTMLEmbedElement.cpp: 15519 (WebCore::HTMLEmbedElement::updateWidget): 15520 * html/HTMLObjectElement.cpp: 15521 (WebCore::HTMLObjectElement::updateWidget): 15522 15523 2008-06-02 Kevin McCullough <kmccullough (a] apple.com> 15524 15525 Reviewed by Adam. 15526 15527 <rdar://problem/5954226> JSProfiler: Move the calls from 15528 JavaScriptProfileNode to JavaScriptProfile in WebCore (19231) 15529 - This Makes the profiler now call sorting function s on a per-profile 15530 basis instead of on a node in the profile. 15531 - This is also needed to remove the recursion limit in the profiler 15532 <rdar://problem/5969992> JSProfiler: Remove the recursion limit in the 15533 profiler 15534 since once the limit is removed calling sort on a node will only sort 15535 that node's children not the entire sub-tree of that node. 15536 15537 * page/JavaScriptProfile.cpp: All of these functions were moved from 15538 JavaScriptProfileNode. 15539 (WebCore::sortTotalTimeDescending): 15540 (WebCore::sortTotalTimeAscending): 15541 (WebCore::sortSelfTimeDescending): 15542 (WebCore::sortSelfTimeAscending): 15543 (WebCore::sortCallsDescending): 15544 (WebCore::sortCallsAscending): 15545 (WebCore::sortFunctionNameDescending): 15546 (WebCore::sortFunctionNameAscending): 15547 (WebCore::ProfileClass): 15548 * page/JavaScriptProfileNode.cpp: 15549 (WebCore::ProfileNodeClass): 15550 * page/inspector/ProfileView.js: Change uses of JavaScriptProfileNode 15551 for sorting to JavaScriptProfile. 15552 15553 2008-06-02 Dan Bernstein <mitz (a] apple.com> 15554 15555 Reviewed by Oliver Hunt. 15556 15557 - fix more cases of https://bugs.webkit.org/show_bug.cgi?id=19344 15558 <rdar://problem/5977300> Regression: Shadow offsets seem to have changed in 10.5.3 in canvas 15559 15560 Tests: fast/canvas/shadow-offset-1.html 15561 fast/canvas/shadow-offset-2.html 15562 fast/canvas/shadow-offset-3.html 15563 fast/canvas/shadow-offset-4.html 15564 fast/canvas/shadow-offset-5.html 15565 fast/canvas/shadow-offset-6.html 15566 fast/canvas/shadow-offset-7.html 15567 15568 * html/CanvasRenderingContext2D.cpp: 15569 (WebCore::adjustedShadowSize): Added this helper function. 15570 (WebCore::CanvasRenderingContext2D::setShadow): Changed to call 15571 adjustedShadowSize(). 15572 (WebCore::CanvasRenderingContext2D::applyShadow): Ditto. 15573 15574 2008-06-02 Julien Chaffraix <jchaffraix (a] webkit.org> 15575 15576 Reviewed by Darin. 15577 15578 Bug 18066: REGRESSION: createAttribute throws NAMESPACE_ERR exception 15579 https://bugs.webkit.org/show_bug.cgi?id=18066 15580 15581 Test: fast/dom/createAttribute-exception.html 15582 15583 * dom/Document.cpp: 15584 (WebCore::Document::createAttributeNS): 15585 * dom/Document.h: Add a bool parameter shouldIgnoreNamespaceChecks 15586 to createNamespaceNS() used by createAttribute() to bypass namespace 15587 checking. 15588 15589 2008-06-02 Darin Adler <darin (a] apple.com> 15590 15591 Reviewed by John Sullivan. 15592 15593 - fix https://bugs.webkit.org/show_bug.cgi?id=18799 15594 apl.aip.org menu does not work (property names should be case sensitive) 15595 <rdar://problem/5900484> 15596 15597 Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html 15598 15599 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 15600 (WebCore::hasCSSPropertyNamePrefix): Tweak implementation a tiny bit for 15601 improved performance when the first character does not match. 15602 (WebCore::cssPropertyName): Reject property names with a leading uppercase 15603 letter. 15604 15605 2008-06-02 Darin Adler <darin (a] apple.com> 15606 15607 Reviewed by Mitz. 15608 15609 - fix https://bugs.webkit.org/show_bug.cgi?id=19358 15610 <rdar://problem/5951986> first line break in <pre> elements ignored 15611 (chess boards at http://rankzero.de/) 15612 15613 Test: fast/parser/pre-first-line-break.html 15614 15615 * editing/markup.cpp: 15616 (WebCore::appendStartMarkup): Fix handling of <listing>. Not part of the 15617 bug mentioned above, but uncovered by the regression test. 15618 15619 * html/HTMLTokenizer.cpp: 15620 (WebCore::HTMLTokenizer::write): Clear the "discardLF" flag when 15621 processing a new tag. 15622 15623 2008-06-02 Timothy Hatcher <timothy (a] apple.com> 15624 15625 Fixes a bug where only the last breakpoint would be hit after reloading 15626 the page. Also fixes a bug where disabled breakpoints would be hit 15627 after reloading the page. 15628 15629 Reviewed by Darin Adler. 15630 15631 * page/inspector/BreakpointsSidebarPane.js: 15632 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): Don't call 15633 InspectorController.addBreakpoint() unless the breakpoint is enabled. 15634 * page/inspector/ScriptsPanel.js: 15635 (WebInspector.ScriptsPanel.prototype.addScript): Move the addBreakpoint() 15636 call inside the for loop so each breakpoint is added. Also check the 15637 breakpoint's enabled state before calling addBreakpoint(). 15638 15639 2008-06-02 Timothy Hatcher <timothy (a] apple.com> 15640 15641 Fixes a bug where the line highlight and the execution line were conflicting. 15642 The line highlight no longer shows up when the execution line changes, only 15643 when showResource or showScript is called with a line number. 15644 15645 Reviewed by Darin Adler. 15646 15647 * page/inspector/ScriptsPanel.js: 15648 (WebInspector.ScriptsPanel.prototype.showScript): Pass true for shouldHighlightLine. 15649 (WebInspector.ScriptsPanel.prototype.showResource): Ditto. 15650 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Added a shouldHighlightLine 15651 argument that triggers the highlightLine() call on the SourceFrame. 15652 (WebInspector.ScriptsPanel.prototype._goBack): Pass false for shouldHighlightLine since 15653 we need to pass true for fromBackForwardAction. 15654 (WebInspector.ScriptsPanel.prototype._goForward): Ditto. 15655 15656 2008-06-02 Timothy Hatcher <timothy (a] apple.com> 15657 15658 Bring the Web Inspector forward when the debugger pauses. 15659 15660 https://bugs.webkit.org/show_bug.cgi?id=19095 15661 15662 Reviewed by Darin Adler. 15663 15664 * page/inspector/ScriptsPanel.js: 15665 (WebInspector.ScriptsPanel.prototype.debuggerPaused): Call window.focus() and 15666 make the Scripts panel the current panel. 15667 15668 2008-06-02 Jan Michael Alonzo <jmalonzo (a] webkit.org> 15669 15670 Reviewed by Alp Toker. 15671 15672 Build WebCore GTK+ sources as part of WebCore, not WebKit. 15673 Split common and GTK+-specific sources into separate file lists. 15674 15675 * GNUmakefile.am: 15676 15677 2008-05-30 Tor Arne Vestb <tavestbo (a] trolltech.com> 15678 15679 Reviewed by Simon. 15680 15681 Implement basic media element controls for the QtWebKit port. 15682 15683 * platform/qt/RenderThemeQt.cpp: 15684 (WebCore::WorldMatrixTransformer::WorldMatrixTransformer): 15685 (WebCore::WorldMatrixTransformer::~WorldMatrixTransformer): 15686 (WebCore::RenderThemeQt::getMediaElementFromRenderObject): 15687 (WebCore::RenderThemeQt::paintMediaBackground): 15688 (WebCore::RenderThemeQt::getMediaControlForegroundColor): 15689 (WebCore::RenderThemeQt::paintMediaFullscreenButton): 15690 (WebCore::RenderThemeQt::paintMediaMuteButton): 15691 (WebCore::RenderThemeQt::paintMediaPlayButton): 15692 (WebCore::RenderThemeQt::paintMediaSeekBackButton): 15693 (WebCore::RenderThemeQt::paintMediaSeekForwardButton): 15694 (WebCore::RenderThemeQt::paintMediaSliderTrack): 15695 (WebCore::RenderThemeQt::paintMediaSliderThumb): 15696 (WebCore::RenderThemeQt::adjustSliderThumbSize): 15697 * platform/qt/RenderThemeQt.h: 15698 * platform/qt/html4-adjustments-qt.css: 15699 15700 2008-05-30 Tor Arne Vestb <tavestbo (a] trolltech.com> 15701 15702 Reviewed by Simon. 15703 15704 Change default styling of media elements to allow controls 15705 to be placed at any position within the media element. 15706 15707 * css/html4.css: 15708 15709 2008-05-30 Tor Arne Vestb <tavestbo (a] trolltech.com> 15710 15711 Reviewed by Simon. 15712 15713 Use intrinsic size for media elements with no natural size. 15714 15715 * rendering/RenderVideo.cpp: 15716 (WebCore::RenderVideo::videoSizeChanged): 15717 15718 2008-05-28 Tor Arne Vestb <tavestbo (a] trolltech.com> 15719 15720 Reviewed by Simon. 15721 15722 Allow platform specific adjustments to the default style sheet. 15723 15724 Clients will change the #ifdef in RenderTheme.cpp and implement 15725 any platform specific adjustments in RenderThemeXXX.cpp, either 15726 by loading a file as the Qt port does, or by modifying the style 15727 directly. 15728 15729 * WebCore.pro: Add new resource file 15730 * css/CSSStyleSelector.cpp: 15731 (WebCore::loadDefaultStyle): adjust default stylesheet 15732 * platform/qt/RenderThemeQt.cpp: 15733 (WebCore::RenderTheme::adjustDefaultStyleSheet): Qt adjustments 15734 * platform/qt/WebCoreResources.qrc: Added. 15735 * platform/qt/html4-adjustments-qt.css: Added. 15736 * rendering/RenderTheme.cpp: Default adjustments (none) 15737 * rendering/RenderTheme.h: 15738 15739 2008-06-02 Siraj Razick <siraj.razick (a] collabora.co.uk> 15740 15741 Reviewed by Simon 15742 15743 Allow button fonts to scale based on the text size multiplier. 15744 15745 https://bugs.webkit.org/show_bug.cgi?id=19251 15746 15747 * platform/qt/RenderThemeQt.cpp: 15748 (WebCore::RenderThemeQt::adjustButtonStyle): 15749 15750 2008-06-01 Rob Buis <buis (a] kde.org> 15751 15752 Reviewed by Darin. 15753 15754 https://bugs.webkit.org/show_bug.cgi?id=15823 15755 getPropertyValue for border returns null, should compute the shorthand value 15756 15757 Compute the value for the border shorthand property by computing 15758 its shorthand subproperties. 15759 15760 Test: fast/css/getPropertyValue-border.html 15761 15762 * css/CSSMutableStyleDeclaration.cpp: 15763 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 15764 (WebCore::CSSMutableStyleDeclaration::getCommonValue): 15765 * css/CSSMutableStyleDeclaration.h: 15766 15767 2008-06-01 Dan Bernstein <mitz (a] apple.com> 15768 15769 Reviewed by Darin Adler. 15770 15771 - fix https://bugs.webkit.org/show_bug.cgi?id=19344 15772 <rdar://problem/5977300> Regression: Shadow offsets seem to have changed in 10.5.3 in canvas 15773 15774 Test: fast/canvas/shadow-offset.html 15775 15776 * html/CanvasRenderingContext2D.cpp: 15777 (WebCore::CanvasRenderingContext2D::applyShadow): Slightly increase the 15778 magnitude of the offsets passed to CGContextSetShadow* to ensure that 15779 the end result after truncation is the desired integer offsets. This is 15780 the same workaround for <rdar://problem/5539388> that is used in 15781 GraphicsContext::setShadow(). Also correct a recent regression where 15782 shadow Y offsets were flipped. 15783 15784 2008-05-31 Maciej Stachowiak <mjs (a] apple.com> 15785 15786 Reviewed by Sam. 15787 15788 - avoid assertion in updateDocument() when running debug 15789 15790 * bindings/js/kjs_proxy.cpp: 15791 (WebCore::KJSProxy::updateDocument): Exit early if the document is null. We 15792 don't need to update in this case. 15793 15794 2008-05-30 Dan Bernstein <mitz (a] apple.com> 15795 15796 Reviewed by Darin Adler. 15797 15798 - fix https://bugs.webkit.org/show_bug.cgi?id=19278 15799 <rdar://problem/5968621> REGRESSION (r31114-r31132): image float disappears on refresh 15800 15801 Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break.html 15802 15803 * rendering/bidi.cpp: 15804 (WebCore::RenderBlock::layoutInlineChildren): Ensured that floats 15805 occurring in trailing whitespace after a line break are added to the 15806 last line's floats vector. 15807 15808 2008-05-30 Timothy Hatcher <timothy (a] apple.com> 15809 15810 Implements the back and forward buttons in the Scripts panel. 15811 15812 Reviewed by Adam Roben. 15813 15814 * page/inspector/ScriptsPanel.js: 15815 (WebInspector.ScriptsPanel): Add the back and forward button elements 15816 and remove the FIXMEs. 15817 (WebInspector.ScriptsPanel.prototype.reset): Reset _backForwardList 15818 and _currentBackForwardIndex. Then call _updateBackAndForwardButtons(). 15819 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 15820 Added a fromBackForwardAction argument. If fromBackForwardAction is false 15821 then update the _currentBackForwardIndex and _backForwardList. 15822 (WebInspector.ScriptsPanel.prototype._updateBackAndForwardButtons): 15823 Update the disabled state of the buttons. 15824 (WebInspector.ScriptsPanel.prototype._goBack): Update the _currentBackForwardIndex 15825 and call _showScriptOrResource() and _updateBackAndForwardButtons(). 15826 (WebInspector.ScriptsPanel.prototype._goForward): Ditto. 15827 15828 2008-05-30 Timothy Hatcher <timothy (a] apple.com> 15829 15830 Made clicking a Console message URL originating from a JavaScript 15831 source show the Resource in the Scripts panel. This only happens 15832 when the debugger is attached. 15833 15834 Reviewed by Adam Roben. 15835 15836 * page/inspector/Console.js: 15837 (WebInspector.Console.prototype._formaterror): 15838 Add a preferredPanel of "scripts". 15839 (WebInspector.ConsoleMessage.prototype.toMessageElement): 15840 Add a preferredPanel of "scripts" when the source is JS. 15841 * page/inspector/ScriptView.js: 15842 (WebInspector.ScriptView.prototype.highlightLine): Added. 15843 Calls through to the sourceFrame. Matches SourceView. 15844 * page/inspector/ScriptsPanel.js: 15845 (WebInspector.ScriptsPanel.prototype.canShowResource): Added. 15846 Returns true if the debugger is attached and the resource has scripts. 15847 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Call 15848 highlightLine on the view. 15849 * page/inspector/inspector.js: 15850 (WebInspector.documentClick): Pass the preferredPanel to showResourceForURL. 15851 (WebInspector.showResourceForURL): Resolve the preferredPanel from the string 15852 passed in. Checks if the panel implements showResource and canShowResource. 15853 Reverts to the Resources panel if any of that is false or not implemented. 15854 15855 2008-05-30 Timothy Hatcher <timothy (a] apple.com> 15856 15857 Fixed an "undefined type" exception that was being thrown when 15858 selecting a eval script from the file menu in the Scripts panel. 15859 This would also happen when stepping into an eval which would 15860 break other parts of the Inspector interface. 15861 15862 Reviewed by Adam Roben. 15863 15864 * page/inspector/ScriptsPanel.js: 15865 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 15866 Use the scriptOrResource variable instead of the undefined script variable. 15867 15868 2008-05-30 Timothy Hatcher <timothy (a] apple.com> 15869 15870 Made the starting line number of scripts be 1-based throughout the engine. 15871 This cleans up script line numbers so they are all consistent now and fixes 15872 some cases where script execution was shown as off by one line in the debugger. 15873 15874 Doing this also exposed a bug where JSLazyEventListener created in XHML or SVG 15875 documents would always have a line number of 0. So this change fixed that bug 15876 to pass all the SVG and XHTML tests. 15877 15878 All layout tests pass. 15879 15880 Reviewed by Oliver Hunt. 15881 15882 * bindings/js/kjs_events.cpp: 15883 (WebCore::JSLazyEventListener::JSLazyEventListener): Set the line number to 1 15884 if it was passed in as 0. This can happen when listeners are created with 15885 a setAttribute call from JavaScript. 15886 (WebCore::JSLazyEventListener::parseCode): Add a FIXME about the URL being 15887 incorrect when listeners are created with a setAttribute call from JavaScript. 15888 * bindings/js/kjs_events.h: Remove the default value for lineNumber, since no 15889 callers need it. 15890 * bindings/objc/WebScriptObject.mm: 15891 (-[WebScriptObject evaluateWebScript:]): Pass a line number of 1 instead of 0 15892 to Interpreter::evaluate(). 15893 * bridge/NP_jsobject.cpp: 15894 (_NPN_Evaluate): Ditto. 15895 * bridge/jni/jni_jsobject.mm: 15896 (JavaJSObject::eval): Ditto. 15897 * dom/XMLTokenizer.cpp: 15898 (WebCore::XMLTokenizer::startElementNs): Call KJSProxy::setEventHandlerLineno() 15899 around the call to handleElementAttributes, so any JSLazyEventListener created 15900 from those attributes have line numbers. 15901 (WebCore::XMLTokenizer::endElementNs): Remove a minus 1 of the line number. 15902 (WebCore::XMLTokenizer::notifyFinished): Pass a line number of 1 instead of 0. 15903 (WebCore::XMLTokenizer::parseEndElement): Remove a minus 1 of the line number. 15904 * html/HTMLScriptElement.cpp: 15905 (WebCore::HTMLScriptElement::evaluateScript): Add a FIXME about the starting 15906 line number being incorrect in some cases when this function is called. 15907 * html/HTMLTokenizer.cpp: 15908 (WebCore::HTMLTokenizer::parseSpecial): Add a plus 1 to the line number when 15909 setting scriptStartLineno so it is 1-based. Same for calling setEventHandlerLineno(). 15910 (WebCore::HTMLTokenizer::processToken): Ditto. 15911 * html/HTMLTokenizer.h: Change the default line number on scriptExecution() to 1 from 0. 15912 * loader/FrameLoader.cpp: 15913 (FrameLoader::executeIfJavaScriptURL): Pass a line number of 1 instead of 0 to executeScript(). 15914 15915 2008-05-30 Maciej Stachowiak <mjs (a] apple.com> 15916 15917 Reviewed by Oliver (earlier version reviewed by Alexey). 15918 15919 - speculative fix for "REGRESSION(r34143?): Frequent crash while browsing" 15920 https://bugs.webkit.org/show_bug.cgi?id=19285 15921 15922 ("This Time for Sure" Edition) 15923 15924 I'm pretty sure this fixes it but I have not been able to 15925 reproduce and am unsure if my theory of the bug is right. 15926 15927 I belive the bug was because JSDOMWindowBase accessed 15928 JSDOMWindowShell in its destructor to remove itself from a 15929 hashtable, but GC destructor order is not guaranteed, so the 15930 hashtable may have been freed already. This patch changes things 15931 so that a non-GC object (the KJSProxy) does the tracking of live 15932 window objects for a frame. JSDOMWindowBase can null check the frame 15933 pointer to verify if it is still good. 15934 15935 In addition, we must create a similar setup between DOMWindow and 15936 Frame; since the DOMWindow of a given frame can now change over 15937 time, we must ensure that the Frame disconnects every live 15938 DOMWindow when destroyed, not just the last. 15939 15940 * bindings/js/JSDOMWindowBase.cpp: 15941 (WebCore::JSDOMWindowBase::~JSDOMWindowBase): 15942 * bindings/js/JSDOMWindowShell.cpp: 15943 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 15944 * bindings/js/JSDOMWindowShell.h: 15945 (WebCore::JSDOMWindowShell::setWindow): 15946 * bindings/js/kjs_proxy.cpp: 15947 (WebCore::KJSProxy::clear): 15948 (WebCore::KJSProxy::initScript): 15949 (WebCore::KJSProxy::updateDocument): 15950 * bindings/js/kjs_proxy.h: 15951 (WebCore::KJSProxy::clearFormerWindow): 15952 * page/DOMWindow.cpp: 15953 (WebCore::DOMWindow::~DOMWindow): 15954 * page/Frame.cpp: 15955 (WebCore::Frame::~Frame): 15956 (WebCore::Frame::setDocument): 15957 (WebCore::Frame::clearDOMWindow): 15958 (WebCore::Frame::clearFormerDOMWindow): 15959 * page/Frame.h: 15960 * page/FramePrivate.h: 15961 15962 2008-05-30 Dan Bernstein <mitz (a] apple.com> 15963 15964 Reviewed by Darin Adler and Dave Hyatt. 15965 15966 - eliminate excessive repainting when an object's final position 15967 after layout is unchanged 15968 15969 * rendering/RenderBlock.cpp: 15970 (WebCore::RenderBlock::layoutBlockChildren): Removed the full repaint 15971 for the case that the final position is unchanged but the position at 15972 which an intermediate layout occurred was different. Any repainting 15973 done during the intermediate layout would have happened at the object's 15974 initial (and also final) coordinates, since layoutDelta is factored 15975 into repaint rect calculations. 15976 15977 2008-05-30 Chris Fleizach <cfleizach (a] apple.com> 15978 15979 Reviewed by Beth Dakin. 15980 15981 <rdar://problem/5959478> r34079: AX: crash at stringForReplacedNode 15982 15983 * page/AccessibilityObject.cpp: 15984 (WebCore::stringForReplacedNode): 15985 15986 2008-05-30 Tor Arne Vestb <tavestbo (a] trolltech.com> 15987 15988 Reviewed by Simon. 15989 15990 Fix the build dependencies for the Qt build. Don't generate 15991 SVGCSSPropertyNames.cpp for every build. 15992 15993 * WebCore.pro: The output file was renamed, so the compiler rule needs 15994 to be adjusted in order for qmake to generate correct depdencies. 15995 15996 2008-05-30 Maciej Stachowiak <mjs (a] apple.com> 15997 15998 Revert fix for 19285, it just caused more crashes and I need time 15999 to fix it properly. 16000 16001 * bindings/js/JSDOMWindowBase.cpp: 16002 (WebCore::JSDOMWindowBase::~JSDOMWindowBase): 16003 * bindings/js/JSDOMWindowShell.cpp: 16004 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 16005 (WebCore::JSDOMWindowShell::updateDocument): 16006 * bindings/js/JSDOMWindowShell.h: 16007 (WebCore::JSDOMWindowShell::setWindow): 16008 (WebCore::JSDOMWindowShell::clearFormerWindow): 16009 * bindings/js/kjs_proxy.cpp: 16010 (WebCore::KJSProxy::clear): 16011 (WebCore::KJSProxy::initScript): 16012 * bindings/js/kjs_proxy.h: 16013 * page/Frame.cpp: 16014 (WebCore::Frame::setDocument): 16015 16016 2008-05-30 Adam Treat <treat (a] kde.org> 16017 16018 Reviewed by Simon. 16019 16020 Fix a huge memory leak by ensuring that on application shutdown 16021 the shared timer is fired one last time if it is active. This 16022 ensures that the GCController timer is fired at the end to free 16023 references to JavaScript objects. 16024 16025 * platform/qt/SharedTimerQt.h: 16026 (WebCore::SharedTimerQt::cleanup): 16027 (WebCore::SharedTimerQt::inst): 16028 16029 2008-05-30 Alexey Proskuryakov <ap (a] webkit.org> 16030 16031 Reviewed by Darin. 16032 16033 http://bugs.webkit.org/show_bug.cgi?id=7466 16034 <rdar://problem/4657563> Use of Ctrl as access key modifier conflicts with Mac OS X 16035 emacs-style keybindings 16036 16037 * page/EventHandler.cpp: 16038 (WebCore::EventHandler::handleAccessKey): Use Ctrl+Option for access keys on Mac OS X. 16039 16040 2008-05-30 Maciej Stachowiak <mjs (a] apple.com> 16041 16042 Reviewed by Alexey. 16043 16044 - speculative fix for "REGRESSION(r34143?): Frequent crash while browsing" 16045 https://bugs.webkit.org/show_bug.cgi?id=19285 16046 16047 I'm pretty sure this fixes it but I have not been able to 16048 reproduce and am unsure if my theory of the bug is right. 16049 16050 I belive the bug was because JSDOMWindowBase accessed 16051 JSDOMWindowShell in its destructor to remove itself from a 16052 hashtable, but GC destructor order is not guaranteed, so the 16053 hashtable may have been freed already. This patch changes things 16054 so that a non-GC object (the KJSProxy) does the tracking of live 16055 window objects for a frame. JSDOMWindowBase can null check the frame 16056 pointer to verify if it is still good. 16057 16058 * bindings/js/JSDOMWindowBase.cpp: 16059 (WebCore::JSDOMWindowBase::~JSDOMWindowBase): 16060 * bindings/js/JSDOMWindowShell.cpp: 16061 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 16062 * bindings/js/JSDOMWindowShell.h: 16063 (WebCore::JSDOMWindowShell::setWindow): 16064 * bindings/js/kjs_proxy.cpp: 16065 (WebCore::KJSProxy::clear): 16066 (WebCore::KJSProxy::initScript): 16067 (WebCore::KJSProxy::updateDocument): 16068 * bindings/js/kjs_proxy.h: 16069 (WebCore::KJSProxy::clearFormerWindow): 16070 * page/Frame.cpp: 16071 (WebCore::Frame::setDocument): 16072 16073 2008-05-29 Chris Fleizach <cfleizach (a] apple.com> 16074 16075 Reviewed by Darin Adler. 16076 16077 <rdar://problem/4783102> Radio button/checkbox embedded with <label> tag should combine the text and the label as a single element 16078 <rdar://problem/5091386> Seed: VO reads form labels twice in Safari 16079 16080 * page/AccessibilityObject.cpp: 16081 (WebCore::AccessibilityObject::titleUIElement): 16082 * page/AccessibilityObject.h: 16083 (WebCore::AccessibilityObject::isControl): 16084 * page/AccessibilityRenderObject.cpp: 16085 (WebCore::AccessibilityRenderObject::isControl): 16086 (WebCore::AccessibilityRenderObject::labelElementContainer): 16087 (WebCore::AccessibilityRenderObject::title): 16088 (WebCore::AccessibilityRenderObject::checkboxOrRadioRect): 16089 (WebCore::AccessibilityRenderObject::elementRect): 16090 (WebCore::AccessibilityRenderObject::titleUIElement): 16091 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 16092 (WebCore::AccessibilityRenderObject::roleValue): 16093 * page/AccessibilityRenderObject.h: 16094 * page/mac/AccessibilityObjectWrapper.mm: 16095 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 16096 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 16097 16098 2008-05-29 Timothy Hatcher <timothy (a] apple.com> 16099 16100 Fixes the regression where image resources don't have a preview icon. 16101 16102 https://bugs.webkit.org/show_bug.cgi?id=18500 16103 16104 Reviewed by Adam Roben. 16105 16106 * page/inspector/ResourcesPanel.js: 16107 (WebInspector.ResourceSidebarTreeElement): Call createIconElement before 16108 calling the superclass. 16109 (WebInspector.ResourceSidebarTreeElement.prototype.createIconElement): 16110 Create an iconElement, if the category is images then make a div that 16111 contains a preview image. Otherwise just make an img element. If there 16112 was a previous iconElement, then replace it. 16113 (WebInspector.ResourceSidebarTreeElement.prototype.refresh): Call 16114 createIconElement if the category changed. 16115 * page/inspector/SidebarTreeElement.js: 16116 (WebInspector.SidebarTreeElement): Create an iconElement if one hasn't 16117 been made already by a subclass. 16118 (WebInspector.SidebarTreeElement.prototype.onattach): Append the iconElement 16119 instead of creating one each time. 16120 * page/inspector/inspector.css: New and updated style rules. 16121 16122 2008-05-29 Timothy Hatcher <timothy (a] apple.com> 16123 16124 Removes a use of the internal _childrenListNode property by adding 16125 a getter/setter for smallChildren to SidebarSectionTreeElement. 16126 16127 Reviewed by Adam Roben. 16128 16129 * page/inspector/ResourcesPanel.js: 16130 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): 16131 Toggle smallChildren on the resourcesTreeElement instead of setting 16132 the style class directly. 16133 * page/inspector/SidebarTreeElement.js: 16134 (WebInspector.SidebarSectionTreeElement.prototype.smallChildren): 16135 Sets or removes the small class on the _childrenListNode. 16136 16137 2008-05-29 Timothy Hatcher <timothy (a] apple.com> 16138 16139 Fixes a bug where the className would be reset for Resource 16140 tree elements and the selected state would be lost. This could 16141 happen when sorting the resources. 16142 16143 https://bugs.webkit.org/show_bug.cgi?id=19211 16144 16145 Reviewed by Adam Roben. 16146 16147 * page/inspector/ResourcesPanel.js: 16148 (WebInspector.ResourceSidebarTreeElement.prototype.refresh): Call 16149 removeMatchingStyleClasses to remove previous category classes instead 16150 of setting the whole className directly. 16151 * page/inspector/utilities.js: 16152 (Element.prototype.removeStyleClass): Moved code to 16153 removeMatchingStyleClasses and call removeMatchingStyleClasses. 16154 (Element.prototype.removeMatchingStyleClasses): Added. Code moved from 16155 removeStyleClass and don't escape the string. 16156 16157 2008-05-29 David Hyatt <hyatt (a] apple.com> 16158 16159 Improve the performance of the GUIMark benchmark by 2x in the CoreGraphics code path. 16160 16161 Whenever a foreground image changes size rapidly, we will now dynamically shift into rendering it 16162 using low quality scaling. Once the animation completes, the image will repaint at high quality. 16163 Scaled images will still render at high quality by default, only shifting into low quality if 16164 the scale factor is rapidly changing. This change raises GUIMark from 21fps to 34fps on my machine. 16165 16166 Rewrite the Image draw method to avoid the use of throwaway CG subimages. Instead the entire image is 16167 always drawn (with the appropriate clip and scale set up to make sure the correct subimage portion shows up 16168 in the destination rect). This change raises GUIMark from 34fps to 43fps on my machine. 16169 16170 Reviewed by Darin 16171 16172 * platform/graphics/GraphicsContext.cpp: 16173 (WebCore::GraphicsContext::drawImage): 16174 * platform/graphics/cg/ImageCG.cpp: 16175 (WebCore::BitmapImage::draw): 16176 * rendering/RenderImage.cpp: 16177 (WebCore::RenderImageScaleData::RenderImageScaleData): 16178 (WebCore::RenderImageScaleData::~RenderImageScaleData): 16179 (WebCore::RenderImageScaleData::size): 16180 (WebCore::RenderImageScaleData::time): 16181 (WebCore::RenderImageScaleData::useLowQualityScale): 16182 (WebCore::RenderImageScaleData::hiqhQualityRepaintTimer): 16183 (WebCore::RenderImageScaleData::setSize): 16184 (WebCore::RenderImageScaleData::setTime): 16185 (WebCore::RenderImageScaleData::setUseLowQualityScale): 16186 (WebCore::RenderImageScaleObserver::shouldImagePaintAtLowQuality): 16187 (WebCore::RenderImageScaleObserver::imageDestroyed): 16188 (WebCore::RenderImageScaleObserver::highQualityRepaintTimerFired): 16189 (WebCore::RenderImage::highQualityRepaintTimerFired): 16190 (WebCore::RenderImage::~RenderImage): 16191 (WebCore::RenderImage::paintReplaced): 16192 * rendering/RenderImage.h: 16193 16194 2008-05-29 Justin Garcia <justin.garcia (a] apple.com> 16195 16196 Reviewed by Eric. 16197 16198 <rdar://problem/5847330> REGRESSION CrashTracer: [USER] 536 crashes at WebCore::highestAncestor 16199 16200 * editing/CompositeEditCommand.cpp: 16201 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Don't break out of an empty 16202 list item if its parent is non-editable, since doing so will move into non-editable content. 16203 * editing/DeleteSelectionCommand.cpp: 16204 (WebCore::DeleteSelectionCommand::initializePositionData): We want to prevent merges from 16205 table cells even if those table cells are non-editable. 16206 * editing/htmlediting.cpp: 16207 (WebCore::enclosingNodeOfType): Can now return non-editable nodes, for cases where the caller 16208 isn't going to do editing in the returned node. 16209 * editing/htmlediting.h: 16210 16211 2008-05-29 Anders Carlsson <andersca (a] apple.com> 16212 16213 Reviewed by Mitz. 16214 16215 <rdar://problem/5971845> 16216 https://bugs.webkit.org/show_bug.cgi?id=19313 16217 Add version member to NPCocoaEvent 16218 16219 * bridge/npapi.h: 16220 16221 2008-05-29 Alexey Proskuryakov <ap (a] webkit.org> 16222 16223 Reviewed by Adam Roben. 16224 16225 <rdar://problem/5960682> REGRESSION(r30535): Crashes on iExploder in checkForHeadCharset(). 16226 16227 I don't see how to make a reliable test, but iExploder catches this quickly. 16228 16229 * loader/TextResourceDecoder.cpp: 16230 (WebCore::TextResourceDecoder::checkForHeadCharset): Correct the length passed to 16231 findIgnoringCase(). 16232 16233 2008-05-29 Peter Kasting <pkasting (a] google.com> 16234 16235 Reviewed by Dave Hyatt. 16236 16237 https://bugs.webkit.org/show_bug.cgi?id=19273 16238 Handle looping GIFs correctly (at least in the open source GIF decoder) even when 16239 the loop count doesn't appear in the initial data packets. 16240 16241 * platform/graphics/BitmapImage.cpp: 16242 (WebCore::BitmapImage::cacheFrame): 16243 (WebCore::BitmapImage::startAnimation): 16244 (WebCore::BitmapImage::advanceAnimation): 16245 * platform/image-decoders/gif/GIFImageDecoder.cpp: 16246 (WebCore::GIFImageDecoder::GIFImageDecoder): 16247 (WebCore::GIFImageDecoder::repetitionCount): 16248 (WebCore::GIFImageDecoder::gifComplete): 16249 * platform/image-decoders/gif/GIFImageDecoder.h: 16250 16251 2008-05-29 Brent Fulgham <bfulgham (a] gmail.com> 16252 16253 Reviewed by Alp Toker. 16254 16255 http://bugs.webkit.org/show_bug.cgi?id=19284 16256 Correct Windows (Cairo) Build Regressions 16257 16258 Correct small Windows (Cairo) build regressions in recent updates. 16259 16260 * platform/graphics/SimpleFontData.h: Correct build regression due 16261 to r32781 (additional use of m_syntheticBoldOffset in GDI code). 16262 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 16263 Correct build regression due to r31830 (change of clip signature 16264 to use FloatRect rather than IntRect). 16265 * platform/graphics/win/SimpleFontDataCairoWin.cpp: 16266 (WebCore::SimpleFontData::platformInit): Initialize 16267 m_syntheticBoldOffset 16268 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 16269 (WebCore::JPEGImageReader::JPEGImageReader): Work around build 16270 error due to warnings about _setjmp treated as errors. 16271 * platform/image-decoders/png/PNGImageDecoder.cpp: Work around 16272 build error due to warnings about _setjmp treated as errors. 16273 * platform/network/curl/ResourceHandleCurl.cpp: Correct build error 16274 due to different order (and content) of include files when building 16275 with CoreFoundation (but not CoreGraphics). 16276 * platform/network/curl/ResourceHandleManager.cpp: 16277 (WebCore::ResourceHandleManager::setupPOST): Correct build error 16278 due to Visual Studio compiler bug. 16279 16280 2008-05-29 Alexey Proskuryakov <ap (a] webkit.org> 16281 16282 Reviewed by Darin. 16283 16284 https://bugs.webkit.org/show_bug.cgi?id=19215 16285 REGRESSION: transformToDocument fails when xsl includes   16286 16287 Test: fast/xsl/nbsp-in-stylesheet.html 16288 16289 * editing/markup.cpp: 16290 (WebCore::appendAttributeValue): 16291 (WebCore::appendEscapedContent): 16292 (WebCore::escapeContentText): 16293 (WebCore::appendQuotedURLAttributeValue): 16294 (WebCore::appendNamespace): 16295 (WebCore::appendStartMarkup): 16296 (WebCore::appendDocumentType): 16297 (WebCore::createMarkup): 16298 Only escape non-breaking spaces in HTML documents. In Firefox, this behavior is also limited 16299 to innerHTML, but we don't have a separate code path for it, and do not necessarily want to. 16300 16301 * page/Frame.cpp: 16302 (WebCore::Frame::documentTypeString): 16303 * dom/CDATASection.cpp: 16304 * dom/CDATASection.h: 16305 * dom/Comment.cpp: 16306 * dom/Comment.h: 16307 * dom/DocumentType.cpp: 16308 * dom/DocumentType.h: 16309 * dom/ProcessingInstruction.cpp: 16310 * dom/ProcessingInstruction.h: 16311 While at it, I also wanted to fix escaping for these nodes, but it turned out that FIXMEs were 16312 incorrect. So, I just moved their serialization to markup.cpp for consistency. 16313 16314 2008-05-29 Maciej Stachowiak <mjs (a] apple.com> 16315 16316 Reviewed by Dave Hyatt. 16317 16318 - speed up DHTML using lazy style resolution and renderer creation 16319 16320 This change introduces the concept of "lazy attach" - when a node 16321 is lazy attached, then instead of resolving style and creating a 16322 renderer right away, we just mark it as needing a style recalc. 16323 16324 The patch makes use of this mechanism when inserting nodes directly 16325 using DOM APIs from script. For now this is only done for the 16326 JavaScript language binding but could also be done for other 16327 bindings in the future. 16328 16329 Lazy attach helps some common DHTML patterns - when a node is 16330 added to the DOM, and then subsequently changed in a 16331 style-affecting way, this causes an extra style recalc. This is a 16332 fairly common pattern so it is better to be lazy. 16333 16334 * bindings/js/JSNodeCustom.cpp: 16335 (WebCore::JSNode::insertBefore): Request lazy attach. 16336 (WebCore::JSNode::replaceChild): ditto 16337 (WebCore::JSNode::appendChild): ditto 16338 * dom/ContainerNode.cpp: 16339 (WebCore::ContainerNode::insertBefore): Support lazy attach. 16340 (WebCore::ContainerNode::replaceChild): ditto 16341 (WebCore::ContainerNode::appendChild): ditto 16342 (WebCore::ContainerNode::detach): Clear "changed child" bit if still set. 16343 * dom/ContainerNode.h: 16344 * dom/Element.cpp: 16345 (WebCore::Element::recalcStyle): Adjusted to properly reattach a 16346 lazy-attached node. 16347 * dom/Node.cpp: 16348 (WebCore::Node::insertBefore): Extra parameter for lazy attach 16349 (still doesn't do anything). 16350 (WebCore::Node::replaceChild): ditto 16351 (WebCore::Node::appendChild): ditto 16352 (WebCore::Node::setChanged): Unrelated but obvious optimization - 16353 stop marking ancestor as having a changed child once we already reach 16354 an ancestor so marked. 16355 (WebCore::outermostLazyAttachedAncestor): Helper function for lazyAttach. 16356 (WebCore::Node::lazyAttach): Implement lazy attach. 16357 (WebCore::Node::canLazyAttach): Virtual method - true for most nodes. 16358 * dom/Node.h: 16359 * dom/Text.cpp: 16360 (WebCore::Text::recalcStyle): Properly handle the case of a reattached node. 16361 * html/HTMLEmbedElement.h: 16362 (WebCore::HTMLEmbedElement::canLazyAttach): Refuse lazy attach, since 16363 plugins and frames do important work at rederer creation time. 16364 * html/HTMLFrameElementBase.h: 16365 (WebCore::HTMLFrameElementBase::canLazyAttach): Refuse lazy attach, since 16366 plugins and frames do important work at rederer creation time. 16367 * html/HTMLFrameSetElement.cpp: 16368 (WebCore::HTMLFrameSetElement::recalcStyle): Change order so that 16369 reattach works properly. 16370 * html/HTMLObjectElement.h: 16371 (WebCore::HTMLObjectElement::canLazyAttach): Refuse lazy attach, since 16372 plugins and frames do important work at rederer creation time. 16373 * html/HTMLOptGroupElement.cpp: 16374 (WebCore::HTMLOptGroupElement::insertBefore): Pass along extra param. 16375 (WebCore::HTMLOptGroupElement::replaceChild): ditto 16376 (WebCore::HTMLOptGroupElement::appendChild): ditto 16377 * html/HTMLOptGroupElement.h: 16378 * html/HTMLSelectElement.cpp: 16379 (WebCore::HTMLSelectElement::insertBefore): Pass along extra param. 16380 (WebCore::HTMLSelectElement::replaceChild): ditto 16381 (WebCore::HTMLSelectElement::appendChild): ditto 16382 * html/HTMLSelectElement.h: 16383 * svg/SVGLocatable.cpp: 16384 (WebCore::SVGLocatable::getBBox): Add missing updateLayout call. 16385 * svg/SVGTextContentElement.cpp: 16386 (WebCore::SVGTextContentElement::getNumberOfChars): ditto 16387 (WebCore::SVGTextContentElement::getComputedTextLength): ditto 16388 (WebCore::SVGTextContentElement::getSubStringLength): ditto 16389 (WebCore::SVGTextContentElement::getStartPositionOfChar): ditto 16390 (WebCore::SVGTextContentElement::getEndPositionOfChar): ditto 16391 (WebCore::SVGTextContentElement::getExtentOfChar): ditto 16392 (WebCore::SVGTextContentElement::getRotationOfChar): ditto 16393 (WebCore::SVGTextContentElement::getCharNumAtPosition): ditto 16394 16395 2008-05-28 Ada Chan <adachan (a] apple.com> 16396 16397 <rdar://problem/5957036> REGRESSION (r31960): 20-30% slowdown in i-Bench JavaScript test on XP Home 16398 Conditionalize the timer latency change (r31960) only for vista since it does not 16399 help xp anyway. 16400 16401 Reviewed by Steve Falkenburg. 16402 16403 * platform/win/SharedTimerWin.cpp: 16404 (WebCore::isRunningOnVistaOrLater): 16405 (WebCore::TimerWindowWndProc): 16406 (WebCore::setSharedTimerFireTime): 16407 16408 2008-05-28 Anders Carlsson <andersca (a] apple.com> 16409 16410 Build fix. 16411 16412 * storage/LocalStorage.cpp: 16413 (WebCore::LocalStorage::scheduleImport): 16414 16415 2008-05-28 Anders Carlsson <andersca (a] apple.com> 16416 16417 Reviewed by Tim. 16418 16419 <rdar://problem/5965960> 16420 CrashTracer: [USER] 4 crashes in Safari at libxml2.2.dylib: xmlGenericErrorDefaultFunc + 76 16421 16422 Turns out that while libxml has two different error callbacks, they both use the same context, so we need to 16423 set both error callbacks to prevent one of the error callbacks from using the context as a FILE pointer. 16424 16425 * xml/XSLStyleSheet.cpp: 16426 (WebCore::XSLStyleSheet::parseString): 16427 * xml/XSLTProcessor.cpp: 16428 (WebCore::XSLTProcessor::genericErrorFunc): 16429 (WebCore::docLoaderFunc): 16430 * xml/XSLTProcessor.h: 16431 16432 2008-05-28 Brady Eidson <beidson (a] apple.com> 16433 16434 Reviewed by Adam 16435 16436 Fix hang I introduced to WebKit clients without their LocalStorage paths set 16437 Such as DRT... 16438 16439 * storage/LocalStorage.cpp: 16440 (WebCore::LocalStorage::scheduleImport): Return a bool, namely to signify 16441 whether or not there is a LocalStorageThread to schedule the import on. 16442 * storage/LocalStorage.h: 16443 16444 * storage/LocalStorageArea.cpp: 16445 (WebCore::LocalStorageArea::LocalStorageArea): If the scheduleImport failed, 16446 mark the imported flag as true so the LocalStorageArea doesn't wait around 16447 locking the main thread. 16448 16449 2008-05-28 Anthony Ricaud <rik24d (a] gmail.com> 16450 16451 User stylesheets are now non-editable and displayed as user-stylesheets 16452 16453 <https://bugs.webkit.org/show_bug.cgi?id=17602> 16454 <rdar://problem/5967637> 16455 16456 Reviewed by Tim Hatcher. 16457 16458 * English.lproj/localizedStrings.js: Added a string 16459 * page/inspector/StylesSidebarPane.js: 16460 16461 2008-05-28 Anders Carlsson <andersca (a] apple.com> 16462 16463 Reviewed by Mitz. 16464 16465 <rdar://problem/5819989> 16466 Crash in WebKit!KJS::Window::printErrorMessage quitting Safari after pop up window on uk.real.com was closed 16467 16468 Add null check for Frame::settings(). 16469 16470 * bindings/js/JSDOMWindowBase.cpp: 16471 (WebCore::JSDOMWindowBase::printErrorMessage): 16472 16473 2008-05-27 Geoffrey Garen <ggaren (a] apple.com> 16474 16475 Reviewed by Tim Hatcher. 16476 16477 Fixed https://bugs.webkit.org/show_bug.cgi?id=19183 16478 REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when 16479 clicking button in returnEvent-crash.html 16480 16481 Added implementations for willExecuteProgram and didExecuteProgram. They 16482 take care to update our call frame when entering and exiting programs, 16483 preventing us from keeping around a stale global frame after executing 16484 a program. 16485 16486 eval programs now show up as "anonymous function" in a new scope. This 16487 is slightly better than what they used to do -- overwriting the current 16488 scope -- but obviously we can do better. 16489 16490 2008-05-28 Brady Eidson <beidson (a] apple.com> 16491 16492 Reviewed by Dan Bernstein 16493 16494 <rdar://problem/5946834> - LocalStorage threads appearing in apps that don't want them. 16495 16496 Decided to fix this bug from a few different avenues to make sure we only create LocalStorage resources 16497 when we *really* want them. 16498 16499 * page/DOMWindow.cpp: 16500 (WebCore::DOMWindow::localStorage): Account for the possibility that the LocalStorage object might be null. 16501 16502 * storage/LocalStorage.cpp: 16503 (WebCore::LocalStorage::LocalStorage): Don't create the thread if there is no path name - we know we'll never 16504 be needing it when there is no file backing us on disk. 16505 (WebCore::LocalStorage::scheduleImport): Null check the thread, as it might not exist. 16506 (WebCore::LocalStorage::scheduleSync): Ditto 16507 16508 * storage/LocalStorageThread.cpp: 16509 (WebCore::LocalStorageThread::localStorageThread): Clear the threadID after termination - clear way to signify 16510 that this thread is truly done. 16511 (WebCore::LocalStorageThread::scheduleImport): ASSERT that the queue is live, and the threadID exists 16512 (WebCore::LocalStorageThread::scheduleSync): Ditto 16513 (WebCore::LocalStorageThread::terminate): Don't schedule termination and wait for it to complete if the thread 16514 isn't live. 16515 16516 2008-05-28 Alexander Vassilev <avasilev (a] voipgate.com> 16517 16518 Reviewed by Kevin Ollivier. 16519 16520 Rescale image to fit the destination rect so that we don't get a crash when drawing 16521 in a destination rect that's bigger than the image rect. Also adds an optimization for 16522 drawing an image that is a solid color. 16523 16524 https://bugs.webkit.org/show_bug.cgi?id=18465 16525 16526 * platform/graphics/wx/ImageWx.cpp: 16527 (WebCore::BitmapImage::draw): 16528 16529 2008-05-27 Tor Arne Vestb <tavestbo (a] trolltech.com> 16530 16531 Reviewed by Simon 16532 16533 Close the video widget explicitly so we don't hang 16534 when exiting the application. 16535 16536 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 16537 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 16538 16539 2008-05-27 Justin Garcia <justin.garcia (a] apple.com> 16540 16541 Reviewed by Oliver. 16542 16543 <rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460) 16544 16545 It wasn't enough to break out of the header, to match other browsers we 16546 also need to not preserve the typing style. 16547 16548 * editing/InsertParagraphSeparatorCommand.cpp: 16549 (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): 16550 (WebCore::InsertParagraphSeparatorCommand::doApply): 16551 * editing/InsertParagraphSeparatorCommand.h: 16552 16553 2008-05-27 Timothy Hatcher <timothy (a] apple.com> 16554 16555 <rdar://problem/5966961> REGRESSION: Font previews in the Web 16556 Inspector always show in Lucida Grande (not the real font) 16557 16558 Reviewed by Adam Roben. 16559 16560 * page/inspector/FontView.js: Add a style element that loads the 16561 @font-face rule that is excepted by the preview element. 16562 16563 2008-05-27 Timothy Hatcher <timothy (a] apple.com> 16564 16565 Fixes a regression where the Image and Font preview views do not 16566 size correctly. 16567 16568 <rdar://problem/5966723> REGRESSION (r33991): Image and font previews 16569 are shrunken and can't be made larger (19281) 16570 16571 Reviewed by Adam Roben. 16572 16573 * page/inspector/FontView.js: Adjust the font size based only on the 16574 container width minus padding. 16575 * page/inspector/inspector.css: Updated styles for the image and 16576 font views. 16577 16578 2008-05-27 Adam Roben <aroben (a] apple.com> 16579 16580 Fix Bug 19276: XHR resources are classified as "Other" until Inspector 16581 is closed and reopened 16582 16583 <https://bugs.webkit.org/show_bug.cgi?id=19276> 16584 <rdar://problem/5965742> 16585 16586 Reviewed by Tim Hatcher. 16587 16588 * page/InspectorController.cpp: 16589 (WebCore::InspectorController::updateScriptResourceResponse): Moved 16590 code that updates the resource's type from here... 16591 (WebCore::InspectorController::updateScriptResourceType): ...to here. 16592 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): 16593 Call updateScriptResourceType now that we know this resource was 16594 retrieved via an XHR. 16595 * page/InspectorController.h: 16596 16597 2008-05-27 Timothy Hatcher <timothy (a] apple.com> 16598 16599 Removes a redundant call to InspectorController::stopDebugging(). 16600 16601 Rubber-stamped by Adam Roben. 16602 16603 * page/InspectorController.cpp: 16604 (WebCore::InspectorController::showWindow): 16605 16606 2008-05-27 Kevin McCullough <kmccullough (a] apple.com> 16607 16608 Reviewed by Tim. 16609 16610 - Added and updated some manual test for the profiler. 16611 16612 * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: 16613 * manual-tests/inspector/profiler-test-apply.html: 16614 * manual-tests/inspector/profiler-test-call.html: 16615 * manual-tests/inspector/profiler-test-deep-recursion.html: Added. 16616 * manual-tests/inspector/profiler-test-simple-event-call.html: Added. 16617 16618 2008-05-27 Kevin Ollivier <kevino (a] theolliviers.com> 16619 16620 wx build fix. Accidently left a couple fixes out of the previous commit. 16621 16622 * webcore-base.bkl: 16623 16624 2008-05-27 Kevin Ollivier <kevino (a] theolliviers.com> 16625 16626 wx build fix. Adding JSHTMLElementWrapperFactory.cpp. 16627 16628 * WebCoreSources.bkl: 16629 16630 2008-05-27 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 16631 16632 Reviewed by Simon. 16633 16634 Fix linking error (missing gdi32 and user32 libraries). 16635 16636 * WebCore.pro: 16637 16638 2008-05-27 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 16639 16640 Reviewed by Simon. 16641 16642 Update the WebKit.qrc so that Web Inspector is functional again. 16643 16644 * page/inspector/WebKit.qrc: 16645 16646 2008-05-26 Alp Toker <alp (a] nuanti.com> 16647 16648 Reviewed by Anders. 16649 16650 http://bugs.webkit.org/show_bug.cgi?id=16495 16651 [GTK] Accessibility support with ATK/AT-SPI 16652 16653 Implement basic action, text and editable text accessibility. 16654 16655 Provide utility functions to simplify const string return and casting 16656 and add some more stubs. 16657 16658 It's now possible to navigate and manipulate forms and text using 16659 assistive technologies. 16660 16661 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 16662 (returnString): 16663 (core): 16664 * platform/gtk/LocalizedStringsGtk.cpp: 16665 (WebCore::AXButtonActionVerb): 16666 (WebCore::AXRadioButtonActionVerb): 16667 (WebCore::AXTextFieldActionVerb): 16668 (WebCore::AXCheckedCheckBoxActionVerb): 16669 (WebCore::AXUncheckedCheckBoxActionVerb): 16670 (WebCore::AXLinkActionVerb): 16671 (WebCore::imageTitle): 16672 16673 2008-05-25 Maciej Stachowiak <mjs (a] apple.com> 16674 16675 Reviewed by Anders. 16676 16677 - bind the window's "document" and "window" properties to static slots 16678 1.7% speedup on Acid3 test 26 16679 16680 Only the "document" part matters for Acid3, but since I was doing 16681 this anyway, "window" also seemed like a good one to optimize. 16682 16683 * bindings/js/JSDOMWindowBase.cpp: 16684 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Allocate variable 16685 slots for document and window; but just put null in the document 16686 slot for now. 16687 (WebCore::JSDOMWindowBase::updateDocument): Fill in the document 16688 slot. 16689 (WebCore::JSDOMWindowBase::~JSDOMWindowBase): Make our shell stop 16690 tracking us. 16691 * bindings/js/JSDOMWindowBase.h: 16692 * bindings/js/JSDOMWindowShell.cpp: 16693 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Allocate HashSet 16694 for our still-not-dead inner windows. 16695 (WebCore::JSDOMWindowShell::updateDocument): Update all our 16696 inner windows ever (to make sure the update to the document 16697 property shows up everywhere). 16698 * bindings/js/JSDOMWindowShell.h: 16699 (WebCore::JSDOMWindowShell::setWindow): Update our hash. 16700 (WebCore::JSDOMWindowShell::clearFormerWindow): Ditto. 16701 * bindings/js/JSDocumentCustom.cpp: 16702 (WebCore::toJS): Don't set self as a property map property of 16703 the window, this is no longer necessary. 16704 * bindings/js/kjs_proxy.cpp: 16705 (WebCore::KJSProxy::initScript): Update document for the 16706 newly created window. 16707 * bindings/js/kjs_proxy.h: 16708 * page/Frame.cpp: 16709 (WebCore::Frame::setDocument): If the document is not null, 16710 update our window. 16711 16712 2008-05-26 Anders Carlsson <andersca (a] apple.com> 16713 16714 Reviewed by Sam. 16715 16716 This patch does two things: 16717 16718 * It adds a toJSNewlyCreated function for creating JS wrappers for nodes where we know 16719 that the node doesn't have a wrapper. This avoids a hash lookup. 16720 16721 * It adds toJSNewlyCreated methods for JSElement and JSText. 16722 16723 All in all this is a 4.3% speedup on Acid 3 test 26. 16724 16725 * WebCore.vcproj/WebCore.vcproj: 16726 * WebCore.xcodeproj/project.pbxproj: 16727 * bindings/js/JSElementCustom.cpp: 16728 (WebCore::toJSNewlyCreated): 16729 * bindings/js/JSNodeCustom.cpp: 16730 (WebCore::createWrapper): 16731 (WebCore::toJSNewlyCreated): 16732 (WebCore::toJS): 16733 * bindings/js/JSTextCustom.cpp: Added. 16734 (WebCore::toJSNewlyCreated): 16735 * bindings/scripts/CodeGeneratorJS.pm: 16736 * dom/Document.idl: 16737 16738 2008-05-26 Sam Weinig <sam (a] webkit.org> 16739 16740 Reviewed by Anders Carlsson. 16741 16742 Inline the getOwnPropertySlot for JSNode, JSEventTargetNode, JSElement, 16743 and JSDocument for a 1-2% speedup on Acid 3 test 26. 16744 16745 * bindings/js/JSEventTargetNode.cpp: 16746 * bindings/js/JSEventTargetNode.h: 16747 (WebCore::JSEventTargetNode::getOwnPropertySlot): 16748 (WebCore::JSEventTargetNode::getValueProperty): 16749 (WebCore::JSEventTargetNode::put): 16750 (WebCore::JSEventTargetNode::putValueProperty): 16751 * bindings/scripts/CodeGeneratorJS.pm: 16752 * dom/Document.idl: 16753 * dom/Element.idl: 16754 * dom/Node.idl: 16755 16756 2008-05-26 Darin Adler <darin (a] apple.com> 16757 16758 Reviewed by Maciej. 16759 16760 - https://bugs.webkit.org/show_bug.cgi?id=19239 16761 16762 Removed code that would only useful if if there was any way to create an Entity 16763 node or if we populated EntityReference nodes. It's likely that we'll remove 16764 these node types entirely in some future version of WebKit, depending in part 16765 on what happens with these in HTML 5. 16766 16767 1.8% speedup of Acid3 test 26. 16768 16769 The only read-only nodes we ever create are EntityReference nodes. 16770 These are only created by explicit calls to the Document.createEntityReference 16771 function. Since the created nodes are read-only, there can be no children of 16772 these nodes, so no other types of nodes can be read-only despite the rule that 16773 makes descendants of Entity and EntityReference nodes read-only. 16774 16775 * bindings/objc/DOM.mm: Removed unneeded include. 16776 16777 * dom/Attr.cpp: 16778 (WebCore::Attr::setValue): Removed unnecessary isReadOnlyNode check. 16779 (WebCore::Attr::setNodeValue): Ditto. 16780 * dom/CharacterData.cpp: 16781 (WebCore::CharacterData::setData): Removed unnecessary isReadOnlyNode check. 16782 (WebCore::CharacterData::substringData): Don't initialize the ec variable before 16783 calling checkCharDataOperation, since that function already does it. 16784 (WebCore::CharacterData::appendData): Removed unnecessary isReadOnlyNode check. 16785 (WebCore::CharacterData::insertData): Don't initialize ec. 16786 (WebCore::CharacterData::deleteData): Ditto. 16787 (WebCore::CharacterData::replaceData): Ditto. 16788 (WebCore::CharacterData::setNodeValue): Removed now-misleading comment. 16789 (WebCore::CharacterData::checkCharDataOperation): Removed unnecessary 16790 isReadOnlyNode check. 16791 * dom/CharacterData.h: Made checkCharDataOperation private and non-virtual 16792 since it's never used or defined in any other class. 16793 16794 * dom/Element.cpp: 16795 (WebCore::Element::setAttribute): Removed unneeded isReadOnlyNode check. 16796 16797 * dom/Entity.cpp: Removed the entire contents of this file. 16798 16799 * dom/Entity.h: Replaced the class with a stub -- just enough to keep the 16800 public bindings (JavaScript and Objective-C compiling), but the class is 16801 abstract and can't be instantianted. 16802 16803 * dom/EntityReference.cpp: Removed unused constructor. 16804 (WebCore::EntityReference::cloneNode): Removed unneeded code and comments 16805 to clone nonexistent child nodes. 16806 * dom/EntityReference.h: Removed unused constructor and unnecessary override 16807 of childTypeAllowed, since no children are allowed at all. 16808 16809 * dom/NamedAttrMap.cpp: 16810 (WebCore::NamedAttrMap::setNamedItem): Removed unneeded isReadOnlyNode check. 16811 (WebCore::NamedAttrMap::removeNamedItem): Ditto. 16812 * dom/NamedAttrMap.h: Removed isReadOnlyNode function. 16813 16814 * dom/Node.cpp: Removed the old isReadOnlyNode function. It made lots of 16815 virtual nodeType function calls. 16816 * dom/Node.h: 16817 (WebCore::Node::isReadOnlyNode): Replaced the old virtual isReadOnlyNode 16818 function with a new simple non-virtual one. 16819 16820 * dom/ProcessingInstruction.cpp: 16821 (WebCore::ProcessingInstruction::setData): Removed unneeded isReadOnlyNode 16822 check. 16823 16824 * dom/Text.cpp: 16825 (WebCore::Text::splitText): Removed unneeded isReadOnlyNode check. 16826 (WebCore::Text::replaceWholeText): Removed unnecessary isReadOnlyNode assertion. 16827 There is no reason for this function to go out of its way to mention the 16828 read-only node issue when none of the other DOM mutation functions do. 16829 16830 2008-05-26 Adam Barth <abarth (a] webkit.org> 16831 16832 Reviewed by Sam. 16833 16834 Cleanup SecurityOrigin::canAccess. Removed comment referring to an 16835 old version of the code. Removed some useless code. 16836 16837 * platform/SecurityOrigin.cpp: 16838 (WebCore::SecurityOrigin::canAccess): 16839 16840 2008-05-26 Gwenole Beauchesne <gbeauchesne (a] splitted-desktop.org> 16841 16842 Reviewed by Alp Toker. 16843 16844 * platform/gtk/LocalizedStringsGtk.cpp: 16845 (WebCore::contextMenuItemTagSelectAll): Fix GTK+ version check. 16846 16847 2008-05-25 Chris Fleizach <cfleizach (a] apple.com> 16848 16849 Reviewed by David Harrison 16850 16851 <rdar://problem/3582905> elements on separate pages need to be distinct 16852 16853 * page/AccessibilityListBox.h: 16854 * page/AccessibilityObject.h: 16855 (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId): 16856 * page/AccessibilityRenderObject.cpp: 16857 * page/AccessibilityRenderObject.h: 16858 16859 2008-05-25 Maciej Stachowiak <mjs (a] apple.com> 16860 16861 Reviewed by Darin. 16862 16863 - don't repaint nodes that are removed before layout 16864 4.3% speedup on Acid3 test 26 16865 16866 Mitz points out the new flag can also be used to optimize other 16867 cases of needless repaint such as 16868 <https://bugs.webkit.org/show_bug.cgi?id=15129>. 16869 16870 * rendering/RenderContainer.cpp: 16871 (WebCore::RenderContainer::removeChildNode): If the child has never had a layout, 16872 don't bother to repaint it, since there's nothing to dirty. 16873 * rendering/RenderObject.cpp: 16874 (WebCore::RenderObject::RenderObject): Initialize m_everHadLayout to false. 16875 (WebCore::RenderObject::setNeedsLayout): Set m_everHadLayout to true if we 16876 are being marked as not needing layout. 16877 * rendering/RenderObject.h: 16878 16879 2008-05-25 Dan Bernstein <mitz (a] apple.com> 16880 16881 Reviewed by Darin Adler. 16882 16883 - fix https://bugs.webkit.org/show_bug.cgi?id=19086 16884 <rdar://problem/5962254> REGRESSION (r28519-r28535): Caret doesn't paint past the right edge of a block 16885 16886 Test: fast/repaint/caret-outside-block.html 16887 16888 * editing/SelectionController.cpp: 16889 (WebCore::repaintRectForCaret): Restored this function which was removed 16890 in r28523, but changed it to inflate only the width. 16891 (WebCore::SelectionController::caretRepaintRect): Changed back to use 16892 repaintRectForCaret(). 16893 (WebCore::SelectionController::recomputeCaretRect): Ditto. 16894 16895 2008-05-25 Marco Barisione <marco.barisione (a] collabora.co.uk> 16896 16897 Reviewed by Alp Toker. 16898 16899 http://bugs.webkit.org/show_bug.cgi?id=18940 16900 [CURL] Allow \n as line terminator for headers 16901 16902 The line terminator for message-header fields should be CRLF. However, 16903 it is recommended to recognise as a line terminator also a single LF. 16904 16905 * platform/network/curl/ResourceHandleManager.cpp: 16906 (WebCore::headerCallback): Allow headers to be terminated by "\n" and 16907 not just by "\r\n". 16908 16909 2008-05-25 Jan Michael Alonzo <jmalonzo (a] webkit.org> 16910 16911 Reviewed by Alp Toker. 16912 16913 WARNING: NO TEST CASES ADDED OR CHANGED 16914 16915 http://bugs.webkit.org/show_bug.cgi?id=19142 16916 [Gtk] Remove build options --svg-experimental and --cross-document-messaging 16917 16918 * GNUmakefile.am: 16919 16920 2008-05-24 Rob Buis <buis (a] kde.org> 16921 16922 Reviewed by Eric. 16923 16924 https://bugs.webkit.org/show_bug.cgi?id=18927 16925 Unify path data debug output 16926 16927 Implement unified path data output for Mac svg tests. 16928 16929 * platform/graphics/cg/PathCG.cpp: 16930 (WebCore::CGPathToCFStringApplierFunction): 16931 (WebCore::CFStringFromCGPath): 16932 16933 2008-05-24 Timothy Hatcher <timothy (a] apple.com> 16934 16935 Fixes a huge leak with the Inspector where it was protecting 16936 a large object that was not being unprotected. 16937 16938 <rdar://problem/5961999> Inspector protects a large JavaScript 16939 object and never unprotects it (large leak) 16940 16941 Reviewed by Darin Adler. 16942 16943 * page/InspectorController.cpp: 16944 (WebCore::InspectorController::inspectedPageDestroyed): Call close() 16945 and removed a call to stopDebugging() and moved it to close(). 16946 (WebCore::InspectorController::close): Add stopDebugging() and 16947 stopUserInitiatedProfiling(). Removed an ASSERT and added an 16948 if statement before calling JSValueUnprotect. We don't always have 16949 a m_scriptContext and m_scriptObject. 16950 16951 2008-05-24 Alp Toker <alp (a] nuanti.com> 16952 16953 Win32/gcc3 build fix in Pango font backend. UChar needs to be 16954 explicitly cast to gunichar2. 16955 16956 * platform/graphics/gtk/FontGtk.cpp: 16957 (WebCore::utf16_to_utf8): 16958 16959 2008-05-24 Timothy Hatcher <timothy (a] apple.com> 16960 16961 Fixes a crash where a new Inspector would get an old 16962 JSInspectedObjectWrapper for a user agent CSSStyleDeclaration. 16963 Since these style objects shared between pages, the wrapper cache 16964 would have a wrapper for the object still. But the wrapper was 16965 for a previous global object and with a disconnected frame. This 16966 fixes the wrapper cache so wrappers are remembered per global object 16967 and the object they are wrapping. 16968 16969 <rdar://problem/5958567> repro crash in WebCore::Frame::keepAlive() 16970 opening inspector window after closing it 16971 16972 Reviewed by Darin Adler. 16973 16974 * bindings/js/JSInspectedObjectWrapper.cpp: 16975 (WebCore::wrappers): Return a GlobalObjectWrapperMap reference. 16976 (WebCore::JSInspectedObjectWrapper::wrap): Find the WrapperMap 16977 by the dynamicGlobalObject then find the wrapper for unwrappedObject. 16978 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): Changes 16979 how the wrapper is added to the wrapper cache. 16980 (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): Changes 16981 how the wrapper is removed from the wrapper cache. 16982 * bindings/js/JSQuarantinedObjectWrapper.h: 16983 (WebCore::JSQuarantinedObjectWrapper:unwrappedGlobalObject): Added. 16984 16985 2008-05-24 Alexey Proskuryakov <ap (a] webkit.org> 16986 16987 Reviewed by Maciej. 16988 16989 Optimize Node::textContent() to avoid O(n^2) string appending behavior. 16990 16991 1.6% speedup at Acid3 test 26. 16992 16993 * WebCore.xcodeproj/project.pbxproj: 16994 * GNUmakefile.am: 16995 * WebCore.pro: 16996 * WebCoreSources.bkl: 16997 * WebCore.vcproj/WebCore.vcproj: 16998 * platform/text/StringBuilder.cpp: Added. 16999 (WebCore::StringBuilder::append): 17000 (WebCore::StringBuilder::toString): 17001 * platform/text/StringBuilder.h: Added. 17002 (WebCore::StringBuilder::StringBuilder): 17003 (WebCore::StringBuilder::isNull): 17004 Added a simple class to efficiently build a string by appending. Potentially, it can be 17005 extended to be more like java.lang.StringBuilder, but we don't need that much flexibility now. 17006 17007 * dom/Node.cpp: 17008 (WebCore::Node::appendTextContent): 17009 (WebCore::Node::textContent): 17010 * dom/Node.h: 17011 Changed to use StringBuilder. 17012 17013 2008-05-24 Julien Chaffraix <jchaffraix (a] webkit.org> 17014 17015 Reviewed by Eric. 17016 17017 Bug 9191: JS*ElementWrapperFactory should be autogenerated 17018 https://bugs.webkit.org/show_bug.cgi?id=9191 17019 17020 This is a first pass for generation of JS*ElementWrapperFactory, in the long term we should move the make_names.pl 17021 intelligence to the *.in files. 17022 17023 - Add a new parameter to make_names.pl --wrapperFactory which works like --wrapper but generates the 17024 JS*ElementWrapperFactory files. 17025 17026 - Removed JS*ElementWrapperFactory files in WebCore/bindings/js, replaced by the generated ones. 17027 17028 - Updated the build systems to account for the previous changes. 17029 17030 * DerivedSources.make: 17031 * GNUmakefile.am: 17032 * WebCore.pro: 17033 * WebCore.vcproj/WebCore.vcproj: 17034 * WebCore.xcodeproj/project.pbxproj: 17035 * WebCoreSources.bkl: 17036 * bindings/js/JSHTMLElementWrapperFactory.cpp: Removed. 17037 * bindings/js/JSHTMLElementWrapperFactory.h: Removed. 17038 * bindings/js/JSSVGElementWrapperFactory.cpp: Removed. 17039 * bindings/js/JSSVGElementWrapperFactory.h: Removed. 17040 * dom/make_names.pl: 17041 17042 2008-05-24 Oleg Finkelshteyn <olegfink (a] gmail.com> 17043 17044 Rubber-stamped and landed by Alexey. 17045 17046 Build fix for gcc 4.3. 17047 17048 * WebCore/page/Console.cpp: 17049 Add missing standard includes. 17050 17051 2008-05-23 Timothy Hatcher <timothy (a] apple.com> 17052 17053 Fixes a bug where a timer would keep firing after the Inspector 17054 was closed. It turns out this timer wasn't needed anymore now 17055 that we can add an event listener to the inspected page and have 17056 it get called in the Inspector's context. 17057 17058 https://bugs.webkit.org/show_bug.cgi?id=18577 17059 17060 Reviewed by Mark Rowe. 17061 17062 * page/inspector/ElementsPanel.js: 17063 17064 2008-05-23 Anthony Ricaud <rik24d (a] gmail.com> 17065 17066 Changes the largerResourcesButton tooltip to toggle. 17067 17068 https://bugs.webkit.org/show_bug.cgi?id=19210 17069 17070 Reviewed by Tim Hatcher. 17071 17072 * WebCore/English.lproj/localizedStrings.js: New string and clean an 17073 double string "Dock to main window." 17074 * WebCore/page/inspector/ResourcesPanel.js: Toggle the tooltip and 17075 change the default tooltip 17076 17077 2008-05-23 Justin Garcia <justin.garcia (a] apple.com> 17078 17079 Reviewed by Darin. 17080 17081 <rdar://problem/5939887> REGRESSION: With no selection, copy does not fire oncopy handler (affects CIFilterBrowser widget) 17082 17083 Execute cut, copy and paste if they are invoked explicitly, via execCommand or -[WebView copy:], even 17084 if they are disabled. This will fire oncopy, oncut and onpaste, but won't perform any other work, like 17085 writing to the pasteboard during cut/copy or deleting the selection during cut/paste. This matches FF3, 17086 which actually goes further and fires oncopy on any Command-C. 17087 17088 * editing/EditorCommand.cpp: 17089 (WebCore::CommandEntry::): 17090 (WebCore::Editor::Command::execute): 17091 17092 2008-05-23 Timothy Hatcher <timothy (a] apple.com> 17093 17094 Adds a percentage toggle button the profile view status bar that 17095 changes the time columns between absolute and percents. 17096 17097 https://bugs.webkit.org/show_bug.cgi?id=19224 17098 17099 Reviewed by Kevin McCullough. 17100 17101 * English.lproj/localizedStrings.js: New strings. 17102 * page/inspector/Images/percentButtons.png: Added. 17103 * page/inspector/ProfileView.js: Make the button and add it to the 17104 status bar. Make clicking toggle the showAsPercent* properties. 17105 * page/inspector/inspector.css: New styles. 17106 17107 2008-05-23 Timothy Hatcher <timothy (a] apple.com> 17108 17109 Fixes a bug where excluding nodes from the profile could 17110 show an empty parent node. 17111 17112 <rdar://problem/5959573> Excluding nodes from the profile could show 17113 an empty parent node 17114 17115 Reviewed by Kevin McCullough. 17116 17117 * page/inspector/ProfileView.js: Only say we have children if 17118 all of our children nodes are visible. 17119 17120 2008-05-23 Anders Carlsson <andersca (a] apple.com> 17121 17122 Reviewed by Adam. 17123 17124 Add IconFetcher to project. 17125 17126 * WebCore.vcproj/WebCore.vcproj: 17127 17128 2008-05-23 Timothy Hatcher <timothy (a] apple.com> 17129 17130 Fixes a bug where the Web Insepctor would jump back to 17131 Elements each time it is opened instead of staying at the 17132 last selected panel. 17133 17134 <rdar://problem/5959475> Inspector jumps to the Elements panel 17135 each time it is opened, instead of staying at the previous panel 17136 17137 Reviewed by Adam Roben. 17138 17139 * page/InspectorController.cpp: 17140 (WebCore::InspectorController::setWindowVisible): Reset 17141 m_showAfterVisible to CurrentPanel, so the next time setWindowVisible 17142 is called it will use CurrentPanel unless showPanel was called again. 17143 17144 2008-05-23 chris fleizach <cfleizach (a] apple.com> 17145 17146 Reviewed by Darin Adler. 17147 17148 <rdar://problem/5933759> REGRESSION: Frames don't appear as AX children of the top level web area 17149 17150 * page/AccessibilityRenderObject.cpp: 17151 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 17152 17153 2008-05-23 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 17154 17155 Reviewed by Simon. 17156 17157 For Qt port, support painting to native Windows HDC. 17158 17159 * platform/graphics/GraphicsContext.h: 17160 * platform/graphics/qt/GraphicsContextQt.cpp: 17161 (WebCore::GraphicsContext::getWindowsContext): 17162 (WebCore::GraphicsContext::releaseWindowsContext): 17163 17164 2008-05-23 Timothy Hatcher <timothy (a] apple.com> 17165 17166 Fixes a bug where the Inspector could have 0ms timers firing 17167 even after it is closed. 17168 17169 https://bugs.webkit.org/show_bug.cgi?id=18577 17170 17171 Reviewed by Oliver Hunt. 17172 17173 * page/inspector/DatabasesPanel.js: Removes setTimeouts that call 17174 the same function with a 0ms delay. These we not doing any good anyway, 17175 so they weren't needed and just caused problems. 17176 * page/inspector/ElementsPanel.js: Ditto. 17177 * page/inspector/ProfilesPanel.js: Ditto. 17178 * page/inspector/ResourcesPanel.js: Ditto. 17179 17180 2008-05-23 Timothy Hatcher <timothy (a] apple.com> 17181 17182 Make the Inspector correctly populate the profiles when 17183 closed and re-opened. 17184 17185 Reviewed by Adam Roben. 17186 17187 * page/InspectorController.cpp: 17188 (WebCore::InspectorController::populateScriptObjects): Call populateInterface 17189 in inspector.js. 17190 * page/inspector/ProfilesPanel.js: 17191 (WebInspector.ProfilesPanel.prototype.populateInterface): If visible, 17192 call _populateProfiles. Else just set this._shouldPopulateProfiles to true. 17193 (WebInspector.ProfilesPanel.prototype.reset): Don't call _populateProfiles. 17194 Just set this._shouldPopulateProfiles to true. 17195 (WebInspector.ProfilesPanel.prototype._populateProfiles): Delete 17196 this._shouldPopulateProfiles. 17197 * page/inspector/inspector.js: 17198 (WebInspector.populateInterface): Added. Call populateInterface on all the 17199 panels if they implement it. 17200 17201 2008-05-23 Kevin McCullough <kmccullough (a] apple.com> 17202 17203 RS = Adam. 17204 17205 Editorial changes 17206 17207 * manual-tests/inspector/profiler-test-apply.html: 17208 * manual-tests/inspector/profiler-test-document-dot-write.html: 17209 * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: 17210 * manual-tests/inspector/profiler-test-one-execution-context.html: 17211 * manual-tests/inspector/profiler-test-two-execution-contexts.html: 17212 17213 2008-05-23 Timothy Hatcher <timothy (a] apple.com> 17214 17215 Fixes the bug where the profile was not added when finished. 17216 17217 <rdar://problem/5958851> Stop Profiling from the Develop menu does 17218 not add the Profile to the Inspector 17219 17220 Reviewed by Adam Roben. 17221 17222 * page/InspectorController.cpp: 17223 (WebCore::InspectorController::stopUserInitiatedProfiling): Call 17224 addProfile with the result of stopProfiling. 17225 17226 2008-05-23 Timothy Hatcher <timothy (a] apple.com> 17227 17228 Tweak the Web Insector toolbar look to be smaller when attached to 17229 the inspected page. 17230 17231 Reviewed by Adam Roben. 17232 17233 * page/inspector/inspector.css: 17234 17235 2008-05-23 Simon Hausmann <hausmann (a] webkit.org> 17236 17237 Fix compilation without accessibility by providing an empty stub for 17238 AXObjectCache::handleAriaRoleChanged. 17239 17240 * page/AXObjectCache.h: 17241 17242 2008-05-23 Alice Liu <alice.liu (a] apple.com> 17243 17244 Reviewed by Mark Rowe. 17245 17246 Remove call to function whose body was commented out. Returning the 17247 children for a menu button by the normal calculation works just as well. 17248 17249 * page/AccessibilityRenderObject.cpp: 17250 (WebCore::AccessibilityRenderObject::addChildren): 17251 * page/AccessibilityRenderObject.h: 17252 17253 2008-05-22 Timothy Hatcher <timothy (a] apple.com> 17254 17255 Fixes the bug where resource would show up multiple times in the 17256 Inspector. This happened when a resource was used multiple times or 17257 when the preloader was scanning ahead to fetch resources. 17258 17259 <rdar://problem/5689373> Cached resources re-appear in Web Inspector 17260 for each access (18223) 17261 17262 Reviewed by Adam Roben. 17263 17264 * page/InspectorController.cpp: 17265 (WebCore::InspectorController::addResource): Add the URL to m_knownResources. 17266 (WebCore::InspectorController::removeResource): Remove the URL from m_knownResources 17267 (WebCore::InspectorController::didLoadResourceFromMemoryCache): If the URL 17268 is in m_knownResources, then early return. 17269 * page/InspectorController.h: Added m_knownResources. 17270 17271 2008-05-22 Alice Liu <alice.liu (a] apple.com> 17272 17273 Reviewed by Adele, Dan Bernstein. 17274 17275 Fixed <rdar://problem/5943104> Need to implement ARIA role="menu" and related roles 17276 <rdar://problem/5943132> Need to implement ARIA role="menuitem" 17277 <rdar://problem/5943173> Need to implement ARIA role="menubar" 17278 17279 These changes added a handler for determining the ARIA role when the 17280 attribute changes. Before we were querying for the attribute over and 17281 over every time we queried for the role. 17282 * dom/Element.cpp: 17283 (WebCore::Element::attributeChanged): 17284 * page/AXObjectCache.cpp: 17285 (WebCore::AXObjectCache::handleAriaRoleChanged): 17286 * page/AXObjectCache.h: 17287 17288 The rest of these changes implement menu, menuitem, and menubar. the last 2 of those 17289 have to, for now, be represented as a Group and MenuButton instead, because AppKit 17290 won't recognize menubar and menubaritems within apps. 17291 * page/AccessibilityObject.h: 17292 (WebCore::AccessibilityObject::isMenuRelated): 17293 (WebCore::AccessibilityObject::isMenu): 17294 (WebCore::AccessibilityObject::isMenuBar): 17295 (WebCore::AccessibilityObject::isMenuButton): 17296 (WebCore::AccessibilityObject::isMenuItem): 17297 * page/AccessibilityRenderObject.cpp: 17298 (WebCore::AccessibilityRenderObject::AccessibilityRenderObject): 17299 (WebCore::AccessibilityRenderObject::parentObject): 17300 (WebCore::AccessibilityRenderObject::isMenuRelated): 17301 (WebCore::AccessibilityRenderObject::isMenu): 17302 (WebCore::AccessibilityRenderObject::isMenuBar): 17303 (WebCore::AccessibilityRenderObject::isMenuButton): 17304 (WebCore::AccessibilityRenderObject::isMenuItem): 17305 (WebCore::siblingWithAriaRole): 17306 (WebCore::AccessibilityRenderObject::menuElementForMenuButton): 17307 (WebCore::AccessibilityRenderObject::menuForMenuButton): 17308 (WebCore::AccessibilityRenderObject::menuItemElementForMenu): 17309 (WebCore::AccessibilityRenderObject::menuButtonForMenu): 17310 (WebCore::AccessibilityRenderObject::title): 17311 (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId): 17312 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 17313 (WebCore::RoleEntry::): 17314 (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute): 17315 (WebCore::AccessibilityRenderObject::setAriaRole): 17316 (WebCore::AccessibilityRenderObject::ariaRoleAttribute): 17317 (WebCore::AccessibilityRenderObject::addChildren): 17318 (WebCore::AccessibilityRenderObject::ariaMenuButtonChildren): 17319 * page/AccessibilityRenderObject.h: 17320 * page/mac/AccessibilityObjectWrapper.mm: 17321 (-[AccessibilityObjectWrapper accessibilityActionNames]): 17322 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 17323 (-[AccessibilityObjectWrapper roleDescription]): 17324 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 17325 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): 17326 17327 2008-05-22 Adam Roben <aroben (a] apple.com> 17328 17329 Make top-level resources show their full URLs again instead of just 17330 "/" 17331 17332 Reviewed by Tim Hatcher. 17333 17334 * page/inspector/Resource.js: 17335 (WebInspector.Resource.prototype.displayName): If the title has gotten 17336 down to just "/", which will happen for, e.g., http://webkit.org/, 17337 just show the entire URL. 17338 17339 2008-05-22 Timothy Hatcher <timothy (a] apple.com> 17340 17341 Shorten URLs shown in the Web Inspector to the file name. This makes 17342 finding files in the Console or the Scripts panel easier. 17343 17344 Reviewed by Adam Roben. 17345 17346 * page/inspector/Console.js: 17347 (WebInspector.ConsoleMessage.prototype.get shortURL): Removed dead code. 17348 (WebInspector.ConsoleMessage.prototype.toMessageElement): Call WebInspector.displayNameForURL 17349 for the URL before making the link element. 17350 * page/inspector/ProfileView.js: 17351 (WebInspector.ProfileDataGridNode.prototype.createCell): Use WebInspector.displayNameForURL. 17352 * page/inspector/Resource.js: 17353 (WebInspector.Resource.prototype.get displayName): Use trimURL to 17354 trim the URL with the main resource's domain. 17355 * page/inspector/ScriptsPanel.js: 17356 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use WebInspector.displayNameForURL. 17357 * page/inspector/StylesSidebarPane.js: 17358 (WebInspector.StylePropertiesSection): Ditto. 17359 * page/inspector/inspector.js: 17360 (WebInspector.displayNameForURL): Added. 17361 (WebInspector.resourceForURL): Check for a direct match in resourceURLMap first. 17362 17363 2008-05-22 Adam Roben <aroben (a] apple.com> 17364 17365 Fix Bug 19204: Inspector should highlight source lines when following 17366 links to them 17367 17368 <https://bugs.webkit.org/show_bug.cgi?id=19204> 17369 17370 Reviewed by Tim Hatcher. 17371 17372 Test: manual-tests/inspector/highlight-source-line.html 17373 17374 * manual-tests/inspector/highlight-source-line.html: Added. 17375 * page/inspector/ResourcesPanel.js: 17376 (WebInspector.ResourcesPanel.prototype.showResource): Call 17377 highlightLine on the view if that function exists. 17378 * page/inspector/SourceFrame.js: 17379 (WebInspector.SourceFrame.prototype.highlightLine): Added. Adds the 17380 webkit-highlighted-line class to the relevant line, then removes it 17381 after a short delay. 17382 (WebInspector.SourceFrame.prototype._loaded): Added styles for the 17383 highlighted line(s). 17384 * page/inspector/SourceView.js: 17385 (WebInspector.SourceView.prototype.highlightLine): Added. Calls 17386 through to the SourceFrame. 17387 17388 2008-05-22 Rob Buis <buis (a] kde.org> 17389 17390 Reviewed by Eric. 17391 17392 https://bugs.webkit.org/show_bug.cgi?id=12053 17393 SVGPathSeg*(Abs|Rel) classses should be combined to reduce code size 17394 17395 Reduce code size through shared base classes. 17396 17397 * svg/SVGPathSeg.h: 17398 (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord): 17399 (WebCore::SVGPathSegSingleCoord::setX): 17400 (WebCore::SVGPathSegSingleCoord::x): 17401 (WebCore::SVGPathSegSingleCoord::setY): 17402 (WebCore::SVGPathSegSingleCoord::y): 17403 (WebCore::SVGPathSegSingleCoord::toString): 17404 * svg/SVGPathSegArc.cpp: 17405 (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs): 17406 (WebCore::SVGPathSegArcRel::SVGPathSegArcRel): 17407 * svg/SVGPathSegArc.h: 17408 (WebCore::SVGPathSegArc::SVGPathSegArc): 17409 (WebCore::SVGPathSegArc::toString): 17410 (WebCore::SVGPathSegArc::setX): 17411 (WebCore::SVGPathSegArc::x): 17412 (WebCore::SVGPathSegArc::setY): 17413 (WebCore::SVGPathSegArc::y): 17414 (WebCore::SVGPathSegArc::setR1): 17415 (WebCore::SVGPathSegArc::r1): 17416 (WebCore::SVGPathSegArc::setR2): 17417 (WebCore::SVGPathSegArc::r2): 17418 (WebCore::SVGPathSegArc::setAngle): 17419 (WebCore::SVGPathSegArc::angle): 17420 (WebCore::SVGPathSegArc::setLargeArcFlag): 17421 (WebCore::SVGPathSegArc::largeArcFlag): 17422 (WebCore::SVGPathSegArc::setSweepFlag): 17423 (WebCore::SVGPathSegArc::sweepFlag): 17424 (WebCore::SVGPathSegArcAbs::create): 17425 (WebCore::SVGPathSegArcAbs::pathSegType): 17426 (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter): 17427 (WebCore::SVGPathSegArcRel::create): 17428 (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter): 17429 * svg/SVGPathSegCurvetoCubic.cpp: 17430 (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs): 17431 (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel): 17432 * svg/SVGPathSegCurvetoCubic.h: 17433 (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic): 17434 (WebCore::SVGPathSegCurvetoCubic::toString): 17435 (WebCore::SVGPathSegCurvetoCubic::setX): 17436 (WebCore::SVGPathSegCurvetoCubic::x): 17437 (WebCore::SVGPathSegCurvetoCubic::setY): 17438 (WebCore::SVGPathSegCurvetoCubic::y): 17439 (WebCore::SVGPathSegCurvetoCubic::setX1): 17440 (WebCore::SVGPathSegCurvetoCubic::x1): 17441 (WebCore::SVGPathSegCurvetoCubic::setY1): 17442 (WebCore::SVGPathSegCurvetoCubic::y1): 17443 (WebCore::SVGPathSegCurvetoCubic::setX2): 17444 (WebCore::SVGPathSegCurvetoCubic::x2): 17445 (WebCore::SVGPathSegCurvetoCubic::setY2): 17446 (WebCore::SVGPathSegCurvetoCubic::y2): 17447 (WebCore::SVGPathSegCurvetoCubicAbs::create): 17448 (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType): 17449 (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter): 17450 (WebCore::SVGPathSegCurvetoCubicRel::create): 17451 (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter): 17452 * svg/SVGPathSegCurvetoCubicSmooth.cpp: 17453 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs): 17454 (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel): 17455 * svg/SVGPathSegCurvetoCubicSmooth.h: 17456 (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth): 17457 (WebCore::SVGPathSegCurvetoCubicSmooth::toString): 17458 (WebCore::SVGPathSegCurvetoCubicSmooth::setX): 17459 (WebCore::SVGPathSegCurvetoCubicSmooth::x): 17460 (WebCore::SVGPathSegCurvetoCubicSmooth::setY): 17461 (WebCore::SVGPathSegCurvetoCubicSmooth::y): 17462 (WebCore::SVGPathSegCurvetoCubicSmooth::setX2): 17463 (WebCore::SVGPathSegCurvetoCubicSmooth::x2): 17464 (WebCore::SVGPathSegCurvetoCubicSmooth::setY2): 17465 (WebCore::SVGPathSegCurvetoCubicSmooth::y2): 17466 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create): 17467 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType): 17468 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter): 17469 (WebCore::SVGPathSegCurvetoCubicSmoothRel::create): 17470 (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType): 17471 (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter): 17472 * svg/SVGPathSegCurvetoQuadratic.cpp: 17473 (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs): 17474 (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel): 17475 * svg/SVGPathSegCurvetoQuadratic.h: 17476 (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic): 17477 (WebCore::SVGPathSegCurvetoQuadratic::toString): 17478 (WebCore::SVGPathSegCurvetoQuadratic::setX): 17479 (WebCore::SVGPathSegCurvetoQuadratic::x): 17480 (WebCore::SVGPathSegCurvetoQuadratic::setY): 17481 (WebCore::SVGPathSegCurvetoQuadratic::y): 17482 (WebCore::SVGPathSegCurvetoQuadratic::setX1): 17483 (WebCore::SVGPathSegCurvetoQuadratic::x1): 17484 (WebCore::SVGPathSegCurvetoQuadratic::setY1): 17485 (WebCore::SVGPathSegCurvetoQuadratic::y1): 17486 (WebCore::SVGPathSegCurvetoQuadraticAbs::create): 17487 (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType): 17488 (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter): 17489 (WebCore::SVGPathSegCurvetoQuadraticRel::create): 17490 (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType): 17491 (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter): 17492 * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: 17493 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs): 17494 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel): 17495 * svg/SVGPathSegCurvetoQuadraticSmooth.h: 17496 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create): 17497 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter): 17498 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create): 17499 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter): 17500 * svg/SVGPathSegLineto.cpp: 17501 (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs): 17502 (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel): 17503 * svg/SVGPathSegLineto.h: 17504 (WebCore::SVGPathSegLinetoAbs::create): 17505 (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter): 17506 (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter): 17507 * svg/SVGPathSegLinetoHorizontal.cpp: 17508 (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs): 17509 (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel): 17510 * svg/SVGPathSegLinetoHorizontal.h: 17511 (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal): 17512 (WebCore::SVGPathSegLinetoHorizontal::toString): 17513 (WebCore::SVGPathSegLinetoHorizontal::setX): 17514 (WebCore::SVGPathSegLinetoHorizontal::x): 17515 (WebCore::SVGPathSegLinetoHorizontalAbs::create): 17516 (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter): 17517 (WebCore::SVGPathSegLinetoHorizontalRel::create): 17518 (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter): 17519 * svg/SVGPathSegLinetoVertical.cpp: 17520 (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs): 17521 (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel): 17522 * svg/SVGPathSegLinetoVertical.h: 17523 (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical): 17524 (WebCore::SVGPathSegLinetoVertical::toString): 17525 (WebCore::SVGPathSegLinetoVertical::setY): 17526 (WebCore::SVGPathSegLinetoVertical::y): 17527 (WebCore::SVGPathSegLinetoVerticalAbs::create): 17528 (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter): 17529 (WebCore::SVGPathSegLinetoVerticalRel::create): 17530 (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter): 17531 * svg/SVGPathSegMoveto.cpp: 17532 (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs): 17533 (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel): 17534 * svg/SVGPathSegMoveto.h: 17535 (WebCore::SVGPathSegMovetoAbs::create): 17536 (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter): 17537 (WebCore::SVGPathSegMovetoRel::create): 17538 (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter): 17539 17540 2008-05-22 Alp Toker <alp (a] nuanti.com> 17541 17542 GTK+/DirectFB build fix attempt. 17543 17544 * plugins/PluginDatabase.cpp: 17545 (WebCore::PluginDatabase::isPreferredPluginDirectory): 17546 * plugins/gtk/PluginDatabaseGtk.cpp: 17547 (WebCore::PluginDatabase::isPreferredPluginDirectory): 17548 17549 2008-05-22 Timothy Hatcher <timothy (a] apple.com> 17550 17551 Adds Focus, Exclude and Restore buttons to the Profile view 17552 Status bar. Also adds a Record button to create new profiles. 17553 17554 <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a profile node. 17555 <rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a profile node. 17556 17557 Reviewed by Adam Roben. 17558 17559 * English.lproj/localizedStrings.js: Added new strings. 17560 * page/JavaScriptProfile.cpp: 17561 (WebCore::restoreAll): Call Profile::restoreAll. 17562 (WebCore::ProfileClass): Added restoreAll to the static functions. 17563 * page/inspector/Images/excludeButtons.png: Added. 17564 * page/inspector/Images/focusButtons.png: Added. 17565 * page/inspector/Images/recordButtons.png: Added. 17566 * page/inspector/Images/reloadButtons.png: Added. 17567 * page/inspector/ProfileView.js: 17568 (WebInspector.ProfileView): Create the buttons elements. 17569 (WebInspector.ProfileView.prototype.get statusBarItems): Return the three 17570 status bar buttons. 17571 (WebInspector.ProfileView.prototype.refresh): Only create ProfileDataGridNodes 17572 for ProfileNodes that are visible. 17573 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Just call 17574 refresh on the children, now that they have access to the ProfileView's properties. 17575 (WebInspector.ProfileView.prototype._focusClicked): Call focus 17576 on the profile, refresh the ProfileView and show the reset button. 17577 (WebInspector.ProfileView.prototype._excludeClicked): Call exclude 17578 on the profile, refresh the ProfileView and show the reset button. 17579 (WebInspector.ProfileView.prototype._resetClicked): Call restoreAll 17580 on the profile, refresh the ProfileView and hide the reset button. 17581 (WebInspector.ProfileView.prototype._dataGridNodeSelected): Enable the 17582 focus and exclude buttons. 17583 (WebInspector.ProfileView.prototype._dataGridNodeDeselected): Disable the 17584 focus and exclude buttons. 17585 (WebInspector.ProfileDataGridNode): Take a ProfileView, and remove the 17586 showPercentAs* arguments. 17587 * page/inspector/ProfilesPanel.js: Add a record status bar button and 17588 th ability to have per-view status bar buttons. 17589 * page/inspector/inspector.css: New styles. 17590 17591 2008-05-22 Mark Rowe <mrowe (a] apple.com> 17592 17593 Reviewed by Tim Hatcher. 17594 17595 <rdar://problem/5956612> ibtool crashes during build 17596 17597 SCDynamicStoreCreate will return null if it cannot create a dynamic store object. We need 17598 to check for failure rather than continuing with a null store as this results in us 17599 passing a null CFRunLoopSourceRef to CFRunLoopAddSource, which promptly crashes. 17600 17601 * platform/network/mac/NetworkStateNotifierMac.cpp: 17602 (WebCore::NetworkStateNotifier::NetworkStateNotifier): Null check SCDynamicStoreCreate and 17603 SCDynamicStoreCreateRunLoopSource as it is possible for them to fail. 17604 17605 2008-05-22 Adam Roben <aroben (a] apple.com> 17606 17607 Add a test for calling a NodeList as a function while profiling 17608 17609 Reviewed by Kevin McCullough. 17610 17611 * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Added. 17612 17613 2008-05-22 Kevin McCullough <kmccullough (a] apple.com> 17614 17615 Rubber stamped by Adam. 17616 17617 -Added new profiler tests. 17618 17619 * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Added. 17620 * manual-tests/inspector/profiler-test-constructor.html: Added. 17621 * manual-tests/inspector/profiler-test-document-dot-write.html: Added. 17622 * manual-tests/inspector/profiler-test-simple-no-level-change.html: Added. 17623 * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Added. 17624 * manual-tests/inspector/profiler-test-window-dot-eval.html: Added. 17625 17626 2008-05-22 Kevin McCullough <kmccullough (a] apple.com> 17627 17628 Reviewed by Tim. 17629 17630 <rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a 17631 profile node. 17632 -Expose the 'exclude' function to the WebInspector. 17633 -Also fix a bug with 'focus' and expose whether or not a node is visible 17634 17635 * page/JavaScriptProfile.cpp: Renamed profileClass to have a capital P. 17636 (WebCore::getTitleCallback): 17637 (WebCore::getHeadCallback): 17638 (WebCore::focus): Now correctly compares against a ProfileNodeClass 17639 instead of ProfileClass. 17640 (WebCore::exclude): Expose 'exclude' function to the WebInspector. 17641 (WebCore::ProfileClass): 17642 (WebCore::toJS): 17643 * page/JavaScriptProfileNode.cpp: Declare the ProfileNodeClass in the 17644 header so that ProfileClass can use it. 17645 (WebCore::getVisible): Expose a node's visiblity to the WebInspector. 17646 (WebCore::ProfileNodeClass): 17647 * page/JavaScriptProfileNode.h: 17648 17649 2008-05-22 Sam Weinig <sam (a] webkit.org> 17650 17651 Reviewed by Anders Carlsson. 17652 17653 <rdar://problem/5838772> Support cross-site XMLHttpRequest 17654 17655 - Implement support for cross-site non-GET requests using the HTTP header 17656 Access-control mechanism. 17657 17658 Tests: http/tests/xmlhttprequest/access-control-basic-allow-async.html 17659 http/tests/xmlhttprequest/access-control-basic-not-get-allow-async.html 17660 http/tests/xmlhttprequest/access-control-basic-not-get-allow.html 17661 17662 * xml/XMLHttpRequest.cpp: 17663 (WebCore::XMLHttpRequest::XMLHttpRequest): 17664 (WebCore::XMLHttpRequest::send): 17665 Don't continue send if inside the method check preflight (only happens for async). 17666 17667 (WebCore::XMLHttpRequest::crossSiteAccessRequest): 17668 Add support for non-GET requests, starting off a method check preflight. 17669 17670 (WebCore::XMLHttpRequest::handleAsynchronousMethodCheckResult): 17671 Handler for finishing up after an asynchronous method check has completed. 17672 17673 (WebCore::XMLHttpRequest::didFinishLoading): 17674 (WebCore::XMLHttpRequest::didFinishLoadingMethodCheck): 17675 (WebCore::XMLHttpRequest::didReceiveResponse): 17676 (WebCore::XMLHttpRequest::didReceiveResponseMethodCheck): 17677 (WebCore::XMLHttpRequest::didReceiveData): 17678 Do a limited set of access control when in the method check preflight. 17679 * xml/XMLHttpRequest.h: 17680 17681 2008-05-22 Timothy Hatcher <timothy (a] apple.com> 17682 17683 Make sure we don't call findTreeElement with the same representedObject 17684 again, to prevent infinite recursion. Added many comments to this 17685 code so it can be understood later. 17686 17687 https://bugs.webkit.org/show_bug.cgi?id=19164 17688 17689 Reviewed by Adam Roben. 17690 17691 * page/inspector/treeoutline.js: 17692 17693 2008-05-22 Timothy Hatcher <timothy (a] apple.com> 17694 17695 Re-word the "Attach Debugger" overlay to never say "Attach". The new 17696 wording is "Start Debugging". This makes the overlay consistent with 17697 other wording used for starting the debugger. Also fixes the tooltips 17698 for the Pause on Exceptions button. 17699 17700 Reviewed by Adam Roben and Dan Bernstein. 17701 17702 * English.lproj/localizedStrings.js: Adds new strings. 17703 * page/inspector/ScriptsPanel.js: Changes the wording. Flips the 17704 tooltips for the Pause on Exceptions buttons so the tooltip says 17705 what will happen when the button is pressed. 17706 17707 2008-05-22 Timothy Hatcher <timothy (a] apple.com> 17708 17709 Remove some non-functional elements from the Scripts panel 17710 so they don't confuse users why they aren't working. 17711 17712 Reviewed by Adam Roben. 17713 17714 * page/inspector/ScriptsPanel.js: Removes the back/forward buttons 17715 and the function menu. 17716 * page/inspector/inspector.css: Make the files menu wider since there 17717 is more room now. 17718 17719 2008-05-22 Timothy Hatcher <timothy (a] apple.com> 17720 17721 <rdar://problem/5956403> Update the Develop menu to match the new Inspector items 17722 17723 Reviewed by Adam Roben. 17724 17725 * English.lproj/localizedStrings.js: 17726 * WebCore.base.exp: 17727 * page/InspectorController.cpp: 17728 (WebCore::InspectorController::InspectorController): 17729 (WebCore::InspectorController::inspect): 17730 (WebCore::InspectorController::setWindowVisible): 17731 (WebCore::InspectorController::showPanel): 17732 (WebCore::InspectorController::startUserInitiatedProfiling): 17733 (WebCore::InspectorController::stopUserInitiatedProfiling): 17734 (WebCore::InspectorController::startDebuggingAndReloadInspectedPage): 17735 (WebCore::InspectorController::stopDebugging): 17736 * page/InspectorController.h: 17737 (WebCore::InspectorController::): 17738 (WebCore::InspectorController::isRecordingUserInitiatedProfile): 17739 * page/inspector/ProfilesPanel.js: 17740 * page/inspector/ScriptsPanel.js: 17741 * page/inspector/inspector.js: 17742 17743 2008-05-22 Josh Aas <joshmoz (a] gmail.com> 17744 17745 Reviewed by Anders. 17746 17747 <rdar://problem/5956429> 17748 https://bugs.webkit.org/show_bug.cgi?id=19192 17749 remove NPNVpluginEventModel, fix example plugin 17750 17751 Remove NPNVpluginEventModel enum variable. 17752 17753 * bridge/npapi.h: 17754 17755 2008-05-22 Stephanie Lewis <slewis (a] apple.com> 17756 17757 Reviewed by Dan. 17758 17759 Fix <rdar://problem/5952405>. The unbeforeunload count cannot be cleared when it is dispatched because it is possible to be called again. Clear it after the unload event is dispatched. 17760 17761 Test: fast/events/onunload-clears-onbeforeunload.html 17762 17763 * loader/FrameLoader.cpp: 17764 (WebCore::FrameLoader::stopLoading): 17765 * page/Frame.cpp: 17766 (WebCore::Frame::shouldClose): 17767 17768 2008-05-22 Simon Hausmann <hausmann (a] webkit.org> 17769 17770 Reviewed by Oliver. 17771 17772 Qt build fix. 17773 17774 * bindings/js/StringSourceProvider.h: Remove text at end of 17775 preprocessor statement. 17776 * bridge/qt/qt_instance.cpp: 17777 (KJS::Bindings::QtRuntimeObjectImp::getConstructData): Replaced 17778 implementsConstruct() with getConstructData(). 17779 (KJS::Bindings::QtInstance::getCallData): Replaced implementsCall with 17780 getCallData(). 17781 (KJS::Bindings::QtInstance::invokeDefaultMethod): Use getCallData() 17782 instead of implementsCall(). 17783 * bridge/qt/qt_instance.h: 17784 17785 2008-05-22 Adam Roben <aroben (a] apple.com> 17786 17787 Massively speed up date-format-tofte with the debugger attached 17788 17789 On a debug Windows build (I know, hardly a good testcase) this patch 17790 makes this test run 57.25x as fast. 17791 17792 Reviewed by Mark Rowe. 17793 17794 * page/inspector/ScriptsPanel.js: 17795 (WebInspector.ScriptsPanel.prototype.reset): Clear the 17796 _scriptsForURLsInFilesSelect object. 17797 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Instead 17798 of looping over all the options in the select to find the option we 17799 want, get the script object from _scriptsForURLsInFilesSelect and get 17800 the option element from the script object. 17801 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use 17802 _scriptsForURLsInFilesSelect to cache the script objects. Store the 17803 option element for each script on the script object so we can quickly 17804 retrieve it later. 17805 17806 2008-05-22 Adam Roben <aroben (a] apple.com> 17807 17808 Remove some dead code from ScriptsPanel.js 17809 17810 Reviewed by Mark Rowe. 17811 17812 * page/inspector/ScriptsPanel.js: 17813 17814 2008-05-21 Adam Roben <aroben (a] apple.com> 17815 17816 Fix Bug 19178: Inspector should support sorting resources by latency 17817 17818 <https://bugs.webkit.org/show_bug.cgi?id=19178> 17819 17820 I replaced "Sort by Time" with the following sorting options: 17821 - Sort by Start Time 17822 - Sort by Response Time 17823 - Sort by End Time 17824 - Sort by Duration 17825 - Sort by Latency 17826 17827 You can no longer sort by Size when looking at the Time graph, and you 17828 can't use any of the time-based sorting functions when looking at the 17829 Size graph. 17830 17831 Reviewed by Tim Hatcher. 17832 17833 * page/inspector/Resource.js: 17834 (WebInspector.Resource.prototype.get duration): Added. 17835 (WebInspector.Resource.prototype.get latency): Added. 17836 (WebInspector.Resource.CompareByStartTime): Added. 17837 (WebInspector.Resource.CompareByResponseReceivedTime): Added. 17838 (WebInspector.Resource.CompareByEndTime): Added. 17839 (WebInspector.Resource.CompareByDuration): Added. 17840 (WebInspector.Resource.CompareByLatency): Added. 17841 * page/inspector/ResourcesPanel.js: 17842 (WebInspector.ResourcesPanel): 17843 - Each graph sidebar item now holds a list of sorting options 17844 - Graph sidebar items no longer have a calculator property. This is 17845 stored on the sorting options instead, to allow each kind of 17846 sorting to have a different calculator. 17847 - The sortingSelectElement starts out empty, and is populated in 17848 _graphSelected 17849 - The sortingFunction starts out uninitialized and is set as a 17850 side-effect of _graphSelected. 17851 (WebInspector.ResourcesPanel.prototype.set calculator): Don't do 17852 anything if the calculator hasn't changed. 17853 (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Use the 17854 _lastSelectedGraphTreeElement property instead of getting the graph 17855 element from the calculator. 17856 (WebInspector.ResourcesPanel.prototype._graphSelected): 17857 - Store the tree element in the _lastSelectedGraphTreeElement 17858 property 17859 - Popuplate sortingSelectElement with the sortingOptions and select 17860 the option that was last selected 17861 (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set 17862 our calculator from the sorting option. 17863 (WebInspector.ResourceTimeCalculator): Renamed from 17864 ResourceTransferTimeCalculator. Now takes a parameter to specify 17865 whether the bars should all start at zero. 17866 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): 17867 Take this.startAtZero into account. 17868 (WebInspector.ResourceTimeCalculator.prototype.updateBoundries): 17869 Abstracted the lower/upper bounds of a resource into methods. 17870 (WebInspector.ResourceTimeCalculator.prototype._lowerBound): Added. 17871 (WebInspector.ResourceTimeCalculator.prototype._upperBound): Added. 17872 (WebInspector.ResourceTransferTimeCalculator): Added. This is now a 17873 subclass of ResourceTimeCalculator 17874 (WebInspector.ResourceTransferDurationCalculator): Added. 17875 (WebInspector.ResourceSidebarTreeElement.CompareByAscendingStartTime): Added. 17876 (WebInspector.ResourceSidebarTreeElement.CompareByAscendingResponseReceivedTime): Added. 17877 (WebInspector.ResourceSidebarTreeElement.CompareByAscendingEndTime): Added. 17878 (WebInspector.ResourceSidebarTreeElement.CompareByDescendingDuration): Added. 17879 (WebInspector.ResourceSidebarTreeElement.CompareByDescendingLatency): Added. 17880 (WebInspector.ResourceSidebarTreeElement.CompareByDescendingSize): 17881 Changed to call CompareBySize. 17882 17883 2008-05-21 Adam Roben <aroben (a] apple.com> 17884 17885 Fix Bug 19173: Tool tips for Inspector debugger status bar buttons are 17886 wrong/missing 17887 17888 <https://bugs.webkit.org/show_bug.cgi?id=19173> 17889 17890 Reviewed by Tim Hatcher. 17891 17892 * manual-tests/inspector/debugger-status-bar-buttons-state.html: 17893 Added. 17894 * page/inspector/ScriptsPanel.js: 17895 (WebInspector.ScriptsPanel.prototype._toggleDebugging): Call 17896 _clearInterface (which updates the buttons' tool tips) after 17897 attaching/detaching the debugger so that the buttons will reflect the 17898 new state. 17899 (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton): 17900 Set the title of the pauseOnExceptionsButton, not the debuggingButton. 17901 17902 2008-05-20 Adam Roben <aroben (a] apple.com> 17903 17904 Fix Bug 19153: Inspector should support console.debug 17905 17906 <https://bugs.webkit.org/show_bug.cgi?id=19153> 17907 <rdar://problem/5950856> 17908 17909 Reviewed by Tim Hatcher. 17910 17911 Test: manual-tests/inspector/console-log-formatting.html 17912 17913 * bindings/js/JSConsoleCustom.cpp: 17914 (WebCore::JSConsole::debug): Added. 17915 * manual-tests/inspector/console-log-formatting.html: Changed to test 17916 console.debug as well. 17917 * page/Console.cpp: 17918 (WebCore::Console::debug): Added. Just calls through to log(). 17919 * page/Console.h: 17920 * page/Console.idl: Added debug() declaration. 17921 17922 2008-05-21 Kevin McCullough <kmccullough (a] apple.com> 17923 17924 Reviewed by Adam. 17925 17926 <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a 17927 profile node. 17928 - Expose the Profile's 'focus' ability to WebCore and the WebInspector. 17929 17930 * page/JavaScriptProfile.cpp: 17931 (WebCore::focus): 17932 (WebCore::profileClass): 17933 17934 2008-05-21 Timothy Hatcher <timothy (a] apple.com> 17935 17936 Remove the rest of the debug code inside DEBUG_DEBUGGER_CALLBACKS 17937 since the parts the remain aren't useful. 17938 17939 * page/JavaScriptDebugServer.cpp: 17940 (WebCore::JavaScriptDebugServer::sourceParsed): 17941 17942 2008-05-21 Beth Dakin <bdakin (a] apple.com> 17943 17944 Reviewed by Anders. 17945 17946 Fix for <rdar://problem/5848161> REGRESSION (r31438?): Crash 17947 beneath ResourceHandle::setDefersLoading while running fast/loader/ 17948 simultaneous-reloads-assert.html (null CFURLConnection) 17949 17950 * platform/network/cf/ResourceHandleCFNet.cpp: 17951 (WebCore::ResourceHandle::setDefersLoading): Added simple null- 17952 check. 17953 17954 2008-05-21 Timothy Hatcher <timothy (a] apple.com> 17955 17956 Adds the Request and Response headers to the Resource view. 17957 17958 <rdar://problem/5940782> REGRESSION: Resource Request and Response 17959 headers aren't shown (18451) 17960 17961 Reviewed by Adam Roben. 17962 17963 * English.lproj/localizedStrings.js: Added new strings. 17964 * css/view-source.css: Add comments to make sure a couple of 17965 style rules stay in sync with inspector.css. 17966 * page/inspector/Resource.js: 17967 (WebInspector.Resource.prototype.set url): Dispatch an event when 17968 this property changes. 17969 (WebInspector.Resource.prototype.set requestHeaders): Ditto. 17970 (WebInspector.Resource.prototype.set responseHeaders): Ditto. 17971 * page/inspector/ResourceView.js: 17972 (WebInspector.ResourceView): Add new elements for the headers 17973 and a headers TreeOutline. Add event listeners for resource 17974 property changes. Calls the three new refresh functions. 17975 (WebInspector.ResourceView.prototype.set headersVisible): Implemented. 17976 Toggles the headers-visible class name. 17977 (WebInspector.ResourceView.prototype._refreshURL): Update the URL 17978 tree element. 17979 (WebInspector.ResourceView.prototype._refreshRequestHeaders): Call _refreshHeaders. 17980 (WebInspector.ResourceView.prototype._refreshResponseHeaders): Ditto. 17981 (WebInspector.ResourceView.prototype._refreshHeaders): Remove the previous 17982 headers fromm the tree element. Loop throuh the headers and create new 17983 tree elements and append them. 17984 * page/inspector/ResourcesPanel.js: 17985 (WebInspector.ResourcesPanel.prototype._updateSidebarWidth): Call resize 17986 on the visible view if it is implemented. 17987 * page/inspector/SourceFrame.js: 17988 (WebInspector.SourceFrame.prototype.get autoSizesToFitContentHeight): 17989 (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight): 17990 (WebInspector.SourceFrame.prototype.sizeToFitContentHeight): 17991 (WebInspector.SourceFrame.prototype._loaded): 17992 (WebInspector.SourceFrame.prototype._windowResized): 17993 * page/inspector/SourceView.js: 17994 (WebInspector.SourceView): Move the SourceFrame creation so it is 17995 available when headersVisible is set. Add a gutter element to fill 17996 the vertical space no covered by the SourceFrame now. 17997 (WebInspector.SourceView.prototype.set headersVisible): Set the 17998 SourceFrame.autoSizesToFitContentHeight when this property changes. 17999 (WebInspector.SourceView.prototype.resize): Call SourceFrame.sizeToFitContentHeight 18000 when autoSizesToFitContentHeight is true. This happens when resizing the 18001 Resources sidebar. 18002 * page/inspector/inspector.css: Add a copy of webkit-line-gutter-backdrop 18003 and a comment to keep in sync with view-source.css. Adds other styles 18004 for the headers area of resource-view. 18005 18006 2008-05-21 Sam Weinig <sam (a] webkit.org> 18007 18008 Reviewed by Anders Carlsson. 18009 18010 <rdar://problem/5838772> Support cross-site XMLHttpRequest 18011 18012 - Implement support for cross-site GET requests using the HTTP header 18013 Access-control mechanism. 18014 18015 Tests: http/tests/xmlhttprequest/access-control-basic-allow-headers.html 18016 http/tests/xmlhttprequest/access-control-basic-allow.html 18017 http/tests/xmlhttprequest/access-control-basic-denied.html 18018 http/tests/xmlhttprequest/access-control-basic-exclude.html 18019 18020 * xml/AccessControlList.cpp: 18021 (WebCore::AccessControlList::checkOrigin): Implement the list check algorithm. 18022 * xml/AccessControlList.h: 18023 18024 * xml/AccessItem.cpp: 18025 (WebCore::AccessItem::AccessItem): 18026 (WebCore::AccessItem::matches): 18027 * xml/AccessItem.h: 18028 Temporarily use a SecurityOrigin as the bases of AccessItem matching. Using 18029 the isSameSchemeHostPort test of the SecurityOrigin allows for a legal subset 18030 of the AccessItem match algorithm to be used, until the complete parsing of 18031 the wildcards and optional pieces is complete. 18032 18033 * xml/AccessItemRule.cpp: 18034 (WebCore::matchesAny): 18035 (WebCore::AccessItemRule::allowListMatchesAny): 18036 (WebCore::AccessItemRule::excludeListMatchesAny): 18037 * xml/AccessItemRule.h: 18038 More of the implementation of the list check algorithm. Check if any of the items 18039 in the rule match the control origin. 18040 18041 * xml/XMLHttpRequest.cpp: 18042 (WebCore::XMLHttpRequest::XMLHttpRequest): 18043 (WebCore::XMLHttpRequest::open): Don't throw a SECURITY_ERR for cross-domain requests anymore. 18044 (WebCore::XMLHttpRequest::send): Use different paths for same origin and cross-domain requests. 18045 (WebCore::XMLHttpRequest::crossSiteAccessRequest): Temporarily only support the GET method for 18046 cross-domain requests. 18047 (WebCore::XMLHttpRequest::loadRequestSynchronously): 18048 (WebCore::XMLHttpRequest::processSyncLoadResults): 18049 This can now throw an exception if a cross-domain request is denied by the access control 18050 (WebCore::XMLHttpRequest::didFinishLoading): 18051 Add support for cross-domain GET request. ASSERT temporarily that the method is GET, since we 18052 should have bailed out much earlier for non-GET methods. 18053 (WebCore::XMLHttpRequest::willSendRequest): 18054 (WebCore::XMLHttpRequest::didReceiveResponse): 18055 Do the HTTP header access-control check as soon as the headers arrive. 18056 * xml/XMLHttpRequest.h: 18057 18058 2008-05-21 Alp Toker <alp (a] nuanti.com> 18059 18060 Rubber-stamped by Maciej. 18061 18062 Replace non-standard #pragma marks with comments to avoid compiler 18063 warnings. 18064 18065 * page/InspectorController.cpp: 18066 18067 === End merge of squirrelfish === 18068 18069 2008-05-21 Geoffrey Garen <ggaren (a] apple.com> 18070 18071 Reviewed by Tim Hatcher. 18072 18073 Merged with trunk WebCore's new debugger. 18074 18075 * page/InspectorController.cpp: 18076 (WebCore::currentCallFrame): Updated to use the DebuggerCallFrame API. 18077 (WebCore::InspectorController::pauseInDebugger): Updated for name change 18078 explained below. 18079 (WebCore::InspectorController::resumeDebugger): ditto 18080 (WebCore::InspectorController::didParseSource): Fixed a bug that would 18081 produce garbled text in some cases: Don't treat JS source as null- 18082 terminated UTF8; it's UTF16. 18083 18084 * page/JavaScriptCallFrame.cpp: 18085 * page/JavaScriptCallFrame.h: Changed this class to do all of its processing 18086 through a JavaScriptCore DebuggerCallFrame. We have to copy the DebuggerCallFrame 18087 because it's a temporary. 18088 (WebCore::JavaScriptCallFrame::update): Added an API for updating a call 18089 frame during execution: this is how we handle "with" and "eval". 18090 18091 * page/JavaScriptDebugServer.cpp: Separated "m_paused" from 18092 "m_doneProcessingDebuggerEvents", because they have different semantics: 18093 "m_paused" is the flag the debug server uses to indicate that new debugger 18094 callbacks should be ignored, because they come from the debugger's own 18095 JS code; "m_doneProcessingDebuggerEvents" is the flag the debugger UI 18096 uses to indicate that it's done processing events, and would like execution 18097 to continue. When these flags were one, the debugger would erroneously 18098 process callbacks that ocurred while unwinding from its own JS code. 18099 18100 (WebCore::toPage): Removed some unnecessary NULL checking. Added some 18101 missing NULL checking. 18102 18103 (WebCore::JavaScriptDebugServer::pauseIfNeeded): Changed pause tracking 18104 to track a JavaScriptCallFrame instead of an ExecState, since ExecState 18105 is no longer a unique identifier for a call frame. 18106 18107 I removed the updateCurrentCallFrame scheme, and replaced it with 18108 individual tracking inside these callbacks: 18109 18110 (WebCore::JavaScriptDebugServer::callEvent): 18111 (WebCore::JavaScriptDebugServer::atStatement): 18112 (WebCore::JavaScriptDebugServer::returnEvent): 18113 (WebCore::JavaScriptDebugServer::exception): 18114 18115 The updateCurrentCallFrame scheme was just too incompatible with the 18116 squirrelfish execution model. Everything still works as before, except 18117 for eval, which no longer shows up as an independent call frame. We'll 18118 need to augment our debugger callbacks to bring back support for that. 18119 18120 * page/inspector/ScopeChainSidebarPane.js: Updated to use the activation 18121 class's new name. 18122 18123 2008-05-21 Maciej Stachowiak <mjs (a] apple.com> 18124 18125 Reviewed by Oliver. 18126 18127 - write directly to the slot we used to check for override properties, when possible 18128 2.6% speedup on in-browser SunSpider 18129 18130 * bindings/js/JSDOMWindowCustom.h: 18131 (WebCore::JSDOMWindow::customPut): 18132 18133 2008-05-20 Maciej Stachowiak <mjs (a] apple.com> 18134 18135 Reviewed by Oliver. 18136 18137 - inline JSDOMWindow security checks 18138 0.9% speedup to SunSpider in-browser 18139 18140 * bindings/js/JSDOMWindowBase.cpp: 18141 * bindings/js/JSDOMWindowCustom.h: 18142 (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate): 18143 (WebCore::JSDOMWindowBase::allowsAccessFrom): 18144 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage): 18145 (WebCore::JSDOMWindowBase::allowsAccessFromPrivate): 18146 * bindings/js/kjs_binding.cpp: 18147 18148 2008-05-20 Maciej Stachowiak <mjs (a] apple.com> 18149 18150 Reviewed by Adam. 18151 18152 - use ALWAYS_INLINE on customGetOwnPropertySlot since it wasn't inlining 18153 2% speedup to SunSpider in-browser 18154 18155 * bindings/js/JSDOMWindowCustom.h: 18156 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 18157 18158 2008-05-20 Maciej Stachowiak <mjs (a] apple.com> 18159 18160 Reviewed by Adam. 18161 18162 - inline JSDOMWindow's customPut and customGetOwnPropertySlot methods 18163 1.2% speedup to SunSpider in-browser 18164 18165 The approach here is to make the code generator include a 18166 JS{classname}Custom.h header in the autogenerated implementation, 18167 which we can use to provide inline versions. 18168 18169 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 18170 * bindings/js/JSCSSStyleDeclarationCustom.h: Added. 18171 * bindings/js/JSDOMWindowCustom.cpp: 18172 * bindings/js/JSDOMWindowCustom.h: 18173 (WebCore::asJSDOMWindow): 18174 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 18175 (WebCore::JSDOMWindow::customPut): 18176 * bindings/js/JSHTMLAppletElementCustom.cpp: 18177 * bindings/js/JSHTMLAppletElementCustom.h: Added. 18178 * bindings/js/JSHTMLEmbedElementCustom.cpp: 18179 * bindings/js/JSHTMLEmbedElementCustom.h: Added. 18180 * bindings/js/JSHTMLObjectElementCustom.cpp: 18181 * bindings/js/JSHTMLObjectElementCustom.h: Added. 18182 * bindings/js/JSHistoryCustom.cpp: 18183 * bindings/js/JSHistoryCustom.h: Added. 18184 * bindings/js/JSLocationCustom.cpp: 18185 * bindings/js/JSLocationCustom.h: Added. 18186 * bindings/js/JSStorageCustom.cpp: 18187 * bindings/js/JSStorageCustom.h: Added. 18188 * bindings/scripts/CodeGeneratorJS.pm: 18189 18190 2008-05-19 Maciej Stachowiak <mjs (a] apple.com> 18191 18192 Reviewed by Anders. 18193 18194 - inline asDOMWindow (using a new JSDOMWindowCustom.h header) since it is just a cast 18195 1% speedup to SunSpider in-browser 18196 18197 * WebCore.vcproj/WebCore.vcproj: 18198 * WebCore.xcodeproj/project.pbxproj: 18199 * bindings/js/JSCustomVoidCallback.cpp: 18200 * bindings/js/JSCustomXPathNSResolver.cpp: 18201 * bindings/js/JSDOMApplicationCacheCustom.cpp: 18202 * bindings/js/JSDOMWindowBase.cpp: 18203 * bindings/js/JSDOMWindowBase.h: 18204 * bindings/js/JSDOMWindowCustom.cpp: 18205 * bindings/js/JSDOMWindowCustom.h: Added. 18206 (WebCore::asJSDOMWindow): 18207 * bindings/js/JSDatabaseCustom.cpp: 18208 * bindings/js/JSDocumentCustom.cpp: 18209 * bindings/js/JSLocationCustom.cpp: 18210 * bindings/js/JSSQLTransactionCustom.cpp: 18211 * bindings/js/JSXMLHttpRequestCustom.cpp: 18212 * page/JavaScriptDebugServer.cpp: 18213 18214 2008-05-19 Maciej Stachowiak <mjs (a] apple.com> 18215 18216 Reviewed by Oliver. 18217 18218 - obtain current inner window of outer window in a more efficient way 18219 1.6% speedup to SunSpider in-browser 18220 18221 * bindings/js/JSDOMWindowBase.cpp: 18222 (WebCore::JSDOMWindowBase::allowsAccessFromPrivate): 18223 18224 2008-05-19 Maciej Stachowiak <mjs (a] apple.com> 18225 18226 Reviewed by Adam. 18227 18228 - make impl() method for JSWindow inline 18229 0.6% speedup to SunSpider in-browser 18230 18231 * WebCore.base.exp: Remove now-inline symbol 18232 * bindings/scripts/CodeGeneratorJS.pm: Make the codegen script inline impl() 18233 even for classes with a parent class. 18234 18235 2008-05-17 Geoffrey Garen <ggaren (a] apple.com> 18236 18237 Reviewed by Oliver Hunt. 18238 18239 Updated for API changes in KJS::Debugger. 18240 18241 2008-05-13 Geoffrey Garen <ggaren (a] apple.com> 18242 18243 Reviewed by Oliver Hunt. 18244 18245 Updated for API changes in KJS::Debugger. 18246 18247 * page/JavaScriptDebugServer.cpp: 18248 (WebCore::JavaScriptDebugServer::callEvent): 18249 (WebCore::JavaScriptDebugServer::atStatement): 18250 (WebCore::JavaScriptDebugServer::returnEvent): 18251 (WebCore::JavaScriptDebugServer::exception): 18252 * page/JavaScriptDebugServer.h: 18253 18254 2008-05-13 Geoffrey Garen <ggaren (a] apple.com> 18255 18256 Reviewed by Oliver Hunt. 18257 18258 Updated JavaScriptDebugServer API to accept a SourceProvider instead 18259 of a UString, to avoid copying. 18260 18261 * page/JavaScriptDebugServer.cpp: 18262 (WebCore::JavaScriptDebugServer::sourceParsed): Updated this function 18263 not to return a value. 18264 18265 2008-05-10 Maciej Stachowiak <mjs (a] apple.com> 18266 18267 Build fix. 18268 18269 - add missing forwarding header 18270 18271 * ForwardingHeaders/kjs/SourceProvider.h: Added. 18272 18273 2008-05-10 Maciej Stachowiak <mjs (a] apple.com> 18274 18275 Reviewed by Oliver. 18276 18277 - WebCore part of fix for: "SQUIRRELFISH: function toString broken after calling" 18278 https://bugs.webkit.org/show_bug.cgi?id=18869 18279 18280 * bindings/js/StringSourceProvider.h: Added. SourceProvider subclass backed by a WebCore::String. 18281 (WebCore::StringSourceProvider::create): 18282 (WebCore::StringSourceProvider::getRange): 18283 (WebCore::StringSourceProvider::data): 18284 (WebCore::StringSourceProvider::length): 18285 (WebCore::StringSourceProvider::StringSourceProvider): 18286 * bindings/js/kjs_proxy.cpp: 18287 (WebCore::KJSProxy::evaluate): Pass a StringSourceProvider to 18288 evaluate() instead of UChar* / length. 18289 * html/HTMLScriptElement.cpp: 18290 (WebCore::HTMLScriptElement::text): Modified to return the 18291 original string as-is when the script element contains only a 18292 single text node, to avoid excess memory use. 18293 18294 * WebCore.vcproj/WebCore.vcproj: Add new file to build. 18295 * WebCore.xcodeproj/project.pbxproj: ditto 18296 18297 2008-05-09 Oliver Hunt <oliver (a] apple.com> 18298 18299 Reviewed by Geoff. 18300 18301 Build fixes for SquirrelFish on windows. 18302 18303 * bindings/js/JSNavigatorCustom.cpp: 18304 18305 2008-05-08 Geoffrey Garen <ggaren (a] apple.com> 18306 18307 Reviewed by Oliver Hunt. 18308 18309 Fixed platform/mac/plugins/bindings-test-objc.html. 18310 18311 I've restored -[WebScriptObject setException] and 18312 +[WebScriptObject throwException]. 18313 18314 Instead of mucking around in the JavaScript engine's execution state, 18315 throwing an exception sets a global exception string, along with the 18316 environment in which to throw it. An ObjC callback checks the global 18317 exception string and, if it's non-nil and the environment matches the 18318 current exceution environment, throws the global exception string as a 18319 JS exception. 18320 18321 I also removed the old currentGlobalObject infrastructure: it's no longer 18322 used. 18323 18324 2008-05-06 Oliver Hunt <oliver (a] apple.com> 18325 18326 Reviewed by Maciej. 18327 18328 Bug 18866: SQUIRRELFISH: JS/ObjC bridge is broken <https://bugs.webkit.org/show_bug.cgi?id=18866> 18329 Bug 18867: SQUIRRELFISH: JS/NPRuntime bridge is broken <https://bugs.webkit.org/show_bug.cgi?id=18867> 18330 18331 This fixes function binding logic for the ObjC and NPRuntime by 18332 replacing incorrect implementations of implementsCall (which is 18333 no longer virtual) with implementations of getCallData. 18334 18335 * bindings/js/JSQuarantinedObjectWrapper.cpp: 18336 (WebCore::JSQuarantinedObjectWrapper::getCallData): 18337 * bindings/js/JSQuarantinedObjectWrapper.h: 18338 * bridge/c/c_instance.cpp: 18339 * bridge/c/c_instance.h: 18340 * bridge/objc/objc_instance.h: 18341 * bridge/objc/objc_instance.mm: 18342 * bridge/objc/objc_runtime.h: 18343 * bridge/objc/objc_runtime.mm: 18344 (ObjcFallbackObjectImp::getCallData): 18345 * bridge/runtime.h: 18346 * bridge/runtime_object.cpp: 18347 (RuntimeObjectImp::getCallData): 18348 * bridge/runtime_object.h: 18349 18350 2008-04-30 Geoffrey Garen <ggaren (a] apple.com> 18351 18352 Build fix: supply a parameter that used to be implicit to 18353 Interpreter::evaluate. 18354 18355 2008-04-30 Geoffrey Garen <ggaren (a] apple.com> 18356 18357 Build fix: #ifdef'd out some code that doesn't work anymore. 18358 18359 * bindings/objc/WebScriptObject.mm: 18360 (+[WebScriptObject throwException:]): 18361 (-[WebScriptObject setException:]): 18362 18363 2008-04-14 Gabor Loki <loki (a] inf.u-szeged.hu> 18364 18365 Reviewed by Geoffrey Garen. 18366 18367 Bug 18489: Squirrelfish doesn't build on linux 18368 <https://bugs.webkit.org/show_bug.cgi?id=18489> 18369 18370 * WebCore.pro: Add JavaScriptCore/VM into include path 18371 18372 2008-04-10 Sam Weinig <sam (a] webkit.org> 18373 18374 Reviewed by Geoffrey Garen. 18375 18376 Adjusted WebCore JS functions to the new "getConstructData" calling convention. 18377 18378 2008-03-30 Geoffrey Garen <ggaren (a] apple.com> 18379 18380 Reviewed by Oliver Hunt. 18381 18382 Adjusted WebCore JS functions to the new "getCallData" calling convention. 18383 18384 === Start merge of squirrelfish === 18385 18386 2008-05-21 Anders Carlsson <andersca (a] apple.com> 18387 18388 Reviewed by Mitz. 18389 18390 Add IconFetcher implementation. 18391 18392 * WebCore.base.exp: 18393 * WebCore.xcodeproj/project.pbxproj: 18394 * html/HTMLLinkElement.h: 18395 (WebCore::HTMLLinkElement::isIcon): 18396 * loader/icon/IconFetcher.cpp: Added. 18397 (WebCore::IconLinkEntry::): 18398 (WebCore::IconLinkEntry::IconLinkEntry): 18399 (WebCore::IconLinkEntry::type): 18400 (WebCore::IconLinkEntry::url): 18401 (WebCore::IconLinkEntry::buffer): 18402 (WebCore::parseIconLink): 18403 (WebCore::IconFetcher::create): 18404 (WebCore::IconFetcher::IconFetcher): 18405 (WebCore::IconFetcher::~IconFetcher): 18406 (WebCore::IconFetcher::cancel): 18407 (WebCore::IconFetcher::createIcon): 18408 (WebCore::IconFetcher::loadEntry): 18409 (WebCore::IconFetcher::loadFailed): 18410 (WebCore::IconFetcher::didReceiveResponse): 18411 (WebCore::IconFetcher::didReceiveData): 18412 (WebCore::IconFetcher::didFinishLoading): 18413 (WebCore::IconFetcher::didFail): 18414 * loader/icon/IconFetcher.h: Added. 18415 (WebCore::IconFetcherClient::~IconFetcherClient): 18416 18417 2008-05-21 Dan Bernstein <mitz (a] apple.com> 18418 18419 Reviewed by Dave Hyatt. 18420 18421 - fix https://bugs.webkit.org/show_bug.cgi?id=18352 18422 <rdar://problem/5854517> crash loading malicious font 18423 18424 * platform/graphics/mac/SimpleFontDataMac.mm: 18425 (WebCore::SimpleFontData::platformInit): In the case of a custom font, 18426 there is no NSFont to base the fallback font on, so get a font based on 18427 fallback family name alone. 18428 18429 2008-05-21 Timothy Hatcher <timothy (a] apple.com> 18430 18431 Adds the files and line numbers to the Profile call tree. 18432 18433 <rdar://problem/5952924> Inspector needs to show file and line number 18434 in the Profile call tree 18435 18436 Reviewed by Geoff Garen. 18437 18438 * page/JavaScriptProfileNode.cpp: 18439 (WebCore::getFunctionName): Fixes a JSStringRef leak. 18440 (WebCore::getURL): Call ProfileNode::url. 18441 (WebCore::getLineNumber): Call ProfileNode::lineNumber. 18442 (WebCore::ProfileNodeClass): Add the url and lineNumber properties. 18443 * page/inspector/ProfileView.js: 18444 (WebInspector.ProfileDataGridNode.prototype.createCell): Overload the 18445 DataGridNode.createCell and add the file and lineNumber to the 18446 cell if the column is the function column. 18447 * page/inspector/inspector.css: New styles for the file and line. 18448 18449 2008-05-21 Timothy Hatcher <timothy (a] apple.com> 18450 18451 Restores logging of console calls to the STDOUT 18452 when Interpreter::shouldPrintExceptions() is true. 18453 18454 <rdar://problem/5636442> REGRESSION: Console.log no longer logs to 18455 the system console or terminal 18456 18457 <rdar://problem/5146079> JavaScript exception logging should print 18458 accurate file and line info when called from WebScriptObject 18459 18460 Reviewed by Adam Roben. 18461 18462 * bindings/js/JSCustomSQLStatementCallback.cpp: 18463 (WebCore::JSCustomSQLStatementCallback::handleEvent): Remove existing 18464 printf and check for Interpreter::shouldPrintExceptions() since there is 18465 a call to Console::addMessage. 18466 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 18467 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): Ditto. 18468 * bindings/js/JSCustomSQLTransactionCallback.cpp: 18469 (WebCore::JSCustomSQLTransactionCallback::handleEvent): Ditto. 18470 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 18471 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Ditto. 18472 * bindings/js/JSCustomVoidCallback.cpp: 18473 (WebCore::JSCustomVoidCallback::handleEvent): Ditto. 18474 * bindings/js/JSCustomXPathNSResolver.cpp: 18475 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): Ditto. 18476 * bindings/js/JSDOMWindowBase.cpp: 18477 (WebCore::JSDOMWindowBase::printErrorMessage): Ditto. 18478 * bindings/js/ScheduledAction.cpp: 18479 (WebCore::ScheduledAction::execute): Ditto. 18480 * bindings/js/kjs_events.cpp: 18481 (WebCore::JSAbstractEventListener::handleEvent): Ditto. 18482 * loader/FrameLoader.cpp: 18483 (WebCore::FrameLoader::shouldAllowNavigation): Ditto. 18484 * bindings/objc/WebScriptObject.mm: 18485 (WebCore::addExceptionToConsole): Added helper static function that 18486 calls Console::addMessage. 18487 (-[WebScriptObject callWebScriptMethod:withArguments:]): Call addExceptionToConsole. 18488 (-[WebScriptObject evaluateWebScript:]): Ditto. 18489 (-[WebScriptObject setValue:forKey:]): Ditto. 18490 (-[WebScriptObject valueForKey:]): Ditto. 18491 (-[WebScriptObject removeWebScriptKey:]): Ditto. 18492 (-[WebScriptObject webScriptValueAtIndex:]): Ditto. 18493 (-[WebScriptObject setWebScriptValueAtIndex:value:]): Ditto. 18494 * page/Console.cpp: 18495 (WebCore::Console::addMessage): Print the level, message, 18496 URL and line number to STDOUT. 18497 (WebCore::printToStandardOut): Helper static function that 18498 takes a prefix string, ExecState, an argument List and URL. 18499 Prints the prefix and loops through the arguments calling 18500 toString on each and printing the string. Finally printing 18501 the URL and new line. 18502 (WebCore::Console::error): Call printToStandardOut. 18503 (WebCore::Console::info): Ditto. 18504 (WebCore::Console::log): Ditto. 18505 (WebCore::Console::assertCondition): Ditto. 18506 (WebCore::Console::warn): Ditto. 18507 18508 2008-05-20 Timothy Hatcher <timothy (a] apple.com> 18509 18510 Changes to work with the new Profiler API. The Profile is now 18511 stored by the InspectorController when Console.profileEnd is called. 18512 This solves three issues with the previous design. First, we don't 18513 keep profiles around unless the Inspector is enabled. Second, we 18514 only show Profiles initiated by the Page in it's Inspector, not every 18515 Profile for the whole process. Third, we now show Profiles in the 18516 Inspector when they are created. 18517 18518 <rdar://problem/5951562> New profiles aren't added to the Inspector 18519 as they finish 18520 18521 Reviewed by Kevin McCullough. 18522 18523 * bindings/js/JSConsoleCustom.cpp: 18524 (WebCore::JSConsole::profileEnd): Added. Calls impl()->profileEnd() 18525 and passes the ExecState and arguments. 18526 * page/Console.cpp: 18527 (WebCore::Console::profile): 18528 (WebCore::Console::profileEnd): Accept the optional title argument 18529 and pass it to Profilier::stopProfiling along with the ExecState. 18530 Calls InspectorController::addProfile with the result Profile. 18531 * page/Console.h: 18532 * page/Console.idl: Made profileEnd Custom so we can get the ExecState. 18533 * page/InspectorController.cpp: 18534 (WebCore::profiles): Renamed from allProfiles. Uses the controller's 18535 profiles vector. 18536 (WebCore::InspectorController::addProfile): Appends to m_profiles. 18537 Calls addScriptProfile if the window is visible. 18538 (WebCore::InspectorController::windowScriptObjectAvailable): Renamed 18539 allProfiles to profiles. 18540 (WebCore::InspectorController::addScriptProfile): Calls addProfile on 18541 the JavaScript side. 18542 (WebCore::InspectorController::didCommitLoad): Clears m_profiles. 18543 * page/InspectorController.h: 18544 * page/inspector/ProfilesPanel.js: Populates the profiles sidebar the first 18545 time the panel is shown after a rest. 18546 * page/inspector/inspector.js: Added addProfile, calls ProfilesPanel's 18547 addProfile function. 18548 18549 2008-05-21 Alexey Proskuryakov <ap (a] webkit.org> 18550 18551 Reviewed by Darin. 18552 18553 https://bugs.webkit.org/show_bug.cgi?id=19169 18554 <rdar://5952342> REGRESSION: nakarte.ru searches don't work 18555 18556 Test: http/tests/xmlhttprequest/encode-request-url.html 18557 18558 * platform/KURL.cpp: (WebCore::KURL::init): Don't allow UTF-8 encoded data to be implicitly 18559 converted to String, as it will be encoded again by parse(). 18560 18561 2008-05-21 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 18562 18563 Reviewed by Simon. 18564 18565 For the Qt port, fix building with Qt for Embedded Linux. 18566 18567 * WebCore.pro: 18568 18569 2008-05-21 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 18570 18571 Reviewed by Simon. 18572 18573 For the Qt port, allow building without NPAPI plugin support. 18574 18575 * WebCore.pro: 18576 * plugins/PluginView.h: 18577 18578 2008-05-20 Kevin McCullough <kmccullough (a] apple.com> 18579 18580 Reviewed by Tim. 18581 18582 Added all of my personal manual tests for the profiler. 18583 18584 * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Added. 18585 * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Added. 18586 * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Added. 18587 * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Added. 18588 * manual-tests/inspector/profiler-test-apply.html: Added. 18589 * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Added. 18590 * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Added. 18591 * manual-tests/inspector/profiler-test-call.html: Added. 18592 * manual-tests/inspector/profiler-test-dead-time.html: Added. 18593 * manual-tests/inspector/profiler-test-event-handler.html: Added. 18594 * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Added. 18595 * manual-tests/inspector/profiler-test-inline-event-handler.html: Added. 18596 * manual-tests/inspector/profiler-test-many-calls-in-the-same-scope.html: Added. 18597 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Added. 18598 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Added. 18599 * manual-tests/inspector/profiler-test-multiple-frames.html: Added. 18600 * manual-tests/inspector/profiler-test-multiple-windows.html: Added. 18601 * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Added. 18602 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Added. 18603 * manual-tests/inspector/profiler-test-no-execution-context.html: Added. 18604 * manual-tests/inspector/profiler-test-one-execution-context.html: Added. 18605 * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Added. 18606 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Added. 18607 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Added. 18608 * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Added. 18609 * manual-tests/inspector/profiler-test-two-execution-contexts.html: Added. 18610 * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Added. 18611 * manual-tests/inspector/resources: Added. 18612 * manual-tests/inspector/resources/other-frame.html: Added. 18613 * manual-tests/inspector/resources/other-window.html: Added. 18614 * manual-tests/inspector/resources/profiler-test-JS-resources.js: Added. 18615 18616 2008-05-20 Adam Roben <aroben (a] apple.com> 18617 18618 Use KJS::List::getSlice instead of reimplementing it 18619 18620 Rubberstamped and suggested by Sam Weinig. 18621 18622 * bindings/js/JSConsoleCustom.cpp: 18623 (WebCore::JSConsole::assertCondition): 18624 18625 2008-05-20 Kevin Calhoun <kcalhoun (a] apple.com> 18626 18627 Reviewed by Darin. 18628 18629 Fix <rdar://problem/5929010> Adopt new QTKit methods for <video> implementation 18630 18631 If the class QTVideoRendererWebKitOnly is present use it to render video, 18632 otherwise fall back to existing use of QTMovieView/QTMovieContentView. 18633 18634 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 18635 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 18636 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 18637 (WebCore::MediaPlayerPrivate::createQTMovie): 18638 (WebCore::QTVideoRendererClass): 18639 (WebCore::MediaPlayerPrivate::detachQTMovieView): 18640 (WebCore::MediaPlayerPrivate::createQTVideoRenderer): 18641 (WebCore::MediaPlayerPrivate::destroyQTVideoRenderer): 18642 (WebCore::MediaPlayerPrivate::setUpVideoRendering): 18643 (WebCore::MediaPlayerPrivate::tearDownVideoRendering): 18644 (WebCore::MediaPlayerPrivate::load): 18645 (WebCore::MediaPlayerPrivate::cancelLoad): 18646 (WebCore::MediaPlayerPrivate::setVisible): 18647 (WebCore::MediaPlayerPrivate::paint): 18648 (-[WebCoreMovieObserver newImageAvailable:]): 18649 18650 2008-05-19 Adam Roben <aroben (a] apple.com> 18651 18652 Fix Bug 19134: Inspector should support console.assert 18653 18654 <https://bugs.webkit.org/show_bug.cgi?id=19134> 18655 18656 Reviewed by Tim Hatcher. 18657 18658 Test: manual-tests/inspector/console-assert.html 18659 18660 * bindings/js/JSConsoleCustom.cpp: 18661 (WebCore::JSConsole::assertCondition): Added. 18662 * bindings/scripts/CodeGeneratorJS.pm: Added parsing of the 18663 ImplementationFunction extended attribute, which allows you to 18664 override the name of the C++ function used to implement this method. 18665 * manual-tests/inspector/console-assert.html: Added. 18666 * page/Console.cpp: 18667 (WebCore::Console::assertCondition): Added. 18668 * page/Console.h: 18669 * page/Console.idl: Added assert(). 18670 18671 2008-05-20 Alice Liu <alice.liu (a] apple.com> 18672 18673 Reviewed by Brady. 18674 18675 fix <rdar://problem/5908580> 10A58: Dictionary Panel hangs in WebCore::Cache::pruneDeadResources() 18676 18677 * loader/Cache.cpp: 18678 (WebCore::Cache::requestUserCSSStyleSheet): 18679 Add a call to resourceAccessed() to more closely mirror what is done in requestResource() 18680 (WebCore::Cache::insertInLRUList): 18681 Assert that any resource in the LRU list has been accessed. This is early detection of a 18682 potential hang later when pruning resources, and also agrees with the early return in 18683 removeFromLRUList(). 18684 18685 2008-05-20 Dan Bernstein <mitz (a] apple.com> 18686 18687 Reviewed by Darin Adler. 18688 18689 - fix https://bugs.webkit.org/show_bug.cgi?id=17655 18690 <rdar://problem/5778077> REGRESSION (3.1.1-TOT): Reproducible crash calling querySelector on viewless Document 18691 18692 Test: fast/dom/SelectorAPI/viewless-document.html 18693 18694 * css/CSSStyleSelector.cpp: 18695 (WebCore::CSSStyleSelector::CSSStyleSelector): Updated to initialize the 18696 selector checker. 18697 (WebCore::CSSStyleSelector::init): Removed initialization of 18698 m_collectRulesOnly, which is now part of the selector checker. 18699 (WebCore::CSSStyleSelector::matchRules): Updated for renames and data 18700 moved into the selector checker. 18701 (WebCore::CSSStyleSelector::matchRulesForList): Ditto. 18702 (WebCore::CSSStyleSelector::initForStyleResolve): Added a PseudoId 18703 argument, which is used to initialize a data member of the selector 18704 checker. Updated for renames. Removed initialization of m_isXMLDoc 18705 because this bit is now initialized only once in the selector checker's 18706 constructor. 18707 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): Added. 18708 (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): Changed 18709 into a SelectorChecker method. 18710 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added. Used 18711 by querySelector() and querySelectorAll(). 18712 (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for data 18713 moved into the selector checker. 18714 (WebCore::CSSStyleSelector::matchUARules): Ditto. 18715 (WebCore::CSSStyleSelector::styleForElement): 18716 (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto. Also removed 18717 code that set the parentStyle variable after the last place it is 18718 accessed, and changed to ensure that m_style is set early in this 18719 function. 18720 (WebCore::CSSStyleSelector::adjustRenderStyle): Updated for data moved 18721 into the selector checker. 18722 (WebCore::CSSStyleSelector::styleRulesForElement): Ditto. 18723 (WebCore::CSSStyleSelector::checkSelector): Ditto. Also changed to pass 18724 the element's style and the parent style to the selector checker, as 18725 well as the dynamic pseudo variable and the selector attributes vector. 18726 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added 18727 arguments for the style of the base element and its parent. When the 18728 elementStyle argument is 0, the style is fetched from the element 18729 and its parent as needed. Also changed to take a reference to the 18730 dynamic pseudo ID and a pointer to the vector of attributes affecting 18731 the match. 18732 (WebCore::CSSStyleSelector::applyProperty): Updated for data moved 18733 into the selector checker. 18734 (WebCore::CSSStyleSelector::checkForGenericFamilyChange): Ditto. 18735 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto. 18736 (WebCore::CSSStyleSelector::fontSizeForKeyword): Ditto. 18737 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto. 18738 (WebCore::CSSStyleSelector::SelectorChecker::allVisitedStateChanged): 18739 Changed into a SelectorChecker method. 18740 (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged): 18741 Ditto. 18742 18743 * css/CSSStyleSelector.h: 18744 Added a SelectorChecker class and moved data and methods used in 18745 checking selectors into it. 18746 (WebCore::CSSStyleSelector::allVisitedStateChanged): Changed to call the 18747 SelectorChecker method. 18748 (WebCore::CSSStyleSelector::visitedStateChanged): Ditto. 18749 * dom/Node.cpp: 18750 (WebCore::Node::querySelector): Changed to use a SelectorChecker instead 18751 of the document's style selector. 18752 * dom/SelectorNodeList.cpp: 18753 (WebCore::SelectorNodeList::SelectorNodeList): Ditto. 18754 18755 2008-05-20 Timothy Hatcher <timothy (a] apple.com> 18756 18757 Implements the Profiles panel and Profile view. 18758 18759 Reviewed by Kevin McCullough. 18760 18761 * English.lproj/localizedStrings.js: Added new strings. 18762 * page/inspector/Images/profileIcon.png: Added. 18763 * page/inspector/Images/profilesIcon.png: Changed. New icon design 18764 that fits in with the other toolbar icons. 18765 * page/inspector/ProfileView.js: 18766 (WebInspector.ProfileView): Remove custom table elements 18767 and create a DataGrid. Sorts the profile by descending total time, 18768 since the profiles aren't sorted by default. 18769 (WebInspector.ProfileView.prototype.refresh): Clears the DataGrid 18770 and recreates all the nodes. The selection is preserved. 18771 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Traverse 18772 all the children and change showTotalTimeAsPercent and showSelfTimeAsPercent 18773 to match the ProfileView values. Then call refresh on the child. 18774 (WebInspector.ProfileView.prototype._sortData): Determine the sort 18775 function to call on the head profile node. Call it and then call 18776 refresh to rebuild the DataGrid. 18777 (WebInspector.ProfileView.prototype._mouseDownInDataGrid): Return early 18778 if the event is not a double-click. When it is a double-click, determine 18779 the column that was targeted and if it was total or self toggle the 18780 show as percent property. Call refreshShowAsPercents. 18781 (WebInspector.ProfileDataGridNode): 18782 (WebInspector.ProfileDataGridNode.prototype.get data): 18783 (WebInspector.ProfileDataGridNode.prototype.expand): 18784 (WebInspector.ProfileDataGridNode.prototype.collapse): 18785 (WebInspector.ProfileDataGridNode.prototype._populate): 18786 * page/inspector/ProfilesPanel.js: 18787 (WebInspector.ProfilesPanel): 18788 (WebInspector.ProfilesPanel.prototype.show): Populate the sidebar 18789 with all profiles. This is a workaround until the Inspector 18790 is told about new profiles. 18791 (WebInspector.ProfilesPanel.prototype.reset): Clear the sidebar and 18792 profile views. 18793 (WebInspector.ProfilesPanel.prototype.handleKeyEvent): Pass the key 18794 event to the sidebar. 18795 (WebInspector.ProfilesPanel.prototype.addProfile): Create a 18796 ProfileSidebarTreeElement object and add it to the sidebar. 18797 (WebInspector.ProfilesPanel.prototype.showProfile): Create a ProfileView 18798 and show it. 18799 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Hide the 18800 visible view. 18801 (WebInspector.ProfilesPanel.prototype._startSidebarDragging): Call 18802 WebInspector.elementDragStart. 18803 (WebInspector.ProfilesPanel.prototype._sidebarDragging): Call _updateSidebarWidth. 18804 (WebInspector.ProfilesPanel.prototype._endSidebarDragging): 18805 Call WebInspector.elementDragEnd. 18806 (WebInspector.ProfilesPanel.prototype._updateSidebarWidth): Update the 18807 sidebar width based on the passed in value. 18808 (WebInspector.ProfileSidebarTreeElement): Subclass WebInspector.SidebarTreeElement. 18809 (WebInspector.ProfileSidebarTreeElement.prototype.onselect): Call ProfilesPanel.showProfile. 18810 (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle): Return profile.title. 18811 (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle): Do nothing. 18812 (WebInspector.ProfileSidebarTreeElement.prototype.get subtitle): Ditto. 18813 (WebInspector.ProfileSidebarTreeElement.prototype.set subtitle): Ditto. 18814 * page/inspector/inspector.css: New styles for the profile sidebar 18815 item and profile data grid columns. 18816 * page/inspector/inspector.js: 18817 * page/inspector/utilities.js: 18818 (Number.secondsToString): Added a higherResolution argument 18819 that returns fractional milliseconds. 18820 18821 2008-05-20 chris fleizach <cfleizach (a] apple.com> 18822 18823 Reviewed by Darin Adler, Alice Liu 18824 18825 <rdar://problem/3438014> Might need accessibility solution for context menus in web pages 18826 <rdar://problem/5060458> Elements without AXActions should not return kAXErrorFailure 18827 18828 * page/AccessibilityObject.cpp: 18829 (WebCore::AccessibilityObject::clickPoint): 18830 * page/AccessibilityObject.h: 18831 * page/mac/AccessibilityObjectWrapper.mm: 18832 (-[AccessibilityObjectWrapper accessibilityActionNames]): 18833 (-[AccessibilityObjectWrapper accessibilityPerformPressAction]): 18834 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]): 18835 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]): 18836 (-[AccessibilityObjectWrapper accessibilityPerformAction:]): 18837 18838 2008-05-20 Timothy Hatcher <timothy (a] apple.com> 18839 18840 Expose the ProfileNode functionName sorting functions on 18841 JavaScriptProfileNode. 18842 18843 Reviewed by Kevin McCullough. 18844 18845 * page/JavaScriptProfileNode.cpp: 18846 (WebCore::sortFunctionNameDescending): Call ProfileNode. 18847 (WebCore::sortFunctionNameAscending): Ditto. 18848 (WebCore::ProfileNodeClass): Add static functions. 18849 18850 2008-05-20 Darin Adler <darin (a] apple.com> 18851 18852 Reviewed by Mitz. 18853 18854 - a first small step of CSS DOM refactoring -- the eventual goal is to 18855 reduce StyleBase and possibly eliminate it, since it has multiple 18856 purposes and unneccessarily ties many classes together 18857 18858 * css/CSSCursorImageValue.cpp: 18859 (WebCore::isSVGCursorIdentifier): Mark static so it has internal linkage. 18860 (WebCore::resourceReferencedByCursorElement): Ditto. 18861 (WebCore::CSSCursorImageValue::CSSCursorImageValue): Removed unused style 18862 argument. 18863 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Removed code to 18864 check if X and Y changed before changing them -- there's no reason to do 18865 that. Removed code that depended on the internals of CSSImageValue. The 18866 new code uses only protected functions rather than going right at the 18867 fields and uing internal knowledge of the base class. 18868 * css/CSSCursorImageValue.h: Added a create function, made constructor 18869 private, removed unused style argument. 18870 18871 * css/CSSImageValue.cpp: 18872 (WebCore::CSSImageValue::CSSImageValue): Removed unused style argument. 18873 (WebCore::CSSImageValue::cachedImageURL): Added. A protected function for 18874 use by CSSCursorImageValue that gives the URL. 18875 (WebCore::CSSImageValue::clearCachedImage): Added. A protected function for 18876 use by CSSCursorImageValue that clears the CachedImage. 18877 * css/CSSImageValue.h: Added create functions, made constructors protected 18878 and private, removed unused style argument, made data members private, added 18879 some protected functions for use by CSSCursorImageValue. 18880 18881 * css/CSSImportRule.cpp: 18882 (WebCore::CSSImportRule::setCSSStyleSheet): Changed to call checkLoaded on 18883 the parent. This is part of preparation to move the checkLoaded function from 18884 StyleBase to StyleSheet. 18885 (WebCore::CSSImportRule::insertedIntoParent): Changed code to check the URL 18886 of the style sheet to use the href function of the style sheet rather than 18887 the baseURL function. This eliminates an O(n^2) algorithm here and reduces 18888 the use of baseURL, part of preparation to move it from StyleBase 18889 to CSSStyleSheet. 18890 18891 * css/CSSMutableStyleDeclaration.cpp: 18892 (WebCore::CSSMutableStyleDeclaration::setImageProperty): Changed to use create 18893 function instead of a direct call to new for the CSSImageValue classes. 18894 * css/CSSParser.cpp: 18895 (WebCore::CSSParser::parseValue): Ditto. 18896 (WebCore::CSSParser::parseContent): Ditto. 18897 (WebCore::CSSParser::parseFillImage): Ditto. 18898 (WebCore::CSSParser::parseBorderImage): Ditto. 18899 18900 * css/CSSStyleSelector.cpp: Removed unneeded include of CSSImageValue.h. 18901 * rendering/style/RenderStyle.h: Removed unneeded include of 18902 CSSCursorImageValue.h, which was causing us to rebuild the world way too often. 18903 18904 * xml/XSLImportRule.cpp: 18905 (WebCore::XSLImportRule::setXSLStyleSheet): See change to CSSImportRule above. 18906 (WebCore::XSLImportRule::loadSheet): Ditto. 18907 18908 2008-05-20 Kevin McCullough <kmccullough (a] apple.com> 18909 18910 Rubber stamped by Adam. 18911 18912 -Minor fix. Should not use a reference since the original may disappear. 18913 18914 * page/Console.cpp: 18915 (WebCore::Console::profile): 18916 18917 2008-05-20 Kevin Ollivier <kevino (a] theolliviers.com> 18918 18919 wx build fix. userAgent should return a value. 18920 18921 * plugins/wx/PluginViewWx.cpp: 18922 (WebCore::PluginView::userAgent): 18923 18924 2008-05-19 Timothy Hatcher <timothy (a] apple.com> 18925 18926 Expose the ProfileNode sorting functions on JavaScriptProfileNode. 18927 18928 Reviewed by Kevin McCullough. 18929 18930 * page/JavaScriptProfileNode.cpp: 18931 (WebCore::sortTotalTimeDescending): Call ProfileNode. 18932 (WebCore::sortTotalTimeAscending): Ditto. 18933 (WebCore::sortSelfTimeDescending): Ditto. 18934 (WebCore::sortSelfTimeAscending): Ditto. 18935 (WebCore::sortCallsDescending): Ditto. 18936 (WebCore::sortCallsAscending): Ditto. 18937 (WebCore::ProfileNodeClass): Add static functions. 18938 18939 2008-05-19 Timothy Hatcher <timothy (a] apple.com> 18940 18941 * page/InspectorController.cpp: Change the include for 18942 JavaScriptProfile.h to sue double quotes instead of backets. 18943 18944 2008-05-19 Timothy Hatcher <timothy (a] apple.com> 18945 18946 Adds a DataGrid object that is used for multi-column data 18947 and can contain hierarchical content with disclosure arrows. 18948 A lot of DataGrid was copied from treeoutline.js. This change 18949 makes the database views use the DataGrid. It will later be 18950 used by the ProfileView. 18951 18952 Reviewed by Adam Roben. 18953 18954 * page/inspector/DataGrid.js: Added. Most copied from treeoutline.js 18955 and modified to work with table elements. 18956 * page/inspector/DatabaseQueryView.js: 18957 (WebInspector.DatabaseQueryView.prototype._queryFinished): 18958 Call DatabasesPanel.dataGridForResult and adds the inline style to 18959 the DataGrid element. 18960 * page/inspector/DatabaseTableView.js: 18961 (WebInspector.DatabaseTableView.prototype._queryFinished): 18962 Call DatabasesPanel.dataGridForResult. 18963 * page/inspector/DatabasesPanel.js: 18964 (WebInspector.DatabasesPanel.prototype._tableForResult): Removed. 18965 (WebInspector.DatabasesPanel.prototype.dataGridForResult): Added. 18966 Similar to the previous _tableForResult function, but makes a DataGrid. 18967 * page/inspector/inspector.css: Changes to the data-grid 18968 style rules. 18969 * WebCore.vcproj/WebCore.vcproj: Add DataGrid.js. 18970 * page/inspector/WebKit.qrc: Ditto. 18971 * page/inspector/inspector.html: Ditto. 18972 18973 2008-05-19 Kevin McCullough <kmccullough (a] apple.com> 18974 18975 Reviewed by Adam. 18976 18977 -build fix. 18978 18979 * bindings/js/JSConsoleCustom.cpp: 18980 (WebCore::JSConsole::profile): 18981 * page/Console.cpp: 18982 (WebCore::Console::profile): 18983 * page/Console.h: 18984 * page/Console.idl: 18985 18986 2008-05-19 Alp Toker <alp (a] nuanti.com> 18987 18988 Reviewed by Maciej. 18989 18990 GTK+/soup fixes: 18991 18992 Remove the fragment part of the URL since the file backend doesn't 18993 deal with it. 18994 18995 Fix a typo in the cleanup function. 18996 18997 * platform/network/soup/ResourceHandleSoup.cpp: 18998 (WebCore::cleanupGioOperation): 18999 (WebCore::ResourceHandle::startGio): 19000 19001 2008-05-19 Kevin McCullough <kmccullough (a] apple.com> 19002 19003 Reviewed by Adam. 19004 19005 <rdar://problem/5770054> JavaScript profiler (10928) 19006 - Send the executing context to the profiler so it can attribute time 19007 correctly to parent functions when calling profile() and profileEnd() 19008 while nested. 19009 19010 * page/Console.cpp: 19011 (WebCore::Console::profile): 19012 (WebCore::Console::profileEnd): 19013 * page/Console.h: 19014 19015 2008-05-19 Alp Toker <alp (a] nuanti.com> 19016 19017 Reviewed by Anders and Beth. 19018 19019 http://bugs.webkit.org/show_bug.cgi?id=16495 19020 [GTK] Accessibility support with ATK/AT-SPI 19021 19022 Initial ATK/AT-SPI accessibility support for the GTK+ port. 19023 19024 * GNUmakefile.am: 19025 * page/AccessibilityObject.cpp: 19026 (WebCore::AccessibilityObject::AccessibilityObject): 19027 (WebCore::AccessibilityObject::detach): 19028 * page/AccessibilityObject.h: 19029 * page/gtk/AXObjectCacheAtk.cpp: Added. 19030 (WebCore::AXObjectCache::detachWrapper): 19031 (WebCore::AXObjectCache::attachWrapper): 19032 (WebCore::AXObjectCache::postNotification): 19033 (WebCore::AXObjectCache::postNotificationToElement): 19034 (WebCore::AXObjectCache::handleFocusedUIElementChanged): 19035 * page/gtk/AccessibilityObjectWrapperAtk.cpp: Added. 19036 (WebCore::AccessibilityObject::wrapper): 19037 (WebCore::AccessibilityObject::setWrapper): 19038 * page/gtk/AccessibilityObjectWrapperAtk.h: Added. 19039 19040 2008-05-19 Anders Carlsson <andersca (a] apple.com> 19041 19042 Reviewed by Adam. 19043 19044 <rdar://problem/5946454> 19045 Support navigator.onLine from HTML5. 19046 19047 Add Windows NetworkStateNotifier implementation using the IP Helper API. 19048 19049 * WebCore.vcproj/WebCore.vcproj: 19050 * platform/network/NetworkStateNotifier.h: 19051 (WebCore::updateState): 19052 * platform/network/win/NetworkStateNotifierWin.cpp: Added. 19053 (WebCore::NetworkStateNotifier::updateState): 19054 (WebCore::NetworkStateNotifier::addressChanged): 19055 (WebCore::NetworkStateNotifier::callAddressChanged): 19056 (WebCore::NetworkStateNotifier::addrChangeCallback): 19057 (WebCore::NetworkStateNotifier::registerForAddressChange): 19058 (WebCore::NetworkStateNotifier::NetworkStateNotifier): 19059 19060 2008-05-19 Steve Falkenburg <sfalken (a] apple.com> 19061 19062 Disable C4273, C4565 for CSSGrammar.cpp, XPathGrammar.cpp to fix build. 19063 19064 Reviewed by Adam Roben. 19065 19066 * WebCore.vcproj/WebCore.vcproj: 19067 19068 2008-05-19 Adam Roben <aroben (a] apple.com> 19069 19070 Fix Bug 19065: Resources with a space in their URL don't get 19071 error/warning bubbles 19072 19073 <https://bugs.webkit.org/show_bug.cgi?id=19065> 19074 19075 Reviewed by Dan Bernstein. 19076 19077 Test: manual-tests/inspector/errors-with-space in-url.html 19078 19079 * manual-tests/inspector/errors-with-space in-url.html: Added. 19080 * page/Console.cpp: 19081 (WebCore::Console::error): 19082 (WebCore::Console::info): 19083 (WebCore::Console::log): 19084 (WebCore::Console::warn): 19085 Pass the raw URL to the Inspector, not the pretty URL, to match the 19086 URL that was used when initially telling the Inspector about this 19087 resource. We continue to pass the pretty URL to the ChromeClient for 19088 backwards compatibility. 19089 19090 2008-05-19 Stephanie Lewis <slewis (a] apple.com> 19091 19092 Reviewed by Darin. 19093 19094 more fast teardown performance work, WebCore plumbing 19095 19096 * page/Chrome.cpp: 19097 (WebCore::Chrome::disableSuddenTermination): 19098 (WebCore::Chrome::enableSuddenTermination): 19099 (WebCore::ChromeClient::disableSuddenTermination): 19100 (WebCore::ChromeClient::enableSuddenTermination): 19101 * page/Chrome.h: 19102 * page/ChromeClient.h: 19103 * page/Page.cpp: 19104 (WebCore::Page::changePendingUnloadEventCount): 19105 (WebCore::Page::changePendingBeforeUnloadEventCount): 19106 19107 2008-05-19 Kuchhal <kuchal (a] yahoo.com> 19108 19109 Reviewed by Justin. 19110 19111 <rdar://problem/5863412> Crash when Ctrl C is pressed after a series of specific mouse events (18506) 19112 19113 * editing/markup.cpp: 19114 (WebCore::createMarkup): Null check. 19115 19116 2008-05-19 Chris Fleizach <cfleizach (a] apple.com> 19117 19118 Reviewed by Beth Dakin. 19119 19120 <rdar://problem/5912195> CrashTracer: [USER] 1 crash in Mail at -[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:] 19121 19122 * page/mac/AccessibilityObjectWrapper.mm: 19123 (visiblePositionForTextMarker): 19124 19125 2008-05-19 Ada Chan <adachan (a] apple.com> 19126 19127 Added CookieStorageWin.h/cpp, introducing methods to get/set the current CFHTTPCookieStorageRef. 19128 When setting cookies-related attributes in CFURLRequest, make sure we get them from the 19129 current CFHTTPCookieStorageRef. Also, set the cookie storage in CFURLRequest. 19130 19131 Reviewed by Steve Falkenburg. 19132 19133 * WebCore.vcproj/WebCore.vcproj: 19134 * platform/network/cf/ResourceHandleCFNet.cpp: 19135 (WebCore::makeFinalRequest): 19136 * platform/network/cf/ResourceRequestCFNet.cpp: 19137 (WebCore::ResourceRequest::doUpdatePlatformRequest): 19138 * platform/network/win/CookieJarCFNetWin.cpp: 19139 (WebCore::setCookies): 19140 (WebCore::cookies): 19141 (WebCore::cookiesEnabled): 19142 * platform/network/win/CookieStorageWin.cpp: Added. 19143 (WebCore::currentCookieStorage): 19144 (WebCore::setCurrentCookieStorage): 19145 * platform/network/win/CookieStorageWin.h: Added. 19146 19147 2008-05-19 Alexey Proskuryakov <ap (a] webkit.org> 19148 19149 Reviewed by Darin. 19150 19151 http://bugs.webkit.org/show_bug.cgi?id=18308 19152 SVG Encoding error with fill attribute 19153 19154 This is caused by problems with data: URL loading. Besides what is fixed by this patch, 19155 I filed <rdar://problem/5845875> for CFNetwork. 19156 19157 While at it, fixed a related javascript: URL issue. 19158 19159 Tests: fast/loader/data-url-encoding-html.html 19160 fast/loader/data-url-encoding-svg.html 19161 fast/loader/javascript-url-encoding.html 19162 19163 * platform/KURL.cpp: 19164 (WebCore::KURL::parse): Fix a FIXME, use UTF-8 instead of dropping high bytes. This fixes 19165 javascript: URL handling. 19166 (WebCore::encodeRelativeString): Like mailto: URLs, data: ones are all UTF-8. Restructured 19167 the code to not search for "#" if both parts are to be encoded as UTF-8 anyway. 19168 19169 2008-05-19 Alexey Proskuryakov <ap (a] webkit.org> 19170 19171 Reviewed by Darin. 19172 19173 https://bugs.webkit.org/show_bug.cgi?id=18421 19174 <rdar://problem/5857369> XMLHttpRequest does not properly encode & and < in outgoing messages 19175 19176 Test: http/tests/xmlhttprequest/serialize-document.html 19177 19178 * bindings/js/JSXMLHttpRequestCustom.cpp: 19179 (WebCore::JSXMLHttpRequest::send): Use createMarkup() instead of Document::toString(). 19180 19181 * dom/Attr.cpp: 19182 * dom/Attr.h: 19183 * dom/Document.cpp: 19184 * dom/Document.h: 19185 * dom/DocumentFragment.cpp: 19186 * dom/DocumentFragment.h: 19187 * dom/Element.cpp: 19188 * dom/Element.h: 19189 * dom/Entity.cpp: 19190 * dom/Entity.h: 19191 * dom/EntityReference.cpp: 19192 * dom/EntityReference.h: 19193 * dom/Node.h: 19194 * dom/Text.cpp: 19195 * dom/Text.h: 19196 * html/HTMLElement.cpp: 19197 * html/HTMLElement.h: 19198 Removed most Node::toString() methods, which were massively wrong, and only used for 19199 XMLHttpRequest::send(). The remanining ones are still used in markup.cpp, but should probably 19200 be folded into it for consistency. 19201 19202 2008-05-19 Anders Carlsson <andersca (a] apple.com> 19203 19204 Fix Windows build. 19205 19206 * plugins/win/PluginViewWin.cpp: 19207 (WebCore::PluginView::userAgentStatic): 19208 (WebCore::PluginView::getValueStatic): 19209 (WebCore::PluginView::getValue): 19210 19211 2008-05-19 Chris Fleizach <cfleizach (a] apple.com> 19212 19213 Reviewed by Darin Adler. 19214 19215 <rdar://problem/5935694> AX: crash in text marker range 19216 19217 * page/mac/AccessibilityObjectWrapper.mm: 19218 (textMarkerRangeFromMarkers): 19219 19220 2008-05-19 Darin Adler <darin (a] apple.com> 19221 19222 - fix WebKit build 19223 19224 * WebCore.xcodeproj/project.pbxproj: Make CSSReflectionDirection.h "private" instead of "project". 19225 19226 2008-05-19 chris fleizach <cfleizach (a] apple.com> 19227 19228 Reviewed by Darin Adler 19229 19230 <rdar://problem/5700830> VO: VoiceOver should fall back to title attr if form element is not labeled 19231 19232 * page/AccessibilityRenderObject.cpp: 19233 (WebCore::AccessibilityRenderObject::title): 19234 19235 2008-05-19 Darin Adler <darin (a] apple.com> 19236 19237 Reviewed by Mitz. 19238 19239 - tweak CSSReflectValue, possibly fixing the leaks seen on the buildbot 19240 19241 * WebCore.vcproj/WebCore.vcproj: Added CSSReflectionDirection.h. 19242 * WebCore.xcodeproj/project.pbxproj: Ditto. 19243 * css/CSSReflectionDirection.h: Added. 19244 19245 * css/CSSComputedStyleDeclaration.cpp: 19246 (WebCore::valueForReflection): Changed to use CSSReflectValue::create. 19247 * css/CSSParser.cpp: 19248 (WebCore::CSSParser::parseReflect): Ditto. 19249 19250 * css/CSSReflectValue.h: Added a create function. Got rid of the setter 19251 functions, which had const PassRefPtr& arguments -- those probably caused 19252 the leaks although I'm not exactly sure why. Made the contructor and all 19253 the data members private. 19254 19255 * rendering/style/RenderStyle.h: Changed to include CSSReflectionDirection.h 19256 instead of CSSReflectValue.h so we can tweak CSSReflectValue without 19257 recompiling the world. 19258 19259 2008-05-19 Holger Hans Peter Freyther <zecke (a] selfish.org> 19260 19261 Rubber Stamped by Simon. 19262 19263 Enforce the WebKit Coding Style. 19264 19265 * plugins/PluginView.cpp: 19266 (WebCore::PluginView::load): 19267 (WebCore::PluginView::setValue): 19268 * plugins/gtk/PluginViewGtk.cpp: 19269 (WebCore::PluginView::setFocus): 19270 (WebCore::PluginView::show): 19271 (WebCore::PluginView::hide): 19272 (WebCore::PluginView::attachToWindow): 19273 (WebCore::PluginView::detachFromWindow): 19274 (WebCore::PluginView::getValueStatic): 19275 (WebCore::PluginView::getValue): 19276 * plugins/qt/PluginViewQt.cpp: 19277 (WebCore::PluginView::updateWindow): 19278 (WebCore::PluginView::detachFromWindow): 19279 (WebCore::PluginView::handlePostReadFile): 19280 (WebCore::PluginView::getValueStatic): 19281 (WebCore::PluginView::getValue): 19282 19283 2008-05-14 Marc Ordinas i Llopis <marc.ordinasillopis (a] collabora.co.uk> 19284 19285 Reviewed by Holger. 19286 19287 https://bugs.webkit.org/show_bug.cgi?id=18882 19288 https://bugs.webkit.org/show_bug.cgi?id=18892 19289 Based also on work by Chris Lord. 19290 19291 Provides support for NPAPI plugins that pass NULL as their instance 19292 info. There are two kinds: 19293 - Some call NPN_UserAgent and NPN_GetValue before a PluginView has 19294 been created. For those we provide static versions of those functions. 19295 - Others call NPN_* functions with a NULL instance inside NPP_* 19296 calls, for those we've added extra currentPluginView guards. 19297 19298 * plugins/PluginView.cpp: Add additional currentPluginView guards and 19299 some small style changes. 19300 (WebCore::PluginView::start): 19301 (WebCore::PluginView::performRequest): 19302 (WebCore::PluginView::bindingInstance): 19303 (WebCore::PluginView::handlePost): 19304 * plugins/PluginView.h: Added static versions of NPN_UserAgent and 19305 NPN_GetValue. 19306 * plugins/gtk/PluginViewGtk.cpp: Add additional currentPluginView 19307 guards and some small style changes. 19308 (WebCore::PluginView::setNPWindowRect): 19309 (WebCore::PluginView::stop): 19310 (WebCore::PluginView::userAgentStatic): Added to deal with plugins 19311 that query this before having a PluginView. 19312 (WebCore::PluginView::getValueStatic): Added to deal with plugins 19313 that call this before we have created a PluginView. 19314 (WebCore::PluginView::getValue): Moved some code to getValueStatic. 19315 (WebCore::PluginView::init): 19316 * plugins/npapi.cpp: Call PluginView::userAgentStatic 19317 and PluginView::getValueStatic if no PluginView is 19318 present. 19319 (NPN_UserAgent): 19320 (NPN_GetValue): 19321 * plugins/qt/PluginPackageQt.cpp: 19322 (WebCore::PluginPackage::fetchInfo): Corrected split args because ignoring 19323 empty entries crashed. 19324 (WebCore::PluginPackage::load): Resolve all symbols when loading plugins 19325 to protect against XPCOM dependencies. 19326 * plugins/qt/PluginViewQt.cpp: Add additional currentPluginView guards and 19327 some small style changes. 19328 (WebCore::PluginView::updateWindow): 19329 (WebCore::PluginView::setNPWindowRect): 19330 (WebCore::PluginView::stop): 19331 (WebCore::PluginView::userAgentStatic): Added to deal with plugins 19332 that query this before having a PluginView. 19333 (WebCore::PluginView::handlePostReadFile): 19334 (WebCore::PluginView::getValueStatic): Added to deal with plugins 19335 that call this before we have created a PluginView. 19336 (WebCore::PluginView::getValue): Moved some code to getValueStatic. 19337 (WebCore::PluginView::init): m_needsXEmbed init was moved to constructor. 19338 19339 2008-05-19 Alp Toker <alp (a] nuanti.com> 19340 19341 GTK+ build fix on Mac. Conditionalize XP_UNIX use. 19342 19343 * plugins/gtk/PluginPackageGtk.cpp: 19344 (WebCore::PluginPackage::fetchInfo): 19345 (WebCore::PluginPackage::load): 19346 * plugins/gtk/PluginViewGtk.cpp: 19347 19348 2008-05-18 Chris Fleizach <cfleizach (a] apple.com> 19349 19350 Reviewed by Darin Adler 19351 19352 <rdar://problem/5942076> WebKit can no longer find URL links with VoiceOVer-U command (19100) 19353 19354 * page/AccessibilityObject.h: 19355 19356 2008-05-18 Darin Adler <darin (a] apple.com> 19357 19358 Reviewed by Sam. 19359 19360 - fix <rdar://problem/5943569> crash due to stale ownerNode pointer 19361 19362 Test: fast/dom/StyleSheet/ownerNode-lifetime.html 19363 19364 * bindings/js/JSStyleSheetCustom.cpp: 19365 (WebCore::JSStyleSheet::mark): Added code to mark ownerNode. Includes a comment about how 19366 it would be even better to solve this in the DOM rather than just in the JavaScript binding. 19367 19368 * css/StyleSheet.idl: Added CustomMarkFunction attribute. 19369 19370 2008-05-18 Brady Eidson <beidson (a] apple.com> 19371 19372 Reviewed by Sam Weinig 19373 19374 Fix for https://bugs.webkit.org/show_bug.cgi?id=19111 19375 Allow `delete storage.itemName` syntax as an alias for `storage.removeItem("itemName")` 19376 19377 Tests: storage/domstorage/localstorage/delete-removal.html 19378 storage/domstorage/sessionstorage/delete-removal.html 19379 19380 * bindings/js/JSStorageCustom.cpp: 19381 (WebCore::JSStorage::deleteProperty): Only do the delete for non-built in properties 19382 * storage/Storage.idl: 19383 19384 2008-05-17 Sam Weinig <sam (a] webkit.org> 19385 19386 Reviewed by Mark Rowe. 19387 19388 Re-factor core setRequestHeader logic into setRequestHeaderInternal. 19389 19390 * xml/XMLHttpRequest.cpp: 19391 (WebCore::XMLHttpRequest::sameOriginRequest): 19392 (WebCore::XMLHttpRequest::setRequestHeader): 19393 (WebCore::XMLHttpRequest::setRequestHeaderInternal): 19394 * xml/XMLHttpRequest.h: 19395 19396 2008-05-17 Sam Weinig <sam (a] webkit.org> 19397 19398 Reviewed by Mark Rowe. 19399 19400 Differentiate between cancelation errors and generic network error in XHR. 19401 19402 * loader/FrameLoader.cpp: 19403 (WebCore::FrameLoader::requestFromDelegate): 19404 (WebCore::FrameLoader::cancelledError): 19405 * platform/network/ResourceErrorBase.h: 19406 (WebCore::ResourceErrorBase::setIsCancelation): 19407 (WebCore::ResourceErrorBase::isCancelation): 19408 (WebCore::ResourceErrorBase::ResourceErrorBase): 19409 Add state that differentiates between errors created by cancelation and those made 19410 by all other generic network errors as this differentiation is needed by some specs. 19411 19412 * xml/XMLHttpRequest.cpp: 19413 (WebCore::XMLHttpRequest::open): 19414 (WebCore::XMLHttpRequest::loadRequestSynchronously): 19415 (WebCore::XMLHttpRequest::clearResponseEntityBody): 19416 (WebCore::XMLHttpRequest::genericError): 19417 (WebCore::XMLHttpRequest::networkError): 19418 (WebCore::XMLHttpRequest::abortError): 19419 (WebCore::XMLHttpRequest::didFail): 19420 * xml/XMLHttpRequest.h: 19421 * xml/XMLHttpRequestException.h: 19422 (WebCore::XMLHttpRequestException::): 19423 * xml/XMLHttpRequestException.idl: 19424 Add ABORT_ERR. This error cannot be raised with the current WebKit architecture 19425 as it requires the ability to cancel a synchronous XHR, which we cannot currently 19426 do. It may be possible in the future though. 19427 19428 2008-05-17 Mark Rowe <mrowe (a] apple.com> 19429 19430 Reviewed by Sam Weinig. 19431 19432 Including wtf/Platform.h or using any of the macros it defines in headers that may be 19433 included from outside of the WebKit project causes any project using those headers to 19434 fail to build. 19435 19436 * page/mac/WebDashboardRegion.h: 19437 19438 2008-05-17 Sam Weinig <sam (a] webkit.org> 19439 19440 Reviewed by Brady Eidson. 19441 19442 Re-factor send() logic a little to make adding cross-site requests easier. 19443 19444 * xml/XMLHttpRequest.cpp: 19445 (WebCore::XMLHttpRequest::send): 19446 (WebCore::XMLHttpRequest::sameOriginRequest): 19447 (WebCore::XMLHttpRequest::loadRequestSynchronously): 19448 (WebCore::XMLHttpRequest::loadRequestAsynchronously): 19449 * xml/XMLHttpRequest.h: 19450 19451 2008-05-16 Anders Carlsson <andersca (a] apple.com> 19452 19453 Reviewed by Mitz. 19454 19455 Copy appcache headers. 19456 19457 * WebCore.vcproj/WebCore.vcproj: 19458 19459 2008-05-16 Antti Koivisto <antti (a] apple.com> 19460 19461 Reviewed by Anders. 19462 19463 Fix <rdar://problem/5934400> 19464 Movie controller does not update on first load of http://www.apple.com/getamac/ads/ 19465 19466 The issue is that we execute scripts while there are still pending stylesheet loads. 19467 If the script depends on a stylesheet having been applied it may fail. 19468 19469 This will make external script execution block on external stylesheet loads. A full 19470 fix (as discussed with Hyatt) will also need to block inline script execution. 19471 19472 Test: http/tests/local/stylesheet-and-script-load-order-http.html 19473 19474 * html/HTMLTokenizer.cpp: 19475 (WebCore::HTMLTokenizer::notifyFinished): 19476 19477 2008-05-16 chris fleizach <cfleizach (a] apple.com> 19478 19479 Reviewed by Jon Honeycutt 19480 19481 <rdar://problem/5582483> Mail compose area needs to allow AXValue to be settable 19482 19483 * page/AccessibilityRenderObject.cpp: 19484 (WebCore::AccessibilityRenderObject::isReadOnly): 19485 (WebCore::AccessibilityRenderObject::canSetValueAttribute): 19486 19487 2008-05-16 Stephanie Lewis <slewis (a] apple.com> 19488 19489 Reviewed by Maciej. 19490 19491 track onbeforeunlaod event counts. Pretty much identical to unload event tracking. 19492 Also rename methods from onunload tracking to be more clear. 19493 19494 increment/decrement event counts when onunload and onbeforeunload events are added/removed 19495 * dom/Document.cpp: 19496 (WebCore::Document::removeHTMLWindowEventListener): 19497 (WebCore::Document::addWindowEventListener): 19498 (WebCore::Document::removeWindowEventListener): 19499 (WebCore::Document::addPendingFrameUnloadEventCount): 19500 (WebCore::Document::removePendingFrameUnloadEventCount): 19501 (WebCore::Document::addPendingFrameBeforeUnloadEventCount): 19502 (WebCore::Document::removePendingFrameBeforeUnloadEventCount): 19503 * dom/Document.h: 19504 19505 clear onunload count after unload events are dispatched 19506 * loader/FrameLoader.cpp: 19507 (WebCore::FrameLoader::stopLoading): 19508 19509 track onunload and onbeforeunload event counts for each frame 19510 * page/EventHandler.cpp: 19511 (WebCore::EventHandler::EventHandler): 19512 (WebCore::EventHandler::addPendingFrameUnloadEventCount): 19513 (WebCore::EventHandler::removePendingFrameUnloadEventCount): 19514 (WebCore::EventHandler::clearPendingFrameUnloadEventCount): 19515 (WebCore::EventHandler::pendingFrameBeforeUnloadEventCount): 19516 (WebCore::EventHandler::addPendingFrameBeforeUnloadEventCount): 19517 (WebCore::EventHandler::removePendingFrameBeforeUnloadEventCount): 19518 (WebCore::EventHandler::clearPendingFrameBeforeUnloadEventCount): 19519 * page/EventHandler.h: 19520 19521 clear unbeforeunload count after unbeforeunload events are detached 19522 * page/Frame.cpp: 19523 (WebCore::Frame::shouldClose): 19524 19525 track total event count at page level 19526 * page/Page.cpp: 19527 (WebCore::Page::Page): 19528 (WebCore::Page::changePendingUnloadEventCount): 19529 (WebCore::Page::pendingBeforeUnloadEventCount): 19530 (WebCore::Page::changePendingBeforeUnloadEventCount): 19531 * page/Page.h: 19532 19533 2008-05-16 Anders Carlsson <andersca (a] apple.com> 19534 19535 Reviewed by Mitz. 19536 19537 <rdar://problem/5787788> 19538 REGRESSION: fast/loader/xmlhttprequest-missing-file-exception.html fails on Windows. 19539 19540 Replicate the Mac behavior when a sync load fails. 19541 19542 * platform/network/cf/ResourceHandleCFNet.cpp: 19543 (WebCore::ResourceHandle::loadResourceSynchronously): 19544 19545 2008-05-16 Anders Carlsson <andersca (a] apple.com> 19546 19547 Reviewed by Brady. 19548 19549 Parse and set the headers on the response. 19550 19551 * loader/appcache/ApplicationCacheStorage.cpp: 19552 (WebCore::ApplicationCacheStorage::store): 19553 (WebCore::parseHeader): 19554 (WebCore::parseHeaders): 19555 (WebCore::ApplicationCacheStorage::loadCache): 19556 19557 2008-05-16 Timothy Hatcher <timothy (a] apple.com> 19558 19559 Adds the "this" object to the Local scope section of the 19560 Scope Variables pane. 19561 19562 <rdar://problem/5774773> Web Inspector doesn't show the "this" 19563 object in its variables list (10438) 19564 19565 Reviewed by Oliver Hunt. 19566 19567 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 19568 (WebCore::JSJavaScriptCallFrame::thisObject): Returns the thisObject 19569 of the JavaScriptCallFrame impl. Returns jsNull if the impl is invalid. 19570 * page/JavaScriptCallFrame.cpp: 19571 (WebCore::JavaScriptCallFrame::thisObject): Return the thisValue from 19572 the ExecState. Return 0 if m_exec is null. 19573 * page/JavaScriptCallFrame.h: 19574 * page/JavaScriptCallFrame.idl: Add thisObject. 19575 * page/inspector/ObjectPropertiesSection.js: 19576 (WebInspector.ObjectPropertiesSection): Adds two new arguments. 19577 The ignoreHasOwnProperty tells the section to show all properties, 19578 including inherited ones. And extraProperties is an object of 19579 additional properties to show. 19580 (WebInspector.ObjectPropertiesSection.prototype): Honor the 19581 extraProperties and ignoreHasOwnProperty properties. 19582 * page/inspector/ScopeChainSidebarPane.js: 19583 (WebInspector.ScopeChainSidebarPane.prototype.update): Add a this 19584 property to an extra object that is passed to the ObjectPropertiesSection. 19585 Also pass true for ignoreHasOwnProperty since we want to show all properties. 19586 19587 2008-05-16 Anders Carlsson <andersca (a] apple.com> 19588 19589 Reviewed by Brady. 19590 19591 Add mimeType and textEncodingName to the resource table. 19592 19593 * loader/appcache/ApplicationCacheStorage.cpp: 19594 (WebCore::ApplicationCacheStorage::openDatabase): 19595 (WebCore::ApplicationCacheStorage::store): 19596 (WebCore::ApplicationCacheStorage::loadCache): 19597 19598 2008-05-16 Kevin McCullough <kmccullough (a] apple.com> 19599 19600 Reviewed by Tim. 19601 19602 <rdar://problem/5770054> JavaScript profiler (10928) 19603 Use a Vector instead of a Deque since we don't use the extra capabilities 19604 of the Deque. 19605 19606 * page/JavaScriptProfileNode.cpp: 19607 (WebCore::getChildren): 19608 (WebCore::toJS): 19609 19610 2008-05-16 Anders Carlsson <andersca (a] apple.com> 19611 19612 Reviewed by Brady. 19613 19614 Add a version table to the database. 19615 19616 * loader/appcache/ApplicationCacheStorage.cpp: 19617 (WebCore::ApplicationCacheStorage::verifySchemaVersion): 19618 (WebCore::ApplicationCacheStorage::openDatabase): 19619 * loader/appcache/ApplicationCacheStorage.h: 19620 19621 2008-05-16 Timothy Hatcher <timothy (a] apple.com> 19622 19623 Adds the ability to evaluate expressions in the local scope 19624 of the selected call frame. 19625 19626 https://bugs.webkit.org/show_bug.cgi?id=19052 19627 19628 Reviewed by Geoff Garen. 19629 19630 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 19631 (WebCore::JSJavaScriptCallFrame::evaluate): Pass the exception 19632 from evaluate to the calling ExecState. 19633 * page/JavaScriptCallFrame.cpp: 19634 (WebCore::JavaScriptCallFrame::evaluate): Added an exception out 19635 argument. Simplified the code by calling KJS:eval directly. 19636 * page/JavaScriptCallFrame.h: Change evalutate to take an exception 19637 out argument. 19638 * page/inspector/Console.js: Check if the debugger is paused and 19639 call evaluateInSelectedCallFrame on the Scripts panel. 19640 * page/inspector/ScriptsPanel.js: Added a paused getter and 19641 evaluateInSelectedCallFrame which does the evaluation and updates 19642 the scope variables pane afterwards. 19643 19644 2008-05-16 Timothy Hatcher <timothy (a] apple.com> 19645 19646 Fixed the bug where the Inspector node highlight would not show 19647 in the correct place for nodes in frames. 19648 19649 <rdar://problem/5712834> Elements in iframes are highlighted incorrectly (14408) 19650 19651 Reviewed by John Sullivan. 19652 19653 * page/InspectorController.cpp: 19654 (WebCore::convertFromFrameToMainFrame): Helper function to convert 19655 IntRect coordinates from one frame to the main frame. 19656 (WebCore::InspectorController::drawNodeHighlight): Call the 19657 convertFromFrameToMainFrame helper for all the rects we get from 19658 the node since they are in the owner frame's coordinate space. 19659 19660 2008-05-16 Julien Chaffraix <jchaffraix (a] webkit.org> 19661 19662 Reviewed by Eric. 19663 19664 Preparatory work for bug 9191: JS*ElementWrapperFactory should be autogenerated 19665 19666 Make video tags use a header guard so that make_names.pl for factory generation. 19667 19668 - Add video tag guard in HTMLTagNames.in & give an extraDefines parameter to make_names.pl 19669 when generating HTMLNames. 19670 19671 - Modify the different build systems to accomodate the new parameter. 19672 19673 - Small make_names.pl clean up (mainly code generated coding style issue). 19674 19675 * DerivedSources.make: Add HTML_FLAGS and pass it to make_names.pl 19676 if it is defined (similar to SVG) 19677 19678 * GNUmakefile.am: Add HTML_FEATURES & HTML_FLAGS and pass it to 19679 make_names.pl if HTML_FLAGS is defined. 19680 19681 * WebCore.pro: Pass $${DEFINES} to make_names.pl. 19682 19683 * dom/make_names.pl: 19684 * html/HTMLElement.cpp: 19685 (WebCore::inlineTagList): Add ENABLE(VIDEO) guard. 19686 * html/HTMLTagNames.in: Ditto. 19687 19688 2008-05-16 Anders Carlsson <andersca (a] apple.com> 19689 19690 Reviewed by Mitz. 19691 19692 Fire progress events. 19693 19694 * loader/appcache/ApplicationCacheGroup.cpp: 19695 (WebCore::ApplicationCacheGroup::startLoadingEntry): 19696 19697 2008-05-16 Anders Carlsson <andersca (a] apple.com> 19698 19699 Reviewed by John. 19700 19701 Handle the case where the main resource load is cancelled while the cache attempt is in progress. 19702 19703 * loader/DocumentLoader.cpp: 19704 (WebCore::DocumentLoader::mainReceivedError): 19705 Tell the group that the main resource failed to load. 19706 19707 * loader/appcache/ApplicationCacheGroup.cpp: 19708 (WebCore::ApplicationCacheGroup::failedLoadingMainResource): 19709 Call cacheUpdateFailed. 19710 19711 (WebCore::ApplicationCacheGroup::cacheUpdateFailed): 19712 Stop loading if the update failed. 19713 19714 * loader/appcache/ApplicationCacheGroup.h: 19715 19716 2008-05-16 Chris Fleizach <cfleizach (a] apple.com> 19717 19718 Reviewed by Alice Liu 19719 19720 <rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310) 19721 19722 * WebCore.base.exp: 19723 * editing/VisiblePosition.cpp: 19724 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): 19725 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): 19726 * page/AXObjectCache.cpp: 19727 * page/AXObjectCache.h: 19728 (WebCore::AXObjectCache::enableEnhancedUserInterfaceAccessibility): 19729 (WebCore::AXObjectCache::accessibilityEnabled): 19730 (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled): 19731 * page/AccessibilityRenderObject.cpp: 19732 (WebCore::AccessibilityRenderObject::visiblePositionRange): 19733 (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange): 19734 (WebCore::AccessibilityRenderObject::addChildren): 19735 (WebCore::AccessibilityRenderObject::actionVerb): 19736 * page/EventHandler.cpp: 19737 (WebCore::EventHandler::handleKeyboardSelectionMovement): 19738 (WebCore::EventHandler::defaultKeyboardEventHandler): 19739 * page/EventHandler.h: 19740 19741 2008-05-15 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 19742 19743 Reviewed by Simon. 19744 19745 Since WebKitGtk is fully using autotools now, clean-up the .pro/.pri files 19746 from gtk-port. 19747 19748 * WebCore.pro: 19749 19750 2008-05-16 Simon Hausmann <hausmann (a] webkit.org> 19751 19752 Fix the Gtk build. 19753 19754 * GNUmakefile.am: Added rendering/style to the include paths. 19755 19756 2008-05-16 Simon Hausmann <hausmann (a] webkit.org> 19757 19758 Fix the Qt build. 19759 19760 * WebCore.pro: Added rendering/style to the include paths 19761 * page/AXObjectCache.cpp: 19762 (WebCore::AXObjectCache::handleActiveDescendantChanged): Don't compile 19763 this method unless a17n is enabled. 19764 19765 2008-05-15 Rob Buis <buis (a] kde.org> 19766 19767 Reviewed by Dave Hyatt. 19768 19769 https://bugs.webkit.org/show_bug.cgi?id=17433 19770 getComputedStyle() -> clip returns empty string 19771 19772 Make getComputedStyle return a shape value for clip 19773 if it is set. 19774 19775 Tests: fast/css/getPropertyValue-clip.html 19776 19777 * css/CSSComputedStyleDeclaration.cpp: 19778 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 19779 19780 2008-05-15 Kevin Ollivier <kevino (a] theolliviers.com> 19781 19782 wx build fix. Add rendering/style to includes dir. 19783 19784 * webcore-base.bkl: 19785 19786 2008-05-15 Alice Liu <alice.liu (a] apple.com> 19787 19788 Reviewed by Beth Dakin. 19789 19790 Fixed <rdar://problem/5882283> Implement ARIA aria-activedescendant 19791 Also added support for aria roles listbox and option, and aria-selected, 19792 and aria-multiselectable for listboxes 19793 19794 * dom/Element.cpp: 19795 (WebCore::Element::attributeChanged): 19796 * dom/Element.h: 19797 * dom/StyledElement.cpp: 19798 (WebCore::StyledElement::attributeChanged): 19799 * html/HTMLAttributeNames.in: 19800 * page/AXObjectCache.cpp: 19801 (WebCore::AXObjectCache::handleActiveDescendantChanged): 19802 * page/AXObjectCache.h: 19803 (WebCore::AXObjectCache::accessibilityEnabled): 19804 (WebCore::AXObjectCache::handleActiveDescendantChanged): 19805 * page/AccessibilityListBox.cpp: 19806 (WebCore::AccessibilityListBox::selectedChildren): 19807 (WebCore::AccessibilityListBox::visibleChildren): 19808 * page/AccessibilityListBox.h: 19809 * page/AccessibilityListBoxOption.h: 19810 (WebCore::AccessibilityListBoxOption::selectedChildren): 19811 (WebCore::AccessibilityListBoxOption::visibleChildren): 19812 * page/AccessibilityObject.cpp: 19813 * page/AccessibilityObject.h: 19814 (WebCore::AccessibilityObject::isListBox): 19815 (WebCore::AccessibilityObject::shouldFocusActiveDescendant): 19816 (WebCore::AccessibilityObject::activeDescendant): 19817 (WebCore::AccessibilityObject::handleActiveDescendantChanged): 19818 * page/AccessibilityRenderObject.cpp: 19819 (WebCore::AccessibilityRenderObject::title): 19820 (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId): 19821 (WebCore::AccessibilityRenderObject::focusedUIElement): 19822 (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant): 19823 (WebCore::AccessibilityRenderObject::activeDescendant): 19824 (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): 19825 (WebCore::RoleEntry::): 19826 (WebCore::AccessibilityRenderObject::ariaRoleAttribute): 19827 (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren): 19828 (WebCore::AccessibilityRenderObject::selectedChildren): 19829 (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren): 19830 (WebCore::AccessibilityRenderObject::visibleChildren): 19831 * page/AccessibilityRenderObject.h: 19832 (WebCore::AccessibilityRenderObject::isDetached): 19833 * page/mac/AccessibilityObjectWrapper.mm: 19834 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 19835 19836 2008-05-15 Timothy Hatcher <timothy (a] apple.com> 19837 19838 Adds an error and warning count indicator at the bottom right in the 19839 Inspector's status bar. 19840 19841 https://bugs.webkit.org/show_bug.cgi?id=18650 19842 19843 Initial implementation by Adam Roben. 19844 Reviewed by Sam Weinig. 19845 19846 Test: manual-tests/inspector/error-warning-count.html 19847 19848 * English.lproj/localizedStrings.js: Added new strings. 19849 * manual-tests/inspector/error-warning-count.html: Added. 19850 * page/inspector/Console.js: 19851 (WebInspector.Console.prototype.show): Don't do anything if visible. 19852 (WebInspector.Console.prototype.hide): Don't do anything if hidden. 19853 Temporally set properties and classes to mimic the post-animation 19854 values so panels like Elements in their updateStatusBarItems call will 19855 size things to fit the final location. 19856 * page/inspector/ElementsPanel.js: 19857 (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes): 19858 Account for the #error-warning-count width when sizing breadcrumbs. 19859 * page/inspector/Resource.js: 19860 (WebInspector.Resource.prototype.set errors): Update the global error count. 19861 (WebInspector.Resource.prototype.set warnings): Update the global warning count. 19862 * page/inspector/inspector.css: Make .hidden's display property 19863 !important to ensure things really hide, and added styling for the new 19864 #error-warning-count element. 19865 * page/inspector/inspector.html: Added an #error-warning-count div 19866 in the #anchored-status-bar-items div. 19867 * page/inspector/inspector.js: 19868 (WebInspector.get errors): Added. 19869 (WebInspector.set errors): Added. Calls _updateErrorAndWarningCounts. 19870 (WebInspector.get warnings): Added. 19871 (WebInspector.set warnings): Added. Calls _updateErrorAndWarningCounts. 19872 (WebInspector._updateErrorAndWarningCounts): Added. Update the 19873 #error-warning-count div with the current error/warning count. 19874 (WebInspector.loaded): Add a click event listener to the 19875 #error-warning-count element that will show the Console. Call 19876 _updateErrorAndWarningCounts to display the initial error/warning counts. 19877 19878 2008-05-15 Timothy Hatcher <timothy (a] apple.com> 19879 19880 Fixes a bug in the view source parsing of text within <script>, 19881 <style>, <xmp>, <textarea> and other special tags. The text was 19882 being parsed as HTML and would be syntax highlighted if a "<" 19883 was encountered. 19884 19885 <rdar://problem/5790805> Inspector's source view missing some words, 19886 doubles others in JS source in <script> tag (17752) 19887 19888 Reviewed by Dave Hyatt. 19889 19890 Added test: fast/frames/viewsource-plain-text-tags.html 19891 19892 * html/HTMLTokenizer.cpp: 19893 (WebCore::HTMLTokenizer::scriptHandler): Set scriptCodeSize and 19894 scriptCodeResync to zero before an early return in view source mode. 19895 This was causing text from a previous script tag to show up in 19896 then next style tag. 19897 (WebCore::HTMLTokenizer::parseTag): Enter an if block in view source 19898 mode even if n is null. The n is property guarded in other places 19899 and not used by view source mode. Removes a redundant null check on n. 19900 Add a new null check of n before setting scriptSrcCharset. Other code 19901 in HTMLTokenizer is already guarded for this code path. 19902 19903 2008-05-15 Timothy Hatcher <timothy (a] apple.com> 19904 19905 Changes the Web Inspector node highlight to be less aggressive 19906 and only highlight when hovering over the selected node in the DOM 19907 tree or breadcrumbs. You can highlight on hover for any node if 19908 you hold down the Alt/Option key while hovering. 19909 19910 Reviewed by Kevin McCullough. 19911 19912 * page/inspector/ElementsPanel.js: 19913 * page/inspector/inspector.js: 19914 19915 2008-05-15 Stephanie Lewis <slewis (a] apple.com> 19916 19917 Fix windows build 19918 19919 * loader/FrameLoader.cpp: 19920 (WebCore::FrameLoader::stopLoading): 19921 19922 2008-05-15 Stephanie Lewis <slewis (a] apple.com> 19923 19924 Reviewed by Anders. 19925 19926 export a symbol needed for fast teardown 19927 19928 * WebCore.base.exp: 19929 19930 2008-05-15 Stephanie Lewis <slewis (a] apple.com> 19931 19932 Reviewed by Anders. 19933 19934 Keep track on pending unload event counts 19935 19936 No change in behavior so no new tests, but I am dumping the 19937 unload event count to track the new variable. 19938 19939 * WebCore.base.exp: 19940 19941 increment/decrement the count when an event is added/removed 19942 * dom/Document.cpp: 19943 (WebCore::Document::removeHTMLWindowEventListener): 19944 (WebCore::Document::addWindowEventListener): 19945 (WebCore::Document::removeWindowEventListener): 19946 (WebCore::Document::setPendingFrameUnloadEventCount): 19947 * dom/Document.h: 19948 19949 set the count to 0 for each frame after the unload event has been dispatched 19950 * loader/FrameLoader.cpp: 19951 (WebCore::FrameLoader::stopLoading): 19952 19953 keep track of the number of pending unload events for the eventHandler's frame 19954 * page/EventHandler.cpp: 19955 (WebCore::EventHandler::EventHandler): 19956 (WebCore::EventHandler::pendingFrameUnloadEventCount): 19957 (WebCore::EventHandler::setPendingFrameUnloadEventCount): 19958 * page/EventHandler.h: 19959 19960 keep track of the total number of pending unload events for all of the frames 19961 * page/Page.cpp: 19962 (WebCore::Page::Page): 19963 (WebCore::Page::pendingUnloadEventCount): 19964 (WebCore::Page::setPendingUnloadEventCount): 19965 * page/Page.h: 19966 19967 2008-05-15 Steve Falkenburg <sfalken (a] apple.com> 19968 19969 Fix build. 19970 19971 * WebCore.vcproj/WebCore.vcproj: 19972 19973 2008-05-15 Steve Falkenburg <sfalken (a] apple.com> 19974 19975 Fix build. 19976 19977 * WebCore.vcproj/WebCore.vcproj: 19978 19979 2008-05-15 Steve Falkenburg <sfalken (a] apple.com> 19980 19981 Fix build. 19982 19983 * WebCore.vcproj/WebCore.vcproj: 19984 19985 2008-05-15 David Kilzer <ddkilzer (a] apple.com> 19986 19987 Bug 19085: font-family: initial sets font-family differently than font: initial 19988 19989 <https://bugs.webkit.org/show_bug.cgi?id=19085> 19990 <rdar://problem/5939391> 19991 19992 Reviewed by David Hyatt. 19993 19994 Test: fast/css/font-family-initial.html 19995 19996 * css/CSSStyleSelector.cpp: 19997 (WebCore::CSSStyleSelector::applyProperty): Don't set family if first 19998 family of initial font description is empty. 19999 20000 2008-05-15 David Hyatt <hyatt (a] apple.com> 20001 20002 Move RenderStyle into a new subdirectory, rendering/style/, in preparation for breaking it up into 20003 a bunch of smaller files. 20004 20005 Reviewed by Dan Bernstein 20006 20007 * GNUmakefile.am: 20008 * WebCore.pro: 20009 * WebCore.vcproj/WebCore.vcproj: 20010 * WebCore.xcodeproj/project.pbxproj: 20011 * WebCoreSources.bkl: 20012 * rendering/RenderStyle.cpp: Removed. 20013 * rendering/RenderStyle.h: Removed. 20014 * rendering/style: Added. 20015 * rendering/style/RenderStyle.cpp: Copied from rendering/RenderStyle.cpp. 20016 * rendering/style/RenderStyle.h: Copied from rendering/RenderStyle.h. 20017 20018 2008-05-15 David Kilzer <ddkilzer (a] apple.com> 20019 20020 Fix leaks when stopping a page from loading 20021 20022 Patch suggested by Antti. Reviewed by Antti. 20023 20024 * loader/DocLoader.cpp: 20025 (WebCore::DocLoader::clearPreloads): If a resource is in m_preloads but 20026 never made it to the cache, delete it to prevent it from leaking. 20027 20028 2008-05-15 Julien Chaffraix <jchaffraix (a] webkit.org> 20029 20030 Reviewed by Darin. 20031 20032 https://bugs.webkit.org/show_bug.cgi?id=13942 20033 ASSERTION FAILED: !attrName.contains('/') in HTMLTokenizer.cpp:132 when loading http://bamanzi.blogeden.cn/ 20034 20035 In HTML, when an attribute was null (for example when we parse '="somevalue"' 20036 (attribute forgotten or there is a space between the attribute and the '=')), 20037 the fallback was to assign the value to the attribute. However if the value was 20038 a url or did contain a '/', we would trigger the assertion. 20039 20040 To avoid that, we check the value before assigning it now and do not assign it 20041 if it means adding a '/'. 20042 20043 Test: fast/parser/assertion-empty-attribute.html 20044 20045 * html/HTMLTokenizer.cpp: 20046 (WebCore::HTMLTokenizer::parseTag): Add check for '/' in value before 20047 assigning it to an attribute when the attribute is null. 20048 20049 2008-05-15 Kevin Ollivier <kevino (a] theolliviers.com> 20050 20051 wx build fix for recent breakages. Add EventLoopWx.cpp, update the Bakefiles, 20052 and add stubs for new Plugins functions. Also move plugin functions outside of 20053 TemporaryLinkStubs.cpp so that they are more noticeable. 20054 20055 * WebCoreSources.bkl: 20056 * platform/wx/EventLoopWx.cpp: Added. 20057 (WebCore::EventLoop::cycle): 20058 * platform/wx/TemporaryLinkStubs.cpp: 20059 * plugins/wx: Added. 20060 * plugins/wx/PluginDataWx.cpp: Added. 20061 (WebCore::PluginData::initPlugins): 20062 (WebCore::PluginData::refresh): 20063 * plugins/wx/PluginDatabaseWx.cpp: Added. 20064 (WebCore::PluginDatabase::getPluginPathsInDirectories): 20065 (WebCore::PluginDatabase::defaultPluginDirectories): 20066 (WebCore::PluginDatabase::isPreferredPluginDirectory): 20067 * plugins/wx/PluginPackageWx.cpp: Added. 20068 (WebCore::PluginPackage::determineQuirks): 20069 (WebCore::PluginPackage::fetchInfo): 20070 (WebCore::PluginPackage::load): 20071 (WebCore::PluginPackage::hash): 20072 (WebCore::PluginPackage::equal): 20073 (WebCore::PluginPackage::compareFileVersion): 20074 * plugins/wx/PluginViewWx.cpp: Added. 20075 (WebCore::PluginView::updateWindow): 20076 (WebCore::PluginView::setFocus): 20077 (WebCore::PluginView::show): 20078 (WebCore::PluginView::hide): 20079 (WebCore::PluginView::paint): 20080 (WebCore::PluginView::handleKeyboardEvent): 20081 (WebCore::PluginView::handleMouseEvent): 20082 (WebCore::PluginView::setParent): 20083 (WebCore::PluginView::setNPWindowRect): 20084 (WebCore::PluginView::attachToWindow): 20085 (WebCore::PluginView::detachFromWindow): 20086 (WebCore::PluginView::stop): 20087 (WebCore::PluginView::userAgent): 20088 (WebCore::PluginView::handlePostReadFile): 20089 (WebCore::PluginView::getValue): 20090 (WebCore::PluginView::invalidateRect): 20091 (WebCore::PluginView::invalidateRegion): 20092 (WebCore::PluginView::forceRedraw): 20093 (WebCore::PluginView::~PluginView): 20094 (WebCore::PluginView::init): 20095 * webcore-wx.bkl: 20096 20097 2008-05-15 Adam Treat <treat (a] kde.org> 20098 20099 Reviewed by Simon. 20100 20101 Don't try to setCompositionMode for devices that do not support PorterDuff 20102 20103 * platform/graphics/qt/GraphicsContextQt.cpp: 20104 (WebCore::TransparencyLayer::TransparencyLayer): 20105 (WebCore::GraphicsContext::strokeRect): 20106 (WebCore::GraphicsContext::clip): 20107 20108 2008-05-15 Adele Peterson <adele (a] apple.com> 20109 20110 Reviewed and landed by Alexey. 20111 20112 Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:]. 20113 20114 * WebCore.base.exp: Exported TextIterator methods. 20115 20116 2008-05-15 Simon Hausmann <hausmann (a] webkit.org> 20117 20118 Fix the Qt build by adding NetworkStateNotifier.cpp to the build. 20119 20120 * WebCore.pro: 20121 20122 2008-05-14 Dan Bernstein <mitz (a] apple.com> 20123 20124 Reviewed by Mark Rowe. 20125 20126 - fix <rdar://problem/5907633> Memory corruption after closing a document that uses box-reflect 20127 20128 Test: fast/reflections/teardown-crash.html 20129 20130 * rendering/RenderLayer.cpp: 20131 (WebCore::RenderLayer::~RenderLayer): Changed to not call removeLayers() 20132 on the reflection if the document is being destroyed, because in that 20133 case the layer tree is not being maintained. 20134 20135 2008-05-14 Kevin McCullough <kmccullough (a] apple.com> 20136 20137 Reviewed by Tim. 20138 20139 <rdar://problem/5770054> JavaScript profiler (10928) 20140 - Expose the new Profiler functions to the WebInspector. 20141 20142 * page/JavaScriptProfileNode.cpp: 20143 (WebCore::getTotalPercent): 20144 (WebCore::getSelfPercent): 20145 (WebCore::ProfileNodeClass): 20146 20147 2008-05-14 Timothy Hatcher <timothy (a] apple.com> 20148 20149 Fixes a crash in JavaScriptDebugServer::returnEvent when debugging 20150 code that contains an eval. This change makes stepping into eval 20151 code work as expected. 20152 20153 http://bugs.webkit.org/show_bug.cgi?id=19038 20154 20155 Reviewed by Kevin McCullough. 20156 20157 Tested with: manual-tests/inspector/returnEvent-crash.html 20158 20159 * manual-tests/inspector/returnEvent-crash.html: Added. 20160 * page/JavaScriptDebugServer.cpp: 20161 (WebCore::JavaScriptDebugServer::sourceParsed): Adds #ifdefed 20162 debugging code to prevent the sourceID and URL. 20163 (WebCore::updateCurrentCallFrame): Added. A helper function that 20164 is called from all 4 of the debugger hooks below. This function will 20165 update and/or create JavaScriptCallFrames to match the exec state, 20166 sourceID and lineNumber passed into it. Contains #ifdefed debugging 20167 code that was helpful while fixing this bug. 20168 (WebCore::JavaScriptDebugServer::callEvent): Call updateCurrentCallFrame 20169 before pauseIfNeeded. 20170 (WebCore::JavaScriptDebugServer::atStatement): Ditto. 20171 (WebCore::JavaScriptDebugServer::returnEvent): Ditto. 20172 (WebCore::JavaScriptDebugServer::exception): Ditto. 20173 20174 2008-05-14 Alp Toker <alp (a] nuanti.com> 20175 20176 GTK+ build fix for r33457. Add NetworkStateNotifier.cpp to the build. 20177 20178 * GNUmakefile.am: 20179 20180 2008-05-14 Alp Toker <alp (a] nuanti.com> 20181 20182 GTK+ build fix. Include value.h from kjs, not JavaScriptCore. 20183 20184 * page/JavaScriptProfile.cpp: 20185 * page/JavaScriptProfileNode.cpp: 20186 20187 2008-05-14 Adam Roben <aroben (a] apple.com> 20188 20189 Windows release build fix 20190 20191 * WebCore.vcproj/WebCore.vcproj: Make sure the warnings we disable on 20192 XPathGrammar.cpp are disabled for all configurations, not just 20193 Debug_Internal. 20194 20195 2008-05-14 Kevin McCullough <kmccullough (a] apple.com> 20196 20197 Reviewed by Sam. 20198 20199 <rdar://problem/5770054> JavaScript profiler (10928) 20200 - Rename FunctionCallProfile to ProfileNode 20201 20202 * ForwardingHeaders/profiler/FunctionCallProfile.h: Removed. 20203 * ForwardingHeaders/profiler/ProfileNode.h: Copied from ForwardingHeaders/profiler/FunctionCallProfile.h. 20204 * GNUmakefile.am: 20205 * WebCore.pro: 20206 * WebCore.vcproj/WebCore.vcproj: 20207 * WebCore.xcodeproj/project.pbxproj: 20208 * WebCoreSources.bkl: 20209 * page/JavaScriptFunctionCallProfile.cpp: Removed. 20210 * page/JavaScriptFunctionCallProfile.h: Removed. 20211 * page/JavaScriptProfile.cpp: 20212 * page/JavaScriptProfileNode.cpp: Copied from page/JavaScriptFunctionCallProfile.cpp. 20213 (WebCore::ProfileNodeCache): 20214 (WebCore::getFunctionName): 20215 (WebCore::getTotalTime): 20216 (WebCore::getSelfTime): 20217 (WebCore::getNumberOfCalls): 20218 (WebCore::getChildren): 20219 (WebCore::finalize): 20220 (WebCore::ProfileNodeClass): 20221 (WebCore::toJS): 20222 * page/JavaScriptProfileNode.h: Copied from page/JavaScriptFunctionCallProfile.h. 20223 20224 2008-05-13 Beth Dakin <bdakin (a] apple.com> 20225 20226 Reviewed by Brady. 20227 20228 This patch adds support for the ARIA progressbar role and the 20229 following ARIA states (ie HTML attributes): aria-checked, aria- 20230 level, aria-pressed, aria-valuenow, aria-valuemin, and aria- 20231 valuemax. 20232 20233 * html/HTMLAttributeNames.in: 20234 * page/AccessibilityObject.h: 20235 (WebCore::AccessibilityObject::isProgressIndicator): 20236 (WebCore::AccessibilityObject::valueForRange): 20237 (WebCore::AccessibilityObject::maxValueForRange): 20238 (WebCore::AccessibilityObject::minValueForRange): 20239 * page/AccessibilityRenderObject.cpp: 20240 (WebCore::AccessibilityRenderObject::isProgressIndicator): 20241 (WebCore::AccessibilityRenderObject::isPressed): Check the aria- 20242 pressed attribute if this is an ARIA button. 20243 (WebCore::AccessibilityRenderObject::headingLevel): Check the aria- 20244 level attribute if this is an ARIA heading. 20245 (WebCore::AccessibilityRenderObject::intValue): Check the aria- 20246 checked attribute if this is an ARIA radio button or checkbox. 20247 (WebCore::AccessibilityRenderObject::valueForRange): 20248 (WebCore::AccessibilityRenderObject::maxValueForRange): 20249 (WebCore::AccessibilityRenderObject::minValueForRange): 20250 (WebCore::RoleEntry::): 20251 (WebCore::AccessibilityRenderObject::canSetValueAttribute): 20252 * page/AccessibilityRenderObject.h: 20253 * page/mac/AccessibilityObjectWrapper.mm: 20254 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 20255 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 20256 20257 2008-05-14 Kevin McCullough <kmccullough (a] apple.com> 20258 20259 Reviewed by John. 20260 20261 -<rdar://problem/5770054> JavaScript profiler (10928) 20262 Use the FunctionCallProfile's new total and self time functions. 20263 20264 * page/JavaScriptFunctionCallProfile.cpp: 20265 (WebCore::getTotalTime): 20266 (WebCore::getSelfTime): 20267 20268 2008-05-14 Anders Carlsson <andersca (a] apple.com> 20269 20270 Reviewed by Adam. 20271 20272 Don't try to store the resource data if it's empty. 20273 20274 * loader/appcache/ApplicationCacheStorage.cpp: 20275 (WebCore::ApplicationCacheStorage::store): 20276 20277 2008-05-14 Adam Roben <aroben (a] apple.com> 20278 20279 Windows build fix 20280 20281 * platform/network/NetworkStateNotifier.cpp: Added a missing #include. 20282 * platform/network/NetworkStateNotifier.h: 20283 (WebCore::NetworkStateNotifier::NetworkStateNotifier): Removed 'void' 20284 return type from the constructor, and fixed the spelling of a member 20285 variable. 20286 20287 2008-05-14 Kevin McCullough <kmccullough (a] apple.com> 20288 20289 Reviewed by Adam. 20290 20291 <rdar://problem/5770054> JavaScript profiler (10928) 20292 - Add support for interacting with the JavaScriptCore profiler. 20293 20294 * ForwardingHeaders/profiler/FunctionCallProfile.h: Added. 20295 * ForwardingHeaders/profiler/Profile.h: Added. 20296 * GNUmakefile.am: Add the new files to all the projects. 20297 * WebCore.pro: 20298 * WebCore.vcproj/WebCore.vcproj: 20299 * WebCore.xcodeproj/project.pbxproj: 20300 * WebCoreSources.bkl: 20301 * page/InspectorController.cpp: Add the ability to retrieve all of the 20302 profiles in JavaScript from the InspectorController. 20303 (WebCore::allProfiles): 20304 (WebCore::InspectorController::windowScriptObjectAvailable): 20305 * page/JavaScriptFunctionCallProfile.cpp: Added. Wrapper around the JSC 20306 FunctionCallProfile. 20307 (WebCore::functionCallProfileCache): This cache makes sure we don't 20308 needlessly create duplicate wrappers around the same 20309 FunctionCallProfile*. 20310 (WebCore::getFunctionName): Callback to return the name of the function. 20311 (WebCore::getTotalTime): Callback to return the total time spent in the 20312 function. 20313 (WebCore::getSelfTime): Callback to return the time spent in self (total 20314 - time in children) in the function. 20315 (WebCore::getNumberOfCalls): Callback to return the number of times this 20316 function was called. 20317 (WebCore::getChildren): Callback to return the children of this function 20318 where the children are the functions this function called. 20319 (WebCore::finalize): Cleanup. 20320 (WebCore::functionCallProfileClass): Define the JSClassRef for this 20321 object. 20322 (WebCore::toJS): Create a conversion function to make a usable JSValue 20323 to wrap the FunctionCallProfile in JSC. 20324 * page/JavaScriptFunctionCallProfile.h: Added. 20325 * page/JavaScriptProfile.cpp: Added. Wrapper around the JSC Profile. 20326 (WebCore::profileCache): This cache makes sure we don't needlessly 20327 create duplicate wrappers aroudn the same Profile*. 20328 (WebCore::getHeadCallback): Callback to return the head of the graph of 20329 the functions profiled durring this profile's run. 20330 (WebCore::finalize): 20331 (WebCore::profileClass): Define the JSClassRef for this object. 20332 (WebCore::toJS): Create a conversion function to make a usable JSValue 20333 to wrap the Profile from JSC. 20334 * page/JavaScriptProfile.h: Added. 20335 20336 2008-05-14 David Hyatt <hyatt (a] apple.com> 20337 20338 Fix for bug https://bugs.webkit.org/show_bug.cgi?id=16130. 20339 20340 Opacity, transforms, reflections and masks should not honor z-index unless the element is also 20341 positioned. Always reset to auto if the element is not positioned (and then the following code will 20342 adjust auto to 0 as needed). 20343 20344 Reviewed by Dan Bernstein 20345 20346 * css/CSSStyleSelector.cpp: 20347 (WebCore::CSSStyleSelector::adjustRenderStyle): 20348 20349 2008-05-14 Anders Carlsson <andersca (a] apple.com> 20350 20351 Reviewed by Brady. 20352 20353 <rdar://problem/5931742> Support navigator.onLine from HTML5 20354 20355 * WebCore.vcproj/WebCore.vcproj: 20356 * WebCore.xcodeproj/project.pbxproj: 20357 Add NetworkStateNotifier files. 20358 20359 * dom/EventNames.h: 20360 Add offline and online events. 20361 20362 * page/Navigator.cpp: 20363 (WebCore::Navigator::onLine): 20364 * page/Navigator.h: 20365 * page/Navigator.idl: 20366 Add navigator.onLine. 20367 20368 * page/Page.cpp: 20369 (WebCore::networkStateChanged): 20370 Dispatch offline/online events to all frames. 20371 20372 (WebCore::Page::Page): 20373 Set state change callback. 20374 20375 * platform/network/NetworkStateNotifier.cpp: Added. 20376 * platform/network/NetworkStateNotifier.h: Added. 20377 20378 * platform/network/mac/NetworkStateNotifierMac.cpp: Added. 20379 Mac network state notifier. 20380 20381 2008-05-14 Adam Roben <aroben (a] apple.com> 20382 20383 Fix Bug 18888: REGRESSION (r32731): console.log always prints 20384 "undefined" 20385 20386 <https://bugs.webkit.org/show_bug.cgi?id=18888> 20387 20388 Reviewed by Tim Hatcher. 20389 20390 Tested by pre-existing 20391 manual-tests/inspector/console-log-formatting.html. 20392 20393 * page/inspector/Console.js: 20394 (WebInspector.ConsoleMessage.prototype._format): Changed to explicitly 20395 wrap Console._format instead of using bind to do it. Using bind was 20396 causing us to pass plainText in as the first parameter instead of as 20397 the second. 20398 20399 2008-05-14 Timothy Hatcher <timothy (a] apple.com> 20400 20401 Fixes the bug where stepping out of a function would show the wrong 20402 call stack (would look like it stepped out twice.) 20403 20404 Reviewed by Adam Roben. 20405 20406 * page/JavaScriptDebugServer.cpp: 20407 (WebCore::JavaScriptDebugServer::returnEvent): 20408 Call pauseIfNeeded before setting m_currentCallFrame to the caller. 20409 20410 2008-05-14 Stephanie Lewis <slewis (a] apple.com> 20411 20412 Fix 64bit build 20413 20414 * plugins/PluginView.h: 20415 20416 2008-05-14 David Kilzer <ddkilzer (a] apple.com> 20417 20418 REGRESSION (r26474): WebKit fails jQuery test 64 core module: text(String) subtest 1 Check escaped text (createTextNode) 20419 20420 <https://bugs.webkit.org/show_bug.cgi?id=18976> 20421 <rdar://problem/5924793> 20422 20423 Reviewed by Darin. 20424 20425 Tests: fast/dom/dom-parse-serialize-expected.txt: 20426 fast/xsl/xslt-processor-expected.txt: 20427 fast/xsl/xslt-text-expected.txt: 20428 20429 Commit r26474 removed escaping of '>' characters to '>' in serialized 20430 HTML content, which broke one jQuery test. This change restores that 20431 serialization behavior to both attributes and content for consistency. 20432 20433 * editing/markup.cpp: 20434 (WebCore::appendAttributeValue): Escape '>' as '>'. 20435 (WebCore::escapeContentText): Ditto. 20436 (WebCore::appendEscapedContent): Ditto. This is the bug fix for the jQuery test. 20437 20438 2008-05-14 Adam Roben <aroben (a] apple.com> 20439 20440 Fix Bug 19051: REGRESSION (r33447): Assertion in 20441 JSDebugServer::removeListener closing tab with Inspector open 20442 20443 <https://bugs.webkit.org/show_bug.cgi?id=19051> 20444 20445 m_inspectedPage is now cleared when the Page is destroyed, which never 20446 used to happen. Some of InspectorController's code was not prepared 20447 for this. 20448 20449 Reviewed by Dave Hyatt. 20450 20451 * page/InspectorController.cpp: 20452 (WebCore::InspectorController::~InspectorController): Removed a call 20453 to stopDebugging and added an assertion. Debugging should have already 20454 been stopped by this point. 20455 (WebCore::InspectorController::inspectedPageDestroyed): Moved here 20456 from the header file. Added a call to stopDebugging. 20457 (WebCore::InspectorController::enabled): Return false if our inspected 20458 Page has already been destroyed, since we can't really do much at this 20459 point anyway. 20460 (WebCore::InspectorController::didCommitLoad): 20461 (WebCore::InspectorController::didLoadResourceFromMemoryCache): 20462 (WebCore::InspectorController::identifierForInitialRequest): 20463 (WebCore::InspectorController::startDebuggingAndReloadInspectedPage): 20464 (WebCore::InspectorController::stopDebugging): 20465 (WebCore::InspectorController::drawNodeHighlight): 20466 Assert that m_inspectedPage hasn't been cleared. 20467 * page/InspectorController.h: 20468 20469 2008-05-14 Justin Garcia <justin.garcia (a] apple.com> 20470 20471 Reviewed by Darin. 20472 20473 <rdar://problem/5914803> Improve performance of WebCore::Editor::setComposition 20474 20475 * editing/Editor.cpp: 20476 (WebCore::Editor::confirmComposition): Remove the previous composition 20477 when we insert the new one, not with a separate, slower, delete operation. 20478 (WebCore::Editor::setComposition): Ditto. 20479 * editing/InsertTextCommand.cpp: 20480 (WebCore::InsertTextCommand::performTrivialReplace): Remove the selected 20481 text with a low level operation that doesn't perform a layout and insert 20482 the new text in a way that won't trigger a layout from the removal. 20483 (WebCore::InsertTextCommand::input): Call the optimized replace. 20484 * editing/InsertTextCommand.h: 20485 * editing/htmlediting.cpp: 20486 (WebCore::isTabSpanNode): Check to see if the node is a span, to avoid 20487 the expense of getAttribute in the common case. 20488 * page/Frame.cpp: 20489 (WebCore::Frame::selectionLayoutChanged): Selection::start() and end() 20490 will already be at VisiblePosition deepEquivalents. Selection::validate() 20491 ensures this. 20492 20493 2008-05-14 Adam Roben <aroben (a] apple.com> 20494 20495 Make the Inspector able to handle being reloaded 20496 20497 When Reload was selected from the context menu in the Inspector, the 20498 Inspector window would close and never be openable again. Now it 20499 closes, then reopens when the page finishes loading. 20500 20501 Reviewed by Tim Hatcher. 20502 20503 * page/InspectorController.cpp: 20504 (WebCore::InspectorController::close): Removed code that cleared out 20505 m_page. This is now handled by pageDestroyed. 20506 * page/InspectorController.h: 20507 (WebCore::InspectorController::inspectedPageDestroyed): Added. 20508 * page/Page.cpp: 20509 (WebCore::Page::~Page): Fixed a bug and added a call to the new 20510 inspectedPageDestroyed. If we have a parent InspectorController, that 20511 means that we are the Page in the Inspector's window (i.e., we are the 20512 Inspector's UI), so when we are destroyed we should call 20513 InspectorController::pageDestroyed. We also need to call 20514 inspectedPageDestroyed on our own InspectorController so that it won't 20515 try to call into us. 20516 20517 2008-05-14 Timothy Hatcher <timothy (a] apple.com> 20518 20519 Add pause on exception support to the Inspector debugger 20520 with a toggle buttons to enable or disable it. 20521 20522 Reviewed by Adam Roben. 20523 20524 * page/InspectorController.cpp: 20525 (WebCore::pauseOnExceptions): Call the InspectorController. 20526 (WebCore::setPauseOnExceptions): Ditto. 20527 (WebCore::InspectorController::windowScriptObjectAvailable): Add the new 20528 setPauseOnExceptions and pauseOnExceptions functions to the JS class. 20529 (WebCore::InspectorController::pauseOnExceptions): Call JavaScriptDebugServer. 20530 (WebCore::InspectorController::setPauseOnExceptions): Ditto. 20531 * page/InspectorController.h: 20532 * page/JavaScriptDebugServer.cpp: 20533 (WebCore::JavaScriptDebugServer::setPauseOnExceptions): Set m_pauseOnExceptions. 20534 (WebCore::JavaScriptDebugServer::exception): Check m_pauseOnExceptions 20535 and set m_pauseOnNextStatement to true before calling pauseIfNeeded. 20536 * page/JavaScriptDebugServer.h: 20537 * page/inspector/Images/pauseOnExceptionButtons.png: Added. 20538 * page/inspector/ScriptsPanel.js: Adds a status bar button that calls 20539 the new InspectorController functions. 20540 * page/inspector/inspector.css: New styles. 20541 20542 2008-05-14 Timothy Hatcher <timothy (a] apple.com> 20543 20544 Rename the Scope Chain pane to Scope Variables. Name the global 20545 object Global. Name objects before the locals "With Block". 20546 Name colsure scopes "Closure". Name any element or document 20547 after Local, "Event Target" and "Event Document", respectfully. 20548 20549 Reviewed by Adam Roben. 20550 20551 * English.lproj/localizedStrings.js: Add new strings. 20552 * page/inspector/ObjectPropertiesSection.js: 20553 (WebInspector.ObjectPropertiesSection): Add a new argument that is used 20554 for the empty placeholder text. 20555 (WebInspector.ObjectPropertiesSection.prototype.onpopulate): Use the 20556 empty placeholder text. 20557 * page/inspector/ScopeChainSidebarPane.js: 20558 (WebInspector.ScopeChainSidebarPane): Rename Scope Chain to Scope Variables. 20559 (WebInspector.ScopeChainSidebarPane.prototype.update): Use the object name as 20560 the subtitle. Use "Global" for the global object title. Use "With Block" for 20561 the title of objects before the locals. Use "No Variables" for the empty 20562 placeholder text for locals. 20563 20564 2008-05-14 Michael A. Puls II <shadow2531 (a] gmail.com> 20565 20566 Reviewed by Alexey. 20567 20568 Fix for https://bugs.webkit.org/show_bug.cgi?id=16923 20569 Attr nodes with a value of "" should not have any childNodes 20570 20571 In Opera, Firefox and IE, when an attribute node has a value 20572 of "", the attribute node doesn't have any childNodes. This 20573 is true in WebKit also, but not when you assign "" to the 20574 Attr's value when the existing value is non-empty. 20575 20576 Test: fast/dom/attribute-empty-value-no-children.html 20577 20578 * dom/Attr.cpp: (WebCore::Attr::setValue): Use createTextChild(), which only appends 20579 a child text node if the value being assigned is not empty. 20580 20581 2008-05-14 Julien Chaffraix <jchaffraix (a] webkit.org> 20582 20583 Reviewed by Eric. 20584 20585 GCC 4.3 build fix. 20586 Removes some compiler warnings. 20587 20588 * dom/Document.h: 20589 (WebCore::FormElementKey::hashTableDeletedValue): GCC complained about the const keyword 20590 so remove it as it is only used inside FormElementKey. 20591 20592 * html/HTMLSelectElement.cpp: 20593 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Correct coding style (removes 20594 a warning too). 20595 20596 * loader/appcache/ApplicationCacheResource.cpp: Include stdio.h for gcc4.3 build. 20597 20598 * plugins/PluginPackage.cpp: 20599 (WebCore::PluginPackage::PluginPackage): Changed initialization order in the constructor. 20600 * plugins/PluginView.cpp: 20601 (WebCore::PluginView::PluginView): Ditto. 20602 * plugins/PluginView.h: 20603 * xml/AccessControlList.cpp: Include stdio.h 20604 * xml/AccessItem.cpp: Ditto. 20605 * xml/AccessItemRule.cpp: Ditto. 20606 20607 2008-05-14 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 20608 20609 Reviewed by Simon. 20610 20611 Qt build fix. Add JSJavaScriptCallFrameCustom.cpp to the build 20612 and implemented EventLoopQt. 20613 20614 * WebCore.pro: 20615 * platform/qt/EventLoopQt.cpp: Added. 20616 20617 2008-05-14 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 20618 20619 Reviewed by Simon. 20620 20621 Qt build fix. Add JavaScriptCallFrame.{idl,cpp} to the build. 20622 20623 * WebCore.pro: 20624 20625 2008-05-13 Dan Bernstein <mitz (a] apple.com> 20626 20627 Reviewed by John Sullivan. 20628 20629 - Windows part of <rdar://problem/5725912> improve render quality of transformed text 20630 20631 * platform/graphics/win/FontCGWin.cpp: 20632 (WebCore::Font::drawGlyphs): Added call to 20633 wkSetCGContextFontRenderingStyle(). 20634 20635 2008-05-13 Alp Toker <alp (a] nuanti.com> 20636 20637 GTK+ build fix. Implement EventLoopGtk.cpp. 20638 20639 * GNUmakefile.am: 20640 * platform/gtk/EventLoopGtk.cpp: Added. 20641 (WebCore::EventLoop::cycle): 20642 20643 2008-05-13 Alp Toker <alp (a] nuanti.com> 20644 20645 GTK+ build fix. Fix IDL filename typo and add JavaScriptCallFrame.cpp 20646 to the build. 20647 20648 * GNUmakefile.am: 20649 20650 2008-05-13 Matt Lilek <webkit (a] mattlilek.com> 20651 20652 Not reviewed, partial Gtk build fix. 20653 20654 * GNUmakefile.am: 20655 20656 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 20657 20658 Fixes a crash when stepping out in the Inspector's debugger. 20659 20660 http://bugs.webkit.org/show_bug.cgi?id=19037 20661 20662 Reviewed by Dan Bernstein. 20663 20664 * page/InspectorController.cpp: 20665 (WebCore::currentCallFrame): Adds a null check of currentCallFrame, 20666 since it can be null. Also returns JSNull to better signify this. 20667 * page/inspector/ScriptsPanel.js: Updates the debugger interface 20668 when stepping so the currentCallFrame isn't accessed when not paused. 20669 Adds a _clearInterface function to remove duplicate code. 20670 20671 2008-05-13 chris fleizach <cfleizach (a] apple.com> 20672 20673 Reviewed by Beth Dakin 20674 20675 <rdar://problem/5932677> AX: Submit buttons aren't returning AXTitle 20676 20677 * page/AccessibilityRenderObject.cpp: 20678 (WebCore::AccessibilityRenderObject::title): 20679 20680 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 20681 20682 Adds an overlay window that covers the scripts panel and 20683 informs the user that they need to attach the debugger. 20684 Provides an "Attach Debugger" button below the info text. 20685 20686 Reviewed by Dan Bernstein. 20687 20688 * English.lproj/localizedStrings.js: New strings. 20689 * page/inspector/ScriptsPanel.js: 20690 (WebInspector.ScriptsPanel): Create the overlay elements and 20691 append to the main panel element. 20692 * page/inspector/inspector.css: New styles for the over lay elements. 20693 20694 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 20695 20696 Fixes the assertion and crash that would happen when inspecting a element from a frame. 20697 This change makes JSInspectedObjectWrapper pass unwrapped objects around for global objects 20698 that share the same page group identifier. Also returns jsUndefined() instead of 0 to prevent 20699 crashing in release builds if the page groups don't match. 20700 20701 Passes all the tests in: manual-tests/inspector-wrappers 20702 20703 Reviewed by Adam Roben. 20704 20705 * bindings/js/JSInspectedObjectWrapper.cpp: 20706 (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Return jsUndefined() instead of 0. 20707 Call allowsUnwrappedAccessFrom instead of unwrappedExecStateMatches. 20708 * bindings/js/JSQuarantinedObjectWrapper.cpp: 20709 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Renamed from unwrappedExecStateMatches. 20710 Return true if the pageGroupIdentifier of both wrappers match. 20711 (WebCore::JSQuarantinedObjectWrapper::callAsFunction): Return jsUndefined() instead of 0. 20712 * bindings/js/JSQuarantinedObjectWrapper.h: Renamed unwrappedExecStateMatches to allowsUnwrappedAccessFrom. 20713 20714 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 20715 20716 Fixes the hang that could happen when option-clicking to expand 20717 a disclosure triangle in the Properties pane. This change limits 20718 the recursion depth when expanding the tree elements. 20719 20720 <rdar://problem/5847681> Safari hangs when option-clicking a 20721 disclosure triangle in the Inspector's Properties pane 20722 20723 Reviewed by John Sullivan. 20724 20725 * page/inspector/treeoutline.js: 20726 (TreeElement.prototype.expandRecursively): Pass an empty info object to 20727 traverseNextTreeElement to get the depthChange value. This is used to 20728 compute a current depth. If the depth exceeds the maxDepth argument, the 20729 item isn't expanded and children wont be populated when traverseNextTreeElement 20730 is called until the depth goes below the maxDepth. 20731 (TreeElement.prototype.traverseNextTreeElement): Added a new info 20732 argument that can be optionally used to return extra info like depth change. 20733 20734 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 20735 20736 Adds info text to panes and sections in the Inspector's sidebars 20737 that would normally be empty. These help the user know why there 20738 is nothing in these sections. 20739 20740 Reviewed by John Sullivan. 20741 20742 * English.lproj/localizedStrings.js: Add strings. 20743 * page/inspector/BreakpointsSidebarPane.js: Adds "No Breakpoints". 20744 * page/inspector/CallStackSidebarPane.js: Adds "Not Paused". 20745 * page/inspector/ObjectPropertiesSection.js: Adds "No Properties". 20746 * page/inspector/ScopeChainSidebarPane.js: Adds "Not Paused". 20747 * page/inspector/inspector.css: Adds style rules for the info elements. 20748 20749 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 20750 20751 Implements the rest of the Scripts panel to get the debugger 20752 mostly working. "Basic debugging seems to work." 20753 20754 Reviewed by Geoff Garen. 20755 20756 * English.lproj/localizedStrings.js: Adds new strings. 20757 * page/inspector/Resource.js: 20758 (WebInspector.Resource.prototype.get scripts): Returns _scripts and 20759 creates it lazily. 20760 (WebInspector.Resource.prototype.addScript): Add the script object to the 20761 front of the _scripts array. 20762 (WebInspector.Resource.prototype.removeAllScripts): Removed all the scripts 20763 and removes the resource back-reference. 20764 (WebInspector.Resource.prototype.removeScript): Removes the script and 20765 breaks the resource back-reference. 20766 * page/inspector/ResourceView.js: 20767 (WebInspector.ResourceView): Adds a reminder comment. 20768 (WebInspector.ResourceView.prototype.get headersVisible): Returns _headersVisible. 20769 (WebInspector.ResourceView.prototype.set headersVisible): Stubs out 20770 a setter that currently just sets _headersVisible. Has a comment that 20771 points out this needs implemented when network headers are added. 20772 * page/inspector/ResourcesPanel.js: 20773 (WebInspector.ResourcesPanel.prototype.show): Sets the headersVisible property of 20774 the visible view to true and shows it again, in case it was being shown in Scripts. 20775 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): 20776 Copies the headersVisible property from the old view to the new view. 20777 (WebInspector.ResourcesPanel.prototype.showResource): Sets the headersVisible 20778 property to true before showing. 20779 * page/inspector/ScriptView.js: 20780 (WebInspector.ScriptView): Passes in _addBreakpoint for the add breakpoint delegate. 20781 (WebInspector.ScriptView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint 20782 for the current Script.sourceID and line. 20783 * page/inspector/ScriptsPanel.js: 20784 (WebInspector.ScriptsPanel): 20785 (WebInspector.ScriptsPanel.prototype.show): Sets the headersVisible property of 20786 the visible view to false and shows it again, in case it was being shown in Resources. 20787 (WebInspector.ScriptsPanel.prototype.addScript): Makes a new Script object and 20788 adds it to a Resource if one is found. Registers any breakpoint that match 20789 the new Script's source URL, and sets the sourceID of the breakpoints. 20790 (WebInspector.ScriptsPanel.prototype.addBreakpoint): Adds the breakpoint to the 20791 BreakpointsSidebarPane. Also adds it to _breakpointsURLMap so it can be found 20792 later in addScript by URL. Finally adds the breakpoint to the SourceFrame that 20793 represents the resources or script. 20794 (WebInspector.ScriptsPanel.prototype.removeBreakpoint): Removes the breakpoint from 20795 the BreakpointsSidebarPane, _breakpointsURLMap and SourceFrame. 20796 (WebInspector.ScriptsPanel.prototype.debuggerPaused): Update the debugger 20797 state variables, the buttons and the CallStackSidebarPane. 20798 (WebInspector.ScriptsPanel.prototype.reset): Clears and resets debugger 20799 and interface state. 20800 (WebInspector.ScriptsPanel.prototype.get visibleView): Returns _visibleView. 20801 (WebInspector.ScriptsPanel.prototype.set visibleView): Sets _visibleView and 20802 calls hide on the old view and show on the new view. 20803 (WebInspector.ScriptsPanel.prototype.showScript): Calls _showScriptOrResource. 20804 (WebInspector.ScriptsPanel.prototype.showResource): Ditto. 20805 (WebInspector.ScriptsPanel.prototype.scriptViewForScript): Lazily creates a 20806 ScriptView for the Script and returns it. 20807 (WebInspector.ScriptsPanel.prototype.sourceFrameForScript): Returns the SourceFrame 20808 for the Script. 20809 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): Returns the 20810 SourceFrame based on the type of object passed in. 20811 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Shows the view based on 20812 the type of object passed in. If the object is a resource and there are breakpoints 20813 defined for that Resource URL, then populate the SourceFrame with the breakpoints. 20814 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Adds a script to the 20815 files menu. If the Script is part of a resource, that resource is added. 20816 (WebInspector.ScriptsPanel.prototype._removeScriptFromFilesMenu): Remove a script from 20817 the files menu. If that script is part of a resource and it is the last script of that 20818 resource, then remove the whole resource. 20819 (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): Clears the execution 20820 line from the SourceFrame that is showing it. 20821 (WebInspector.ScriptsPanel.prototype._callFrameSelected): Event listener for when the 20822 call frame changes in the CallStackSidebarPane. Triggers updates to the ScopeChainSidebarPane 20823 and the visible view. 20824 (WebInspector.ScriptsPanel.prototype._changeVisibleFile): Event listener for the change state 20825 of the files select element. 20826 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Update more of the 20827 buttons to reflect the current debugger state. Updates the status text too. 20828 (WebInspector.ScriptsPanel.prototype._toggleDebugging): Reset the UI and state when 20829 the debugger is attached/detached. 20830 (WebInspector.ScriptsPanel.prototype._togglePause): Call InspectorController.resumeDebugger or 20831 InspectorController.pauseInDebugger depending on the paused state. 20832 (WebInspector.ScriptsPanel.prototype._stepOverClicked): Call InspectorController.stepOverStatementInDebugger. 20833 (WebInspector.ScriptsPanel.prototype._stepIntoClicked): Call InspectorController.stepIntoStatementInDebugger. 20834 (WebInspector.ScriptsPanel.prototype._stepOutClicked): InspectorController.stepOutOfFunctionInDebugger. 20835 * page/inspector/SourceView.js: 20836 (WebInspector.SourceView): Passes in _addBreakpoint for the add breakpoint delegate. 20837 (WebInspector.SourceView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint 20838 for the nearest Script's sourceID and passed in line. 20839 * page/inspector/inspector.css: New style rules for the UI changes. 20840 * page/inspector/inspector.js: 20841 (WebInspector.loaded): Add the ScriptsPanel to the panels list. 20842 (WebInspector.parsedScriptSource): Call ScriptsPanel.addScript. 20843 (WebInspector.failedToParseScriptSource): Ditto. 20844 (WebInspector.pausedScript): Call ScriptsPanel.debuggerPaused. 20845 20846 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 20847 20848 Adds implementations of the Scope Chain and Call Stack sidebar panes. 20849 These panes use the JSJavaScriptCallFrame object that will be passed 20850 to the update functions. 20851 20852 Reviewed by Kevin McCullough. 20853 20854 * English.lproj/localizedStrings.js: Adds new strings. 20855 * WebCore.vcproj/WebCore.vcproj: Adds new files. 20856 * page/inspector/CallStackSidebarPane.js: 20857 (WebInspector.CallStackSidebarPane.prototype.update): Walk the 20858 caller chain of the call frame and make placards for each. 20859 (WebInspector.CallStackSidebarPane.prototype.get selectedCallFrame): 20860 Return _selectedCallFrame. 20861 (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame): 20862 Set _selectedCallFrame and dispatch the "call frame selected" event. 20863 (WebInspector.CallStackSidebarPane.prototype._placardSelected): 20864 Set the selectedCallFrame based on the clicked placard. 20865 * page/inspector/Placard.js: Added. A user interface object that can 20866 be used to show a title and a subtitle block with a selected state. 20867 * page/inspector/ScopeChainSidebarPane.js: Added. 20868 (WebInspector.ScopeChainSidebarPane): Call the base object and set the title. 20869 (WebInspector.ScopeChainSidebarPane.prototype.update): Iterate over the 20870 call frame's scope chain and make ObjectPropertiesSections for each. 20871 * page/inspector/SidebarPane.js: 20872 (WebInspector.SidebarPane.prototype): Inherit from WebInspector.Object. 20873 * page/inspector/WebKit.qrc: Add new files. 20874 * page/inspector/inspector.css: Add placard styles. 20875 * page/inspector/inspector.html: Add new files. 20876 20877 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 20878 20879 Fixes the bug where SourceViews would be blank if shown before 20880 the Resource finished loading. 20881 20882 <rdar://problem/5807420> Safari's Web Inspector won't display the 20883 contents of some CSS and JS files 20884 20885 Reviewed by Kevin McCullough. 20886 20887 * page/inspector/Resource.js: 20888 (WebInspector.Resource.prototype.set finished): Dispatch the finished event 20889 (WebInspector.Resource.prototype): Inherit from WebInspector.Object.prototype. 20890 * page/inspector/SourceView.js: 20891 (WebInspector.SourceView): Register for the finished event on the resource. 20892 When the event fires, setup the source frame and deregister the event. 20893 20894 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 20895 20896 Factored most of SourceView out into SourceFrame so it can be shared 20897 by the new ScriptView. Added the ScriptView class to be used for 20898 scripts that arn't Resources (like eval code.) Added a simple Script 20899 object that hold the data from the debugger parsedSource hooks. A 20900 ScriptView holds a Script object, and uses it for source data. 20901 20902 Added breakpoint and execution line support to the SourceFrame 20903 where they are visually represented in the source. 20904 20905 Reviewed by Kevin McCullough. 20906 20907 * page/inspector/inspector.js: 20908 (WebInspector.performSearch): Change the caller of sourceFrameForResource 20909 to use the SourceFrame result's element property. 20910 * page/inspector/ResourcesPanel.js: Use the new SourceFrame. 20911 * page/inspector/Script.js: Added. 20912 * page/inspector/ScriptView.js: Added. 20913 * page/inspector/SourceFrame.js: Added. 20914 * page/inspector/SourceView.js: Use the new SourceFrame. 20915 * WebCore.vcproj/WebCore.vcproj: Add new files. 20916 * page/inspector/WebKit.qrc: Ditto. 20917 * page/inspector/inspector.html: Ditto. 20918 20919 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 20920 20921 Adds a Breakpoint object and basic add/remove functions on 20922 BreakpointsSidebarPane that call the InspectorController to 20923 add/remove the breakpoint. 20924 20925 Reviewed by Kevin McCullough. 20926 20927 * page/inspector/Breakpoint.js: 20928 (WebInspector.Breakpoint): 20929 (WebInspector.Breakpoint.prototype.get enabled): Return _enabled. 20930 (WebInspector.Breakpoint.prototype.set enabled): Set _enabled and 20931 dispatch the enabled/disabled event to listeners. 20932 * page/inspector/BreakpointsSidebarPane.js: 20933 (WebInspector.BreakpointsSidebarPane): Add a breakpoints array. 20934 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): 20935 Adds the breakpoint to the breakpoints array. Registers for the disabled 20936 and enabled event types. Call InspectorController.addBreakpoint if attached. 20937 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint): 20938 Removes the breakpoint from the breakpoints array. Deregisters for the disabled 20939 and enabled event types. Call InspectorController.removeBreakpoint if attached. 20940 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged): 20941 Call InspectorController.addBreakpoint or InspectorController.removeBreakpoint 20942 depending on the enabled state of the breakpoint. 20943 * WebCore.vcproj/WebCore.vcproj: Add new files. 20944 * page/inspector/WebKit.qrc: Ditto. 20945 * page/inspector/inspector.html: Ditto. 20946 20947 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 20948 20949 Make addSourceToFrame not dependent on InspectorResource so it 20950 can be used to add source of a passed in string and mime-type to 20951 a frame. Added addResourceSourceToFrame for use by SourceView. 20952 20953 Also fixes an assertion because of an incorrect static_cast of identifiers 20954 to unsigned long long, when they can be unsigned. 20955 20956 Reviewed by Geoff Garen. 20957 20958 * page/InspectorController.cpp: 20959 (WebCore::addSourceToFrame): Helper function used by addSourceToFrame 20960 and addResourceSourceToFrame. 20961 (WebCore::addSourceToFrame): Generalized to take a source and mime-type string. 20962 (WebCore::addResourceSourceToFrame): Renamed from addSourceToFrame. 20963 (WebCore::getResourceDocumentNode): Fixes the static_cast to be long long. 20964 (WebCore::InspectorController::windowScriptObjectAvailable): Adds 20965 addResourceSourceToFrame to the JavaScript class. 20966 * page/inspector/SourceView.js: Use the new addResourceSourceToFrame. 20967 20968 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 20969 20970 Add debugger related functions to the InspectorController and 20971 expose them to the JavaScript side of InspectorController. 20972 20973 Reviewed by Geoff Garen. 20974 20975 * page/InspectorController.cpp: 20976 (WebCore::jsStringRef): Added helper to convert a UString to a JSStringRef. 20977 (WebCore::currentCallFrame): Call InspectorController::currentCallFrame. 20978 (WebCore::pauseInDebugger): Call InspectorController::pauseInDebugger. 20979 (WebCore::resumeDebugger): Call InspectorController::resumeDebugger. 20980 (WebCore::stepOverStatementInDebugger): Call InspectorController::stepOverStatementInDebugger. 20981 (WebCore::stepIntoStatementInDebugger): Call InspectorController::stepIntoStatementInDebugger. 20982 (WebCore::stepOutOfFunctionInDebugger): Call InspectorController::stepOutOfFunctionInDebugger. 20983 (WebCore::addBreakpoint): Call InspectorController::addBreakpoint. 20984 (WebCore::removeBreakpoint): Call InspectorController::removeBreakpoint. 20985 (WebCore::InspectorController::windowScriptObjectAvailable): Add the new functions to the 20986 InspectorController JavaScript class. 20987 (WebCore::InspectorController::startDebuggingAndReloadInspectedPage): Clear breakpoints. 20988 (WebCore::InspectorController::currentCallFrame): Return the currentCallFrame from the 20989 JavaScriptDebugServer. 20990 (WebCore::InspectorController::pauseInDebugger): Call JavaScriptDebugServer's pauseOnNextStatement. 20991 (WebCore::InspectorController::resumeDebugger): Call JavaScriptDebugServer's resume. 20992 (WebCore::InspectorController::stepOverStatementInDebugger): Call JavaScriptDebugServer's stepOverStatement. 20993 (WebCore::InspectorController::stepIntoStatementInDebugger): Call JavaScriptDebugServer's stepIntoStatement. 20994 (WebCore::InspectorController::stepOutOfFunctionInDebugger): Call JavaScriptDebugServer's stepOutOfFunction. 20995 (WebCore::InspectorController::addBreakpoint): Call JavaScriptDebugServer's addBreakpoint. 20996 (WebCore::InspectorController::removeBreakpoint): Call JavaScriptDebugServer's removeBreakpoint. 20997 (WebCore::InspectorController::didParseSource): Call into the Inspector's JavaScript. 20998 (WebCore::InspectorController::failedToParseSource): Ditto. 20999 (WebCore::InspectorController::didPause): Ditto. 21000 * page/InspectorController.h: Add new functions. 21001 21002 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 21003 21004 Implements more debugger APIs on JavaScriptDebugServer and reduces 21005 the number of callbacks to JavaScriptDebugListeners. These changes 21006 will better facilitate debugger optimizations when SquirrelFish merges. 21007 21008 Reviewed by Kevin McCullough. 21009 21010 * page/InspectorController.cpp: 21011 (WebCore::InspectorController::didParseSource): Removed the ExecState. 21012 (WebCore::InspectorController::failedToParseSource): Ditto. 21013 (WebCore::InspectorController::didPause): Added. 21014 * page/InspectorController.h: Changed the JavaScriptDebugListener functions. 21015 * page/JavaScriptDebugListener.h: Removed some callbacks and added didPause. 21016 * page/JavaScriptDebugServer.cpp: 21017 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): Initialize new data members. 21018 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all values of m_breakpoints. 21019 (WebCore::JavaScriptDebugServer::removeListener): Call resume if the last listener was removed. 21020 (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage): Returns true if there are any 21021 global listeners or a listener for the page. 21022 (WebCore::JavaScriptDebugServer::addBreakpoint): Adds and entry to m_breakpoints. 21023 (WebCore::JavaScriptDebugServer::removeBreakpoint): Removes a entry in m_breakpoints. 21024 (WebCore::JavaScriptDebugServer::hasBreakpoint): Checks if there is a breakpoint for the 21025 sourceID and line. 21026 (WebCore::JavaScriptDebugServer::clearBreakpoints): Removed all breakpoints. 21027 (WebCore::JavaScriptDebugServer::pauseOnNextStatement): Sets m_pauseOnNextStatement to true. 21028 (WebCore::JavaScriptDebugServer::resume): Sets m_paused to false. 21029 (WebCore::JavaScriptDebugServer::stepIntoStatement): Calls resume and sets 21030 m_pauseOnNextStatement to true. 21031 (WebCore::JavaScriptDebugServer::stepOverStatement): Calls resume and sets m_pauseOnExecState to 21032 the current call frame's ExecState. 21033 (WebCore::JavaScriptDebugServer::stepOutOfFunction): Calls resume and sets m_pauseOnExecState to 21034 the current call frame's caller ExecState. 21035 (WebCore::JavaScriptDebugServer::currentCallFrame): Returns m_currentCallFrame if paused. 21036 (WebCore::dispatchDidParseSource): Removed the ExecState argument. 21037 (WebCore::dispatchFailedToParseSource): Ditto. 21038 (WebCore::JavaScriptDebugServer::sourceParsed): Doesn't pass the ExecState to dispatchDidParseSource 21039 or dispatchFailedToParseSource. 21040 (WebCore::dispatchFunctionToListeners): 21041 (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Removes all the arguments passed 21042 to the callback. 21043 (WebCore::JavaScriptDebugServer::setJavaScriptPaused): Various overloaded functions 21044 to pause parts of WebCore to prevent JavaScript execution while paused. 21045 (WebCore::JavaScriptDebugServer::pauseIfNeeded): Decides if the debugger should pause based 21046 on the passed in ExecState, source ID and line number. This checks for breakpoints, stepping, etc. 21047 Calls didPause on all the listeners and spins a EventLoop until resume is called. 21048 (WebCore::JavaScriptDebugServer::callEvent): Call pauseIfNeeded. 21049 (WebCore::JavaScriptDebugServer::atStatement): Ditto. 21050 (WebCore::JavaScriptDebugServer::returnEvent): Ditto. 21051 (WebCore::JavaScriptDebugServer::exception): Ditto. 21052 * page/JavaScriptDebugServer.h: Added new functions. 21053 21054 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 21055 21056 Change View.show to call detach if the parentNode dosen't 21057 match before appending to the passed in parent element. 21058 This also prevents appending to the same parent element 21059 multiple times. 21060 21061 Reviewed by John Sullivan. 21062 21063 * page/inspector/FontView.js: 21064 (WebInspector.FontView.prototype.show): Pass the parent element to View.show. 21065 * page/inspector/ResourceView.js: Optimize the attach method to no append if 21066 there is a parentNode already. 21067 * page/inspector/SourceView.js: Ditto. 21068 * page/inspector/View.js: Call detach before appending if the parentNode 21069 doesn't match the passed in element. 21070 21071 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 21072 21073 Optimize the panel attach method to no append if there is a 21074 parentNode already. 21075 21076 Reviewed by Adam Roben. 21077 21078 * page/inspector/Panel.js: 21079 (WebInspector.Panel.prototype.attach): Don't append to main-panels 21080 if the panel element already has a parentNode. 21081 21082 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 21083 21084 Add Widget::isPluginView so the JavaScriptDebugServer can identify 21085 plugins that need to be paused during debugging. This will be used 21086 in a upcoming commit. 21087 21088 Reviewed by Kevin McCullough. 21089 21090 * platform/Widget.h: Add isPluginView. Return false. 21091 * plugins/PluginView.h: Add isPluginView. Return true. 21092 21093 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 21094 21095 Adds an event loop abstraction to platform. This abstraction will be 21096 used by the JavaScriptDebugServer to implement pausing. 21097 21098 Reviewed by Kevin McCullough. 21099 21100 * platform/EventLoop.h: Added. 21101 (WebCore::EventLoop::EventLoop): 21102 (WebCore::EventLoop::ended): Return m_ended. 21103 * platform/mac/EventLoopMac.mm: Added. 21104 (WebCore::EventLoop::cycle): Call nextEventMatchingMask and then sendEvent. 21105 * platform/win/EventLoopWin.cpp: Added. 21106 (WebCore::EventLoop::cycle): Call GetMessage, TranslateMessage and DispatchMessage. 21107 * WebCore.xcodeproj/project.pbxproj: Add new files. 21108 * WebCore.vcproj/WebCore.vcproj: Ditto. 21109 21110 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 21111 21112 Breaks out ObjectPropertiesSection from PropertiesSidebarPane 21113 so it can be used by the Scripts panel's Scope Chain pane. 21114 21115 Rubber-stamped by Adam Roben. 21116 21117 * page/inspector/ObjectPropertiesSection.js: Added. 21118 * page/inspector/PropertiesSidebarPane.js: Moved ObjectPropertiesSection 21119 to ObjectPropertiesSection.js. 21120 * WebCore.vcproj/WebCore.vcproj: Add the new file. 21121 * page/inspector/WebKit.qrc: Ditto. 21122 * page/inspector/inspector.html: Ditto. 21123 21124 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 21125 21126 Add a helper function to the Inspector's Array prototype 21127 that will remove any identical values/objects from the array. 21128 21129 Reviewed by Kevin McCullough. 21130 21131 * page/inspector/utilities.js: 21132 (Array.prototype.remove): Iterate over the array and strict 21133 compare to the passed in value. If they match, splice that index 21134 out of the array. If onlyFirst is true, return after the first splice. 21135 21136 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 21137 21138 Adds a JavaScriptCallFrame object and JavaScript binding with an IDL. 21139 This object will expose the stack to the Inspector's debugger. 21140 21141 Reviewed by Adam Roben. 21142 21143 * DerivedSources.make: Add JavaScriptCallFrame. 21144 * bindings/js/JSJavaScriptCallFrameCustom.cpp: Added. 21145 (WebCore::JSJavaScriptCallFrame::evaluate): Calls impl evaluate and returns the result. 21146 (WebCore::JSJavaScriptCallFrame::scopeChain): Makes an array of the ScopeChain. 21147 * page/JavaScriptCallFrame.cpp: Added. 21148 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame): 21149 (WebCore::JavaScriptCallFrame::caller): Returns m_caller. 21150 (WebCore::JavaScriptCallFrame::functionName): Returns the function 21151 name from the ExecState if this is not global code or anonymous. 21152 (WebCore::JavaScriptCallFrame::evaluate): Evaluates a script string 21153 in the scope of the call frame. 21154 * page/JavaScriptCallFrame.h: Added. 21155 (WebCore::JavaScriptCallFrame::create): Call the ctor can return in a PassRefPtr. 21156 (WebCore::JavaScriptCallFrame::invalidate): Sets m_mexec to 0. This prevents a 21157 stale ExecState from being accessed after the lifetime of the ExecState. 21158 (WebCore::JavaScriptCallFrame::isValid): Checks if m_exec is 0. 21159 (WebCore::JavaScriptCallFrame::execState): Returns m_exec. 21160 (WebCore::JavaScriptCallFrame::sourceIdentifier): Returns m_sourceID. 21161 (WebCore::JavaScriptCallFrame::line): Returns m_line. 21162 (WebCore::JavaScriptCallFrame::setLine): Sets m_line. 21163 (WebCore::JavaScriptCallFrame::scopeChain): Returns by reference m_exec->scopeChain(). 21164 * page/JavaScriptCallFrame.idl: Added. 21165 * WebCore.xcodeproj/project.pbxproj: Add new files. 21166 * WebCore.vcproj/WebCore.vcproj: Ditto. 21167 21168 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 21169 21170 Add a new WebInspector.Object base class that will be used for 21171 a few objects in the Web Inspector to support listeners on any 21172 object. This will help add more abstraction to the Inspector. 21173 21174 Reviewed by Adam Roben. 21175 21176 * page/inspector/Object.js: Added. 21177 (WebInspector.Object): Does nothing. 21178 (WebInspector.Object.prototype.addEventListener): Adds the listener to 21179 the _listeners map by type. Supports a this object argument, for easy 21180 addition of listeners without the need for bind. 21181 (WebInspector.Object.prototype.removeEventListener): Remove the listener 21182 from the _listeners map. If the listener is null and the thisObject was 21183 passed, remove any listener for that thisObject. 21184 (WebInspector.Object.prototype.dispatchEventToListeners): Sends an event 21185 for a type to all listeners for that type. Mimics some of the DOMEvent 21186 methods and properties for the event object passed to the listeners. 21187 * WebCore.vcproj/WebCore.vcproj: Add new files. 21188 * page/inspector/WebKit.qrc: Ditto. 21189 * page/inspector/inspector.html: Ditto. 21190 21191 2008-05-13 Timothy Hatcher <timothy (a] apple.com> 21192 21193 Update the view source CSS to better match the new Inspector mock-ups. 21194 21195 Reviewed by Kevin McCullough. 21196 21197 * css/view-source.css: 21198 21199 2008-05-13 John Sullivan <sullivan (a] apple.com> 21200 21201 Reviewed by Dan Bernstein and Kevin Decker 21202 21203 - fixed <rdar://problem/5879597> reproducible crash in HTMLSelectElement::typeAheadFind 21204 21205 Test: fast/forms/select-type-ahead-list-box-no-selection.html 21206 21207 * html/HTMLSelectElement.cpp: 21208 (WebCore::HTMLSelectElement::typeAheadFind): 21209 When there's no initially-selected element, we were accessing index -1. Check for this 21210 case and start at 0. 21211 21212 2008-05-13 Sam Weinig <sam (a] webkit.org> 21213 21214 Reviewed by Dan Bernstein. 21215 21216 Small cleanup to XMLHttpRequest in preparation for Access Control changes. 21217 21218 * xml/XMLHttpRequest.cpp: 21219 (WebCore::XMLHttpRequest::XMLHttpRequest): 21220 (WebCore::XMLHttpRequest::~XMLHttpRequest): 21221 (WebCore::XMLHttpRequest::open): 21222 (WebCore::XMLHttpRequest::send): 21223 (WebCore::XMLHttpRequest::internalAbort): 21224 (WebCore::XMLHttpRequest::processSyncLoadResults): 21225 (WebCore::XMLHttpRequest::didFinishLoading): 21226 (WebCore::XMLHttpRequest::didReceiveResponse): 21227 (WebCore::XMLHttpRequest::didReceiveData): 21228 * xml/XMLHttpRequest.h: 21229 21230 2008-05-13 chris fleizach <cfleizach (a] apple.com> 21231 21232 Beth Dakin 21233 21234 <rdar://problem/5701210> VO: If image is missing, VoiceOver does not speak the alternative text. 21235 21236 * page/AccessibilityRenderObject.cpp: 21237 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 21238 21239 2008-05-13 chris fleizach <cfleizach (a] apple.com> 21240 21241 Beth Dakin 21242 21243 <rdar://problem/5908446> AX: webkit needs to return blockquote information for all AX objects, not just in AXTextMarker info 21244 21245 * page/mac/AccessibilityObjectWrapper.mm: 21246 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 21247 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 21248 21249 2008-05-13 Alexey Proskuryakov <ap (a] webkit.org> 21250 21251 Reviewed by John Sullivan. 21252 21253 <rdar://problem/4852077> REGRESSION: The content of the HTML file which is saved as Thai 21254 (ISO 8859-11) disappear. 21255 21256 <rdar://problem/5842597> Thai ISO-8859-11 should be upgraded to Windows-874 21257 21258 Test: fast/encoding/char-decoding.html 21259 21260 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames): 21261 Register ISO-8859-11, which doesn't have a standard IANA name, despite following 21262 the usual 8859 naming scheme. Also, made TIS-620 map to windows-874-2000 explicitly. 21263 21264 2008-05-13 chris fleizach <cfleizach (a] apple.com> 21265 21266 Reviewed by Beth Dakin 21267 21268 <rdar://problem/5471973> Some AXLinks are not getting AXTitles though there is title text 21269 21270 * page/AccessibilityRenderObject.cpp: 21271 (WebCore::AccessibilityRenderObject::title): 21272 21273 2008-05-13 Alexey Proskuryakov <ap (a] webkit.org> 21274 21275 Reviewed by Eric Seidel. 21276 21277 https://bugs.webkit.org/show_bug.cgi?id=18681 21278 <rdar://problem/5888130> WebKit should not remove BOM characters from content. 21279 21280 We were only trying to match Firefox, and it doesn't do this any more. 21281 21282 Tests: fast/encoding/bom-in-content.html 21283 fast/encoding/bom-in-content-utf16.html 21284 21285 * platform/text/TextDecoder.cpp: (WebCore::TextDecoder::checkForBOM): Skip the BOM if it's 21286 at the start of input stream. 21287 21288 * platform/text/TextCodec.cpp: 21289 * platform/text/TextCodec.h: 21290 * platform/text/TextCodecICU.cpp: 21291 (WebCore::TextCodecICU::decode): 21292 * platform/text/TextCodecUTF16.cpp: 21293 (WebCore::TextCodecUTF16::decode): 21294 * platform/text/mac/TextCodecMac.cpp: 21295 (WebCore::TextCodecMac::decode): 21296 Don't remove the BOM. 21297 21298 2008-05-13 Anders Carlsson <andersca (a] apple.com> 21299 21300 Reviewed by Darin. 21301 21302 Don't crash when a document loader is destroyed while an initial caching attempt 21303 is in progress. 21304 21305 * loader/appcache/ApplicationCacheGroup.cpp: 21306 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup): 21307 Stop loading. 21308 21309 (WebCore::ApplicationCacheGroup::stopLoading): 21310 New method that stops a cache update. 21311 21312 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): 21313 Delete ourselves here. 21314 21315 * loader/appcache/ApplicationCacheGroup.h: 21316 21317 2008-05-13 Alexey Proskuryakov <ap (a] webkit.org> 21318 21319 Reviewed by Darin. 21320 21321 <rdar://problem/5841351> Turkish ISO 8859-9 encoding should be treated as windows-1254 21322 21323 Match IE and upgrade ISO-8859-9 to windows-1254, which is its strict superset. 21324 21325 Test: fast/encoding/char-decoding.html 21326 21327 * platform/text/TextCodecICU.cpp: 21328 (WebCore::TextCodecICU::registerExtendedEncodingNames): Register the standard name 21329 unconditionally. Previously, we registered windows-949-2000 as a special case that lacked 21330 an IANA standard name, and got away with not registering GBK because it happened 21331 to be reported by ICU normally earlier than any encoding upgraded to it. 21332 21333 2008-05-13 Tor Arne Vestb <tavestbo (a] trolltech.com> 21334 21335 Reviewed by Simon 21336 21337 Fix QtWebKit build on Qt embedded. 21338 21339 * WebCore.pro: 21340 * platform/FileSystem.h: 21341 * platform/qt/FileSystemQt.cpp: 21342 21343 2008-05-13 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 21344 21345 Reviewed by Simon. 21346 21347 For Gtk/X11 and Qt/X11, use a more extensive plug-ins scan directories set 21348 21349 * plugins/PluginDatabase.cpp: 21350 (WebCore::addMozillaPluginDirectories): 21351 (WebCore::PluginDatabase::isPreferredPluginDirectory): 21352 21353 2008-05-12 Adam Roben <aroben (a] apple.com> 21354 21355 Turn on warnings as errors in WebCore.vcproj 21356 21357 Rubberstamped by Anders Carlsson. 21358 21359 * WebCore.vcproj/WebCore.vcproj: Also let VS reformat the file as it 21360 saw fit. The important part is the removal of the WarnAsError="false" 21361 lines. 21362 21363 2008-05-12 Adam Roben <aroben (a] apple.com> 21364 21365 Fix a MSVC warning in PluginViewWin 21366 21367 Reviewed by Anders Carlsson. 21368 21369 Test: http/tests/plugins/post-url-file.html 21370 21371 * plugins/win/PluginViewWin.cpp: 21372 (WebCore::PluginView::handlePostReadFile): Added a missing return 21373 statement. 21374 21375 2008-05-12 Adam Roben <aroben (a] apple.com> 21376 21377 Fix a MSVC warning in GetEOTHeader 21378 21379 Reviewed by Dan Bernstein. 21380 21381 * platform/graphics/win/GetEOTHeader.cpp: 21382 (WebCore::getEOTHeader): MSVC complains that having a 0-sized array in 21383 a struct is a non-standard extension. I've replaced the 0-sized arrays 21384 with arrays of 1 element, and replaced sizeof(structType) with 21385 offsetof(structType, arrayMember). 21386 21387 2008-05-09 Adam Roben <aroben (a] apple.com> 21388 21389 Fix a MSVC warning in TextCodecICU 21390 21391 Reviewed by John Sullivan and Dan Bernstein. 21392 21393 * platform/text/TextCodecICU.cpp: 21394 (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter): 21395 UCNV_SUB_STOP_ON_ILLEGAL is a string literal, so using == with it 21396 doesn't really do what we want. Use strcmp instead. It's OK to pass an 21397 unknown value to strcmp here since 1) UCNV_SUB_STOP_ON_ILLEGAL is only 21398 a single character long so we're not going to ready more than 2 bytes 21399 from oldContext, and 2) we're inside an ASSERT which will cause a 21400 crash anyway if it fails. 21401 21402 2008-05-09 Adam Roben <aroben (a] apple.com> 21403 21404 Fix a MSVC warning in CSSComputedStyleDeclaration 21405 21406 Reviewed by Geoff Garen. 21407 21408 * css/CSSComputedStyleDeclaration.cpp: 21409 (WebCore::valueForRepeatRule): Removed some unreachable code. 21410 21411 2008-05-09 Adam Roben <aroben (a] apple.com> 21412 21413 Fix a MSVC warning in InlineTextBox 21414 21415 Reviewed by Dan Bernstein. 21416 21417 * rendering/InlineTextBox.cpp: 21418 (WebCore::InlineTextBox::paint): Initialize some variables that MSVC 21419 isn't smart enough to figure out will always be initialized in the 21420 cases where they are used. 21421 21422 2008-05-09 Adam Roben <aroben (a] apple.com> 21423 21424 Fix a MSVC warning in Position 21425 21426 Reviewed by Darin Adler. 21427 21428 * dom/Position.cpp: 21429 (WebCore::Position::getInlineBoxAndOffset): Use parentheses to make 21430 the precedence of our expressions explicit. 21431 21432 2008-05-09 Adam Roben <aroben (a] apple.com> 21433 21434 Fix a MSVC warning in String 21435 21436 Reviewed by Geoff Garen. 21437 21438 * platform/text/String.cpp: 21439 (WebCore::toIntegralType): Disable a bogus warning about using unary - 21440 on an unsigned value. MSVC isn't smart enough to figure out that 21441 isNegative will always be false when value is unsigned. 21442 21443 2008-05-09 Adam Roben <aroben (a] apple.com> 21444 21445 Fix a MSVC warning in XMLHttpRequest 21446 21447 Reviewed by Geoff Garen. 21448 21449 * xml/XMLHttpRequest.cpp: 21450 (WebCore::XMLHttpRequest::XMLHttpRequest): Added static_cast<unsigned 21451 long>. 21452 21453 2008-05-12 Anders Carlsson <andersca (a] apple.com> 21454 21455 Reviewed by Adam. 21456 21457 Handle the case when a resource with the same URL as the manifest is listed in the manifest. 21458 21459 * loader/appcache/ApplicationCacheGroup.cpp: 21460 (WebCore::ApplicationCacheGroup::addEntry): 21461 21462 2008-05-12 Sam Weinig <sam (a] webkit.org> 21463 21464 Reviewed by Dan Bernstein. 21465 21466 Add parsing of AccessControlHeader and AccessItemRule. 21467 21468 * xml/AccessControlList.cpp: 21469 (WebCore::AccessControlList::parseAccessControlHeader): When multiple http headers are sent 21470 in the response, the engine will concatenate them with commas separating the rules. This simply 21471 reverses that process by splitting on the commas. 21472 (WebCore::AccessControlList::show): 21473 * xml/AccessControlList.h: 21474 * xml/AccessItem.cpp: 21475 (WebCore::AccessItem::AccessItem): 21476 (WebCore::AccessItem::show): 21477 * xml/AccessItem.h: 21478 (WebCore::AccessItem::isValid): 21479 * xml/AccessItemRule.cpp: 21480 (WebCore::skipLWS): 21481 (WebCore::AccessItemRule::parseAccessItemRule): Parse the rule according to the BNF provided by 21482 the Access Control spec. 21483 (WebCore::AccessItemRule::parsePatternList): 21484 (WebCore::AccessItemRule::invalidate): 21485 (WebCore::AccessItemRule::show): 21486 * xml/AccessItemRule.h: 21487 21488 2008-05-12 David Kilzer <ddkilzer (a] apple.com> 21489 21490 Fix logic error in DocLoader::clearPreloads() 21491 21492 Reviewed by Antti. 21493 21494 * loader/DocLoader.cpp: 21495 (WebCore::DocLoader::clearPreloads): Be sure to decrease the preload count for 21496 the cached resource before trying to remove it from the cache. A non-zero 21497 preload count can prevent the resource from being removed from the cache. 21498 21499 2008-05-12 Anders Carlsson <andersca (a] apple.com> 21500 21501 Reviewed by Adam. 21502 21503 Handle empty manifest files without crashing. 21504 21505 * loader/appcache/ApplicationCacheGroup.cpp: 21506 (WebCore::ApplicationCacheGroup::startLoadingEntry): 21507 21508 2008-05-12 Alp Toker <alp (a] nuanti.com> 21509 21510 GTK+ build fix for breakage in r33056. Include limits.h for INT_MAX. 21511 21512 * platform/graphics/FontCache.h: 21513 21514 2008-05-12 Anders Carlsson <andersca (a] apple.com> 21515 21516 Reviewed by Adam. 21517 21518 Add user agent to requests when loading/updating the cache. 21519 21520 * loader/FrameLoader.h: 21521 * loader/appcache/ApplicationCacheGroup.cpp: 21522 (WebCore::ApplicationCacheGroup::update): 21523 (WebCore::ApplicationCacheGroup::startLoadingEntry): 21524 21525 2008-05-12 Anders Carlsson <andersca (a] apple.com> 21526 21527 Reviewed by Adam. 21528 21529 Make it possible to perform synchronous loads from the application cache. 21530 21531 * loader/DocumentLoader.cpp: 21532 (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): 21533 Factor out code from scheduleApplicationCacheLoad in its own method. 21534 21535 (WebCore::DocumentLoader::scheduleApplicationCacheLoad): 21536 Call shouldLoadResourceFromApplicationCache here instead. 21537 21538 * loader/DocumentLoader.h: 21539 21540 * loader/FrameLoader.cpp: 21541 (WebCore::FrameLoader::loadResourceSynchronously): 21542 Call shouldLoadResourceFromApplicationCache. 21543 21544 2008-05-12 Dan Bernstein <mitz (a] apple.com> 21545 21546 Reviewed by Ada Chan and Sam Weinig. 21547 21548 - WebCore changes for https://bugs.webkit.org/show_bug.cgi?id=17097 21549 <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound 21550 21551 Added a way for clients to let the cache know that they no longer need 21552 font data, which lets the cache release it. Changed clients to track 21553 most of the font data they get from the cache so that they can later 21554 release it. Some instances of font data -- namely, those used for system 21555 font fallback -- are still not tracked and will therefore remain in the 21556 cache indefinitely. 21557 21558 * WebCore.base.exp: Added exports for WebCoreStatistics in WebKit. 21559 21560 * platform/graphics/Font.cpp: 21561 (WebCore::Font::Font): Changed to use FontFallbackList::create(). 21562 (WebCore::Font::update): Ditto. 21563 21564 * platform/graphics/FontCache.cpp: 21565 (WebCore::FontCache::getCachedFontData): Added code to track the number 21566 of times a SimpleFontData instance has been requested from the cache, 21567 remove requested instances from the inactive list, and purge inactive 21568 font data if the inactive list has grown above its maximum allowed size. 21569 (WebCore::FontCache::releaseFontData): Added. Called by clients to let 21570 the cache know that they no longer need the font data. Adds the font 21571 data to the inactive list if the last client has released it. 21572 (WebCore::FontCache::purgeInactiveFontData): Added. Removes inactive 21573 font data from the cache (and the inactive list). 21574 (WebCore::FontCache::fontDataCount): Added to provide statistics. 21575 (WebCore::FontCache::inactiveFontDataCount): Ditto. 21576 21577 * platform/graphics/FontCache.h: 21578 21579 * platform/graphics/FontData.h: 21580 (WebCore::FontData::FontData): Added a member variable to store the 21581 highest glyph page tree level in which there is a node for this FontData. 21582 This is used to limit the depth of the search when pruning glyph page 21583 trees. 21584 (WebCore::FontData::setMaxGlyphPageTreeLevel): Added this accessor. 21585 (WebCore::FontData::maxGlyphPageTreeLevel): Ditto. 21586 21587 * platform/graphics/FontFallbackList.cpp: 21588 (WebCore::FontFallbackList::FontFallbackList): Changed to start with a 21589 refcount of 1. 21590 (WebCore::FontFallbackList::invalidate): Added a call to 21591 releaseFontData(). 21592 (WebCore::FontFallbackList::releaseFontData): Added. Lets the font cache 21593 know that we no longer need the FontData in our font list. 21594 (WebCore::FontFallbackList::fontDataAt): Changed to record in the font 21595 list whether the font data is a custom font data or not. 21596 (WebCore::FontFallbackList::setPlatformFont): Ditto. 21597 21598 * platform/graphics/FontFallbackList.h: 21599 (WebCore::FontFallbackList::create): Added and made the constructor 21600 private. 21601 (WebCore::FontFallbackList::~FontFallbackList): Added a call to 21602 releaseFontData(). 21603 21604 * platform/graphics/GlyphPageTreeNode.cpp: 21605 (WebCore::GlyphPageTreeNode::treeGlyphPageCount): Added to provide 21606 statistics. 21607 (WebCore::GlyphPageTreeNode::pageCount): Ditto. 21608 21609 (WebCore::GlyphPageTreeNode::pruneTreeFontData): Added. 21610 (WebCore::GlyphPageTreeNode::getChild): Added code to update the font 21611 data's maximum glyph page tree level. 21612 (WebCore::GlyphPageTreeNode::pruneFontData): Added. 21613 21614 * platform/graphics/GlyphPageTreeNode.h: 21615 21616 * platform/graphics/SimpleFontData.cpp: 21617 (WebCore::SimpleFontData::~SimpleFontData): Added code to let the font 21618 cache know that we no longer need the small caps font data and to prune 21619 the glyph page trees. 21620 21621 2008-05-12 Anders Carlsson <andersca (a] apple.com> 21622 21623 Reviewed by Alexey. 21624 21625 Add ApplicationCacheStorage::empty() method which will empty 21626 the application cache database. 21627 21628 * WebCore.base.exp: 21629 * loader/appcache/ApplicationCache.cpp: 21630 (WebCore::ApplicationCache::clearStorageID): 21631 * loader/appcache/ApplicationCache.h: 21632 * loader/appcache/ApplicationCacheGroup.cpp: 21633 (WebCore::ApplicationCacheGroup::clearStorageID): 21634 * loader/appcache/ApplicationCacheGroup.h: 21635 * loader/appcache/ApplicationCacheResource.h: 21636 (WebCore::ApplicationCacheResource::clearStorageID): 21637 * loader/appcache/ApplicationCacheStorage.cpp: 21638 (WebCore::ApplicationCacheStorage::empty): 21639 * loader/appcache/ApplicationCacheStorage.h: 21640 21641 2008-05-12 Anders Carlsson <andersca (a] apple.com> 21642 21643 Reviewed by John. 21644 21645 Don't throw an exception if the string passed in is an invalid URL. 21646 21647 * loader/appcache/DOMApplicationCache.cpp: 21648 (WebCore::DOMApplicationCache::remove): 21649 21650 2008-05-12 Anders Carlsson <andersca (a] apple.com> 21651 21652 Reviewed by Mitz. 21653 21654 Add the variable enums for getting the input vtables. 21655 21656 * bridge/npapi.h: 21657 21658 2008-05-12 Adam Roben <aroben (a] apple.com> 21659 21660 Windows build fix 21661 21662 * WebCorePrefix.cpp: Touched this so that it will rebuild now that 21663 ENABLE_CROSS_DOCUMENT_MESSAGING has been removed. 21664 21665 2008-05-12 Alexey Proskuryakov <ap (a] webkit.org> 21666 21667 Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify 21668 SquirrelFish merging. 21669 21670 * bindings/js/GCController.cpp: 21671 (WebCore::collect): 21672 (WebCore::GCController::gcTimerFired): 21673 (WebCore::GCController::garbageCollectNow): 21674 * bindings/js/JSAudioConstructor.cpp: 21675 (WebCore::JSAudioConstructor::JSAudioConstructor): 21676 * bindings/js/JSCSSRuleCustom.cpp: 21677 (WebCore::toJS): 21678 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 21679 (WebCore::JSCSSStyleDeclaration::nameGetter): 21680 * bindings/js/JSCSSValueCustom.cpp: 21681 (WebCore::toJS): 21682 * bindings/js/JSCanvasPixelArrayCustom.cpp: 21683 (WebCore::JSCanvasPixelArray::indexGetter): 21684 (WebCore::toJS): 21685 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 21686 (WebCore::toJS): 21687 * bindings/js/JSClipboardCustom.cpp: 21688 (WebCore::JSClipboard::types): 21689 (WebCore::JSClipboard::getData): 21690 * bindings/js/JSCustomXPathNSResolver.cpp: 21691 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 21692 * bindings/js/JSDOMApplicationCacheCustom.cpp: 21693 (WebCore::JSDOMApplicationCache::addEventListener): 21694 (WebCore::JSDOMApplicationCache::removeEventListener): 21695 (WebCore::JSDOMApplicationCache::setOnchecking): 21696 (WebCore::JSDOMApplicationCache::setOnerror): 21697 (WebCore::JSDOMApplicationCache::setOnnoupdate): 21698 (WebCore::JSDOMApplicationCache::setOndownloading): 21699 (WebCore::JSDOMApplicationCache::setOnprogress): 21700 (WebCore::JSDOMApplicationCache::setOnupdateready): 21701 (WebCore::JSDOMApplicationCache::setOncached): 21702 * bindings/js/JSDOMWindowBase.cpp: 21703 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 21704 (WebCore::JSDOMWindowBase::getValueProperty): 21705 (WebCore::JSDOMWindowBase::setListener): 21706 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): 21707 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): 21708 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): 21709 (WebCore::windowProtoFuncAToB): 21710 (WebCore::windowProtoFuncBToA): 21711 (WebCore::windowProtoFuncSetTimeout): 21712 (WebCore::windowProtoFuncSetInterval): 21713 (WebCore::windowProtoFuncAddEventListener): 21714 * bindings/js/JSDOMWindowBase.h: 21715 * bindings/js/JSDOMWindowShell.cpp: 21716 * bindings/js/JSDOMWindowShell.h: 21717 * bindings/js/JSDocumentCustom.cpp: 21718 (WebCore::toJS): 21719 * bindings/js/JSEventCustom.cpp: 21720 (WebCore::toJS): 21721 * bindings/js/JSEventTargetBase.cpp: 21722 (WebCore::jsEventTargetAddEventListener): 21723 * bindings/js/JSEventTargetBase.h: 21724 (WebCore::JSEventTargetPrototype::self): 21725 * bindings/js/JSEventTargetNode.cpp: 21726 (WebCore::JSEventTargetNode::setListener): 21727 * bindings/js/JSHTMLCollectionCustom.cpp: 21728 (WebCore::getNamedItems): 21729 (WebCore::toJS): 21730 * bindings/js/JSHTMLElementWrapperFactory.cpp: 21731 (WebCore::createJSHTMLWrapper): 21732 * bindings/js/JSHTMLFormElementCustom.cpp: 21733 (WebCore::JSHTMLFormElement::nameGetter): 21734 * bindings/js/JSHTMLInputElementBase.cpp: 21735 (WebCore::JSHTMLInputElementBase::getValueProperty): 21736 * bindings/js/JSHTMLOptionElementConstructor.cpp: 21737 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): 21738 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 21739 (WebCore::JSHTMLOptionsCollection::length): 21740 * bindings/js/JSInspectedObjectWrapper.cpp: 21741 (WebCore::JSInspectedObjectWrapper::wrap): 21742 * bindings/js/JSInspectorCallbackWrapper.cpp: 21743 (WebCore::JSInspectorCallbackWrapper::wrap): 21744 * bindings/js/JSLocationCustom.cpp: 21745 (WebCore::JSLocation::toString): 21746 * bindings/js/JSNamedNodesCollection.cpp: 21747 (WebCore::JSNamedNodesCollection::lengthGetter): 21748 * bindings/js/JSNavigatorCustom.cpp: 21749 (WebCore::JSNavigator::appVersion): 21750 * bindings/js/JSNodeCustom.cpp: 21751 (WebCore::toJS): 21752 * bindings/js/JSNodeFilterCustom.cpp: 21753 (WebCore::JSNodeFilter::acceptNode): 21754 * bindings/js/JSRGBColor.cpp: 21755 (WebCore::getJSRGBColor): 21756 * bindings/js/JSSQLResultSetRowListCustom.cpp: 21757 (WebCore::JSSQLResultSetRowList::item): 21758 * bindings/js/JSSVGElementWrapperFactory.cpp: 21759 (WebCore::createJSSVGWrapper): 21760 * bindings/js/JSSVGLazyEventListener.cpp: 21761 (WebCore::JSSVGLazyEventListener::eventParameterName): 21762 * bindings/js/JSStorageCustom.cpp: 21763 (WebCore::JSStorage::nameGetter): 21764 * bindings/js/JSStyleSheetCustom.cpp: 21765 (WebCore::toJS): 21766 * bindings/js/JSXMLHttpRequestConstructor.cpp: 21767 (WebCore::JSXMLHttpRequestConstructor::construct): 21768 * bindings/js/JSXMLHttpRequestCustom.cpp: 21769 (WebCore::JSXMLHttpRequest::setOnreadystatechange): 21770 (WebCore::JSXMLHttpRequest::setOnload): 21771 (WebCore::JSXMLHttpRequest::setOnprogress): 21772 (WebCore::JSXMLHttpRequest::getResponseHeader): 21773 (WebCore::JSXMLHttpRequest::addEventListener): 21774 (WebCore::JSXMLHttpRequest::removeEventListener): 21775 * bindings/js/JSXSLTProcessorConstructor.cpp: 21776 (WebCore::JSXSLTProcessorConstructor::construct): 21777 * bindings/js/JSXSLTProcessorCustom.cpp: 21778 (WebCore::JSXSLTProcessor::getParameter): 21779 * bindings/js/kjs_binding.cpp: 21780 (WebCore::jsStringOrNull): 21781 (WebCore::jsOwnedStringOrNull): 21782 (WebCore::jsStringOrUndefined): 21783 (WebCore::jsStringOrFalse): 21784 (WebCore::nonCachingStaticFunctionGetter): 21785 (WebCore::objectToStringFunctionGetter): 21786 * bindings/js/kjs_binding.h: 21787 (WebCore::DOMObject::DOMObject): 21788 (WebCore::cacheDOMObject): 21789 (WebCore::cacheSVGDOMObject): 21790 * bindings/js/kjs_events.cpp: 21791 (WebCore::JSLazyEventListener::eventParameterName): 21792 (WebCore::JSLazyEventListener::parseCode): 21793 * bindings/js/kjs_html.cpp: 21794 (WebCore::getRuntimeObject): 21795 * bindings/scripts/CodeGeneratorJS.pm: 21796 * bridge/c/c_instance.cpp: 21797 (KJS::Bindings::CInstance::defaultValue): 21798 (KJS::Bindings::CInstance::stringValue): 21799 (KJS::Bindings::CInstance::numberValue): 21800 (KJS::Bindings::CInstance::valueOf): 21801 * bridge/c/c_instance.h: 21802 * bridge/c/c_utility.cpp: 21803 (KJS::Bindings::convertNPVariantToValue): 21804 * bridge/jni/jni_instance.cpp: 21805 (JavaInstance::stringValue): 21806 (JavaInstance::numberValue): 21807 (JavaInstance::invokeMethod): 21808 (JavaInstance::defaultValue): 21809 (JavaInstance::valueOf): 21810 * bridge/jni/jni_instance.h: 21811 * bridge/jni/jni_jsobject.h: 21812 * bridge/jni/jni_jsobject.mm: 21813 (JavaJSObject::call): 21814 (JavaJSObject::setMember): 21815 (JavaJSObject::setSlot): 21816 (JavaJSObject::convertJObjectToValue): 21817 (JavaJSObject::getListFromJArray): 21818 * bridge/jni/jni_objc.mm: 21819 (KJS::Bindings::dispatchJNICall): 21820 * bridge/jni/jni_runtime.cpp: 21821 (JavaArray::convertJObjectToArray): 21822 (JavaField::dispatchValueFromInstance): 21823 (JavaField::valueFromInstance): 21824 (JavaField::dispatchSetValueToInstance): 21825 (JavaArray::valueAt): 21826 * bridge/jni/jni_utility.h: 21827 * bridge/objc/objc_class.mm: 21828 (KJS::Bindings::ObjcClass::fallbackObject): 21829 * bridge/objc/objc_instance.h: 21830 * bridge/objc/objc_instance.mm: 21831 (ObjcInstance::defaultValue): 21832 (ObjcInstance::stringValue): 21833 (ObjcInstance::numberValue): 21834 (ObjcInstance::valueOf): 21835 * bridge/objc/objc_utility.h: 21836 * bridge/objc/objc_utility.mm: 21837 (KJS::Bindings::convertNSStringToString): 21838 (KJS::Bindings::convertObjcValueToValue): 21839 * bridge/qt/qt_class.cpp: 21840 (KJS::Bindings::QtClass::fallbackObject): 21841 * bridge/qt/qt_instance.cpp: 21842 (KJS::Bindings::QtRuntimeObjectImp::construct): 21843 (KJS::Bindings::QtInstance::getRuntimeObject): 21844 (KJS::Bindings::QtInstance::invokeDefaultMethod): 21845 (KJS::Bindings::QtInstance::defaultValue): 21846 (KJS::Bindings::QtInstance::stringValue): 21847 (KJS::Bindings::QtInstance::numberValue): 21848 (KJS::Bindings::QtInstance::valueOf): 21849 * bridge/qt/qt_instance.h: 21850 * bridge/qt/qt_runtime.cpp: 21851 (KJS::Bindings::convertValueToQVariant): 21852 (KJS::Bindings::convertQVariantToValue): 21853 (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter): 21854 (KJS::Bindings::QtRuntimeMetaMethod::connectGetter): 21855 (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter): 21856 (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter): 21857 (KJS::Bindings::QtConnectionObject::execute): 21858 * bridge/runtime.cpp: 21859 (KJS::Bindings::Instance::createRuntimeObject): 21860 * bridge/runtime.h: 21861 (KJS::Bindings::Instance::valueOf): 21862 * bridge/runtime_array.cpp: 21863 (RuntimeArray::lengthGetter): 21864 * bridge/runtime_method.cpp: 21865 (RuntimeMethod::lengthGetter): 21866 * bridge/runtime_object.cpp: 21867 (RuntimeObjectImp::RuntimeObjectImp): 21868 (RuntimeObjectImp::methodGetter): 21869 (RuntimeObjectImp::defaultValue): 21870 * xml/XMLHttpRequest.cpp: 21871 (WebCore::XMLHttpRequest::dropProtection): 21872 21873 2008-05-11 Robin Dunn <robin (a] alldunn.com> 21874 21875 Reviewed by Kevin Ollivier. 21876 21877 Since wx popup menus dismiss themselves when an item is selected we need to 21878 call hidePopup so webkit's internal state is correct. 21879 21880 https://bugs.webkit.org/show_bug.cgi?id=19000 21881 21882 * platform/wx/PopupMenuWx.cpp: 21883 (WebCore::PopupMenu::OnMenuItemSelected): 21884 (WebCore::PopupMenu::hide): 21885 21886 2008-05-11 Sam Weinig <sam (a] webkit.org> 21887 21888 Reviewed by Mark Rowe. 21889 21890 Move some generic parsing functions into a new ParserUtilities header so that 21891 they can be used for non-SVG builds too. 21892 21893 * WebCore.vcproj/WebCore.vcproj: 21894 * WebCore.xcodeproj/project.pbxproj: 21895 * platform/text/ParserUtilities.h: Added. 21896 (WebCore::skipString): 21897 * svg/SVGParserUtilities.h: 21898 (WebCore::isWhitespace): 21899 (WebCore::skipOptionalSpaces): 21900 (WebCore::skipOptionalSpacesOrDelimiter): 21901 21902 2008-05-11 Sam Weinig <sam (a] webkit.org> 21903 21904 Reviewed by Dan Bernstein. 21905 21906 Add scaffolding for the implementation of Access Control for Cross-site Requests. 21907 21908 * GNUmakefile.am: 21909 * WebCore.pro: 21910 * WebCore.vcproj/WebCore.vcproj: 21911 * WebCore.xcodeproj/project.pbxproj: 21912 * WebCoreSources.bkl: 21913 * xml/AccessControlList.cpp: Added. 21914 (WebCore::AccessControlList::AccessControlList): 21915 (WebCore::AccessControlList::~AccessControlList): 21916 (WebCore::AccessControlList::parseAccessControlHeader): 21917 (WebCore::AccessControlList::checkOrigin): 21918 * xml/AccessControlList.h: Added. 21919 * xml/AccessItem.cpp: Added. 21920 (WebCore::AccessItem::AccessItem): 21921 (WebCore::AccessItem::parseAccessItem): 21922 (WebCore::AccessItem::matches): 21923 * xml/AccessItem.h: Added. 21924 * xml/AccessItemRule.cpp: Added. 21925 (WebCore::AccessItemRule::AccessItemRule): 21926 (WebCore::AccessItemRule::parseAccessItemRule): 21927 * xml/AccessItemRule.h: Added. 21928 21929 2008-05-11 Julien Chaffraix <jchaffraix (a] webkit.org> 21930 21931 Debug build fix. 21932 21933 * loader/appcache/ApplicationCache.cpp: Include stdio.h 21934 as we are using printf in ApplicationCache::dump(). 21935 21936 2008-05-10 Dan Bernstein <mitz (a] apple.com> 21937 21938 Reviewed by Jessica Kahn. 21939 21940 - add a copy assignment operator to FontPlatformData on Mac to properly 21941 retain the m_font data member. 21942 21943 * platform/graphics/mac/FontPlatformData.h: 21944 * platform/graphics/mac/FontPlatformDataMac.mm: 21945 (WebCore::FontPlatformData::FontPlatformData): 21946 (WebCore::~FontPlatformData): 21947 (WebCore::FontPlatformData::operator=): 21948 (WebCore::FontPlatformData::setFont): 21949 21950 2008-05-10 Adele Peterson <adele (a] apple.com> 21951 21952 Reviewed by Tim Hatcher. 21953 21954 Fix crash for WebKit clients that don't set a group name for the WebView/Page. 21955 21956 * page/PageGroup.cpp: (WebCore::PageGroup::PageGroup): Instead of adding the Page directly to the group, 21957 call the addPage method, since it does extra work initializing m_localStorage. 21958 21959 2008-05-09 Sam Weinig <sam (a] webkit.org> 21960 21961 Reviewed by Mark Rowe. 21962 21963 Fix for https://bugs.webkit.org/show_bug.cgi?id=18958 21964 NULL pointer dereference in NamedAttrMap::setNamedItem 21965 21966 Test: fast/dom/NamedNodeMap-setNamedItem-crash.html 21967 21968 * dom/NamedAttrMap.cpp: 21969 (WebCore::NamedAttrMap::setNamedItem): Null check the argument. 21970 21971 2008-05-09 Kevin McCullough <kmccullough (a] apple.com> 21972 21973 Build fix. 21974 21975 * page/Console.cpp: 21976 (WebCore::Console::profile): 21977 21978 2008-05-09 Sam Weinig <sam (a] webkit.org> 21979 21980 Rubber-stamped by Mark Rowe. 21981 21982 Remove the ENABLE_CROSS_DOCUMENT_MESSAGING #ifdefs. 21983 21984 * Configurations/WebCore.xcconfig: 21985 * WebCore.vcproj/WebCore.vcproj: 21986 * WebCore.vcproj/build-generated-files.sh: 21987 * bindings/js/JSDOMWindowCustom.cpp: 21988 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 21989 (WebCore::JSDOMWindow::postMessage): 21990 * bindings/js/JSEventCustom.cpp: 21991 (WebCore::toJS): 21992 * bindings/objc/DOMEvents.mm: 21993 (+[DOMEvent _wrapEvent:WebCore::]): 21994 * dom/Document.cpp: 21995 (WebCore::Document::createEvent): 21996 * dom/Event.cpp: 21997 (WebCore::Event::isMessageEvent): 21998 * dom/Event.h: 21999 * dom/MessageEvent.cpp: 22000 * dom/MessageEvent.h: 22001 * dom/MessageEvent.idl: 22002 * page/DOMWindow.cpp: 22003 (WebCore::DOMWindow::postMessageTimerFired): 22004 * page/DOMWindow.h: 22005 * page/DOMWindow.idl: 22006 22007 2008-05-09 Adam Barth <abarth-webkit (a] adambarth.com> 22008 22009 Reviewed by Sam Weinig. 22010 22011 https://bugs.webkit.org/show_bug.cgi?id=18771 22012 22013 Make postMessage generate an event on the window instead of the 22014 document. 22015 22016 Test: http/tests/messaging/cross-domain-message-event-dispatch.html 22017 22018 * dom/EventTargetNode.cpp: 22019 (WebCore::EventTargetNode::dispatchWindowEvent): 22020 * dom/EventTargetNode.h: 22021 * page/DOMWindow.cpp: 22022 (WebCore::DOMWindow::postMessageTimerFired): 22023 22024 2008-05-09 Tor Arne Vestb <tavestbo (a] trolltech.com> 22025 22026 Reviewed by Simon. 22027 22028 Replaced all instances of qDebug() with LOG(Media, ...) 22029 in MediaPlayerPrivatePhonon. 22030 22031 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 22032 (WebCore::MediaPlayerPrivate::updateStates): 22033 22034 2008-05-09 Tor Arne Vestb <tavestbo (a] trolltech.com> 22035 22036 Reviewed by Simon 22037 22038 Fix the Qt/Mac build. 22039 22040 * platform/qt/FileSystemQt.cpp: 22041 22042 2008-05-08 Sam Weinig <sam (a] webkit.org> 22043 22044 Reviewed by Anders Carlsson. 22045 22046 Rename the XMLHttpRequestState enum values to match the spec. 22047 22048 * xml/XMLHttpRequest.cpp: 22049 (WebCore::XMLHttpRequest::responseXML): 22050 (WebCore::XMLHttpRequest::XMLHttpRequest): 22051 (WebCore::XMLHttpRequest::callReadyStateChangeListener): 22052 (WebCore::XMLHttpRequest::open): 22053 (WebCore::XMLHttpRequest::send): 22054 (WebCore::XMLHttpRequest::abort): 22055 (WebCore::XMLHttpRequest::setRequestHeader): 22056 (WebCore::XMLHttpRequest::getAllResponseHeaders): 22057 (WebCore::XMLHttpRequest::getResponseHeader): 22058 (WebCore::XMLHttpRequest::status): 22059 (WebCore::XMLHttpRequest::statusText): 22060 (WebCore::XMLHttpRequest::processSyncLoadResults): 22061 (WebCore::XMLHttpRequest::didFinishLoading): 22062 (WebCore::XMLHttpRequest::didReceiveData): 22063 * xml/XMLHttpRequest.h: 22064 22065 2008-05-08 Dan Bernstein <mitz (a] apple.com> 22066 22067 Reviewed by Mark Rowe. 22068 22069 - fix https://bugs.webkit.org/show_bug.cgi?id=18818 22070 <rdar://problem/5901544> REGRESSION (3.1.1-TOT): Character order (float:left ordered after the first letter) 22071 22072 Test: fast/css/first-letter-float-after-float.html 22073 22074 * rendering/RenderBlock.cpp: 22075 (WebCore::RenderBlock::updateFirstLetter): Changed to add the first 22076 letter container right before the rest of the text it is taken from, 22077 instead of at the beginning of the block. 22078 22079 2008-05-08 Chris Fleizach <cfleizach (a] apple.com> 22080 22081 Reviewed by Darin Adler. 22082 22083 <rdar://problem/5921046> AX: list box options have wrong AXPosition 22084 22085 * page/AccessibilityObject.cpp: 22086 (WebCore::AccessibilityObject::documentFrameView): 22087 * page/AccessibilityObject.h: 22088 22089 2008-05-08 Julien Chaffraix <jchaffraix (a] webkit.org> 22090 22091 Reviewed by Eric. 22092 22093 Bug 18916: make_names.pl --factory needs to support custom c++ guard 22094 22095 Add --guardFactoryWith to handle the cpp guard around generated factories. 22096 22097 * DerivedSources.make: Set the guardFactoryWith variable for SVG factory. 22098 * GNUmakefile.am: Ditto. 22099 * WebCore.pro: Ditto. 22100 * dom/make_names.pl: Add guardFactoryWith option. 22101 22102 2008-05-08 Julien Chaffraix <jchaffraix (a] webkit.org> 22103 22104 Reviewed by Adam Roben. 22105 22106 wx & Gtk build fix. 22107 22108 Should also fix the cURL backend for the Windows port. 22109 22110 * WebCore.vcproj/WebCore.vcproj: Add FormDataStreamCurl information. 22111 * platform/network/curl/FormDataStreamCurl.h: Include stdio.h which 22112 fixes the build on some machine. 22113 22114 * webcore-wx.bkl: Add FormDataStreamCurl.cpp. 22115 22116 2008-05-08 Timothy Hatcher <timothy (a] apple.com> 22117 22118 Fixes the bug where the Web Inspector could not 22119 find any localization strings. 22120 22121 Reviewed by Mark Rowe. 22122 22123 * WebCore.xcodeproj/project.pbxproj: Add the localizedStrings.js 22124 file to the WebCore Copy Resources phase. Also removes an idl from 22125 the Copy Resources phase. 22126 22127 2008-05-08 Dan Bernstein <mitz (a] apple.com> 22128 22129 Reviewed by Adam Roben. 22130 22131 - fix <rdar://problem/5697957> "No recent searches" label in a narrow search field's history popup is truncated 22132 22133 * platform/win/PopupMenuWin.cpp: 22134 (WebCore::PopupMenu::calculatePositionAndSize): Changed to use a bold 22135 font for measuring labels. 22136 22137 2008-05-08 Dan Bernstein <mitz (a] apple.com> 22138 22139 Reviewed by Geoffrey Garen. 22140 22141 - cross-platform fix for http://bugs.webkit.org/show_bug.cgi?id=17590 22142 ASSERTION FAILED: subject in jsRegExpExecute() 22143 22144 * page/Frame.cpp: 22145 (WebCore::Frame::matchLabelsAgainstElement): 22146 22147 2008-05-08 Holger Hans Peter Freyther <zecke (a] selfish.org> 22148 22149 Reviewed by Simon. 22150 22151 Simple ImageBuffer::image implementation. 22152 22153 In contrast to cg and cairo we do not use a special BitmapImage because 22154 the ownership of the FrameData inside the BitmapImage is a bit backward 22155 (actually owned by the ImageDecoderQt...). Further work is needed for image 22156 and pixmap handling in the qt port... 22157 22158 * WebCore.pro: 22159 * platform/graphics/ImageBuffer.h: 22160 * platform/graphics/qt/ImageBufferQt.cpp: 22161 (WebCore::ImageBuffer::image): 22162 * platform/graphics/qt/ImageQt.cpp: 22163 * platform/graphics/qt/StillImageQt.cpp: Added. 22164 (WebCore::StillImage::StillImage): 22165 (WebCore::StillImage::size): 22166 (WebCore::StillImage::getPixmap): 22167 (WebCore::StillImage::draw): 22168 * platform/graphics/qt/StillImageQt.h: Added. 22169 22170 2008-05-08 Holger Hans Peter Freyther <zecke (a] selfish.org> 22171 22172 Reviewed by Simon. 22173 22174 Update the WebKit.qrc of the inspector to be functional again 22175 22176 * page/inspector/WebKit.qrc: 22177 22178 2008-05-08 Tor Arne Vestb <tavestbo (a] trolltech.com> 22179 22180 Reviewed by Simon 22181 22182 Fix the Qt/Mac build. 22183 22184 * platform/FileSystem.h: 22185 22186 2008-05-08 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 22187 22188 Reviewed by Simon. 22189 22190 Use native Windows library handling (instead of QLibrary) 22191 for Qt/Win32's PlatformModule. 22192 22193 * platform/FileSystem.h: 22194 (WebCore::PlatformModuleVersion::PlatformModuleVersion): 22195 * platform/qt/FileSystemQt.cpp: 22196 (WebCore::unloadModule): 22197 22198 2008-05-08 Simon Hausmann <hausmann (a] webkit.org> 22199 22200 Reviewed and found by Holger. 22201 22202 Include .css in the list of extensions for text/css. Fixes 22203 fast/loader/local-css-allowed-in-strict-mode.html. 22204 22205 * platform/qt/MIMETypeRegistryQt.cpp: 22206 22207 2008-05-08 Simon Hausmann <hausmann (a] webkit.org> 22208 22209 Fix the Qt and Wx build when compiling without offline app support. 22210 22211 * loader/FrameLoader.cpp: 22212 (WebCore::FrameLoader::canCachePage): 22213 22214 2008-05-07 Sam Weinig <sam (a] webkit.org> 22215 22216 Reviewed by Adele Peterson 22217 22218 Update MessageEvent to match the latest version of the HTML5 spec, 22219 adding the lastEventId attribute. 22220 22221 * dom/MessageEvent.cpp: 22222 (WebCore::MessageEvent::MessageEvent): 22223 (WebCore::MessageEvent::initMessageEvent): 22224 * dom/MessageEvent.h: 22225 (WebCore::MessageEvent::lastEventId): 22226 * dom/MessageEvent.idl: 22227 * page/DOMWindow.cpp: 22228 (WebCore::DOMWindow::postMessage): 22229 22230 2008-05-07 Stephanie Lewis <slewis (a] apple.com> 22231 22232 Reviewed by Maciej. 22233 22234 remove non-functioning code. If onunload should be fired from these nodes then 22235 a WindowEventListener needs to be set. However, Firefox and IE also do not 22236 fire onunload events for these cases. 22237 22238 Test: fast/events/onunload-not-on-body.html 22239 22240 * html/HTMLFrameElementBase.cpp: 22241 (WebCore::HTMLFrameElementBase::parseMappedAttribute): 22242 * html/HTMLObjectElement.cpp 22243 (WebCore::HTMLObjectElement::parseMappedAttribute): 22244 22245 2008-05-07 Dan Bernstein <mitz (a] apple.com> 22246 22247 Reviewed by John Sullivan. 22248 22249 - fix https://bugs.webkit.org/show_bug.cgi?id=18909 22250 <rdar://problem/5914165> REGRESSION (r31872-r31878): Viewed photos not closing completely at indycar.com 22251 22252 Test: fast/dynamic/positioned-movement-with-positioned-children.html 22253 22254 * rendering/RenderBlock.cpp: 22255 (WebCore::RenderBlock::layoutOnlyPositionedObjects): Cover the case of 22256 a positioned object that has only moved and has only positioned children 22257 that have changed. 22258 * rendering/RenderObject.h: 22259 (WebCore::RenderObject::needsPositionedMovementLayout): Added this 22260 accessor. 22261 22262 2008-05-07 Anders Carlsson <andersca (a] apple.com> 22263 22264 Reviewed by John. 22265 22266 When no document loaders are associated with an application cache group, 22267 release the reference to the newest cache group. This prevents reference cycles. 22268 22269 * loader/appcache/ApplicationCacheGroup.cpp: 22270 (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): 22271 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): 22272 (WebCore::ApplicationCacheGroup::cacheDestroyed): 22273 * loader/appcache/ApplicationCacheGroup.h: 22274 22275 * loader/appcache/ApplicationCacheStorage.cpp: 22276 (WebCore::ApplicationCacheStorage::cacheGroupForURL): 22277 Return early if the datbase wasn't open. 22278 22279 (WebCore::ApplicationCacheStorage::loadCache): 22280 Add error. 22281 22282 2008-05-07 Anders Carlsson <andersca (a] apple.com> 22283 22284 Reviewed by Adam. 22285 22286 Don't put pages with an application cache in the BF cache. 22287 22288 * loader/FrameLoader.cpp: 22289 (WebCore::FrameLoader::canCachePage): 22290 22291 2008-05-07 Justin Garcia <justin.garcia (a] apple.com> 22292 22293 Reviewed by John Sullivan. 22294 22295 <rdar://problem/5666354> Crashes in Mail at WebCore::RemoveNodeCommand::doApply 22296 22297 When a single tab or series of tabs was copied, we weren't putting them into a 22298 tab span. On Paste, we would be given a text node with a single tab or series 22299 of tabs in it, and we would crash when inserting it at the start of a block 22300 (where that kind of text becomes completely unrendered). 22301 22302 * editing/ReplaceSelectionCommand.cpp: 22303 (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Clean 22304 up correctly and early return if we removed everything that was inserted. 22305 * editing/markup.cpp: 22306 (WebCore::createMarkup): Include the tab span when the only thing copied 22307 was a tab or a series of tabs. 22308 22309 2008-05-07 Julien Chaffraix <jchaffraix (a] webkit.org> 22310 22311 Reviewed by Adam Roben. 22312 22313 wx & Gtk build fix. 22314 22315 * platform/network/curl/FormDataStreamCurl.cpp: Added stdint.h include. We need to define 22316 __STDC_LIMIT_MACROS to have SIZE_MAX exported. 22317 * platform/network/curl/FormDataStreamCurl.h: Removed cstdint include (replaced by stdint.h) 22318 as it is not present on the build bots. 22319 * plugins/gtk/PluginDatabaseGtk.cpp: Added missing #endif. 22320 22321 2008-05-07 David Kilzer <ddkilzer (a] apple.com> 22322 22323 Bug 18900: Password field has focus but can't type text (i.rememberthemilk.com) 22324 <https://bugs.webkit.org/show_bug.cgi?id=18900> 22325 <rdar://problem/5912383> 22326 22327 Original patch by Aaron Golden and Tim Omernick. Reviewed by Adele. 22328 22329 Test: fast/forms/textfield-to-password-on-focus.html 22330 22331 * html/HTMLInputElement.cpp: 22332 (WebCore::HTMLInputElement::setInputType): If the current node has 22333 focus, call updateFocusAppearance() to make sure its state is correct 22334 after changing its type. 22335 22336 2008-05-07 Chris Fleizach <cfleizach (a] apple.com> 22337 22338 Reviewed by Alice Liu 22339 22340 <rdar://problem/4867889> REGRESSION: "Choose File.." buttons are exposed as AXGroup instead of AXButton 22341 22342 * page/AccessibilityObject.h: 22343 (WebCore::AccessibilityObject::isFileUploadButton): 22344 * page/AccessibilityRenderObject.cpp: 22345 (WebCore::AccessibilityRenderObject::isFileUploadButton): 22346 (WebCore::AccessibilityRenderObject::actionElement): 22347 (WebCore::AccessibilityRenderObject::textUnderElement): 22348 (WebCore::AccessibilityRenderObject::stringValue): 22349 (WebCore::AccessibilityRenderObject::roleValue): 22350 * page/AccessibilityRenderObject.h: 22351 * rendering/RenderFileUploadControl.cpp: 22352 (WebCore::RenderFileUploadControl::buttonValue): 22353 (WebCore::RenderFileUploadControl::fileTextValue): 22354 * rendering/RenderFileUploadControl.h: 22355 22356 2008-05-07 Julien Chaffraix <jchaffraix (a] webkit.org> 22357 22358 Reviewed by Eric. 22359 22360 Bug 17971: [Curl] FormData processing should be moved to its own class 22361 22362 Move FormData treatment into FormDataStream. The aim is to have FormDataStream behave like a stream that cURL 22363 could manipulate. 22364 22365 First step into having complete file uploading facility in cURL. 22366 22367 No test case as it is only code refactoring. 22368 22369 * GNUmakefile.am: Add FormDataStreamCurl.cpp 22370 * platform/network/ResourceHandleInternal.h: Move code to FormStreamDataCurl.h 22371 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 22372 * platform/network/curl/FormDataStreamCurl.cpp: Added. 22373 (WebCore::FormDataStream::~FormDataStream): 22374 (WebCore::FormDataStream::read): 22375 * platform/network/curl/FormDataStreamCurl.h: Added. 22376 (WebCore::FormDataStream::FormDataStream): 22377 * platform/network/curl/ResourceHandleCurl.cpp: 22378 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 22379 * platform/network/curl/ResourceHandleManager.cpp: 22380 (WebCore::readCallback): Move code to FormDataStreamCurl.cpp 22381 22382 2008-05-07 Adam Treat <treat (a] kde.org> 22383 22384 Reviewed by Simon. 22385 22386 https://bugs.webkit.org/show_bug.cgi?id=18898 22387 22388 Fixed wrong transform being used for creating the pixmap for a new 22389 transparency layer. This fixes the popup menus on dell.com. 22390 22391 * platform/graphics/qt/GraphicsContextQt.cpp: 22392 (WebCore::GraphicsContext::beginTransparencyLayer): 22393 22394 2008-05-07 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 22395 22396 Reviewed by Simon. 22397 22398 Share the plug-in directories between Gtk and Qt/X11 port. 22399 22400 * platform/qt/FileSystemQt.cpp: 22401 (WebCore::homeDirectoryPath): Implement it for Qt. 22402 * plugins/PluginDatabase.cpp: 22403 (WebCore::addMozillaPluginDirectories): Shared code. 22404 (WebCore::PluginDatabase::defaultPluginDirectories): 22405 (WebCore::PluginDatabase::isPreferredPluginDirectory): Shared code. 22406 * plugins/gtk/PluginDatabaseGtk.cpp: 22407 (WebCore::PluginDatabase::isPreferredPluginDirectory): Refactored. 22408 * plugins/qt/PluginDatabaseQt.cpp: Refactored. 22409 22410 2008-05-07 Tor Arne Vestb <tavestbo (a] trolltech.com> 22411 22412 Reviewed by Simon 22413 22414 Fix build issues on Mac and refeactor the .pro file a bit. 22415 22416 * WebCore.pro: 22417 * platform/qt/TemporaryLinkStubs.cpp: 22418 (PluginPackage::fetchInfo): 22419 22420 2008-05-07 Tor Arne Vestb <tavestbo (a] trolltech.com> 22421 22422 Reviewed by Simon 22423 22424 Draw scrollview corners (between scrollbars) using the Qt style. 22425 22426 https://bugs.webkit.org/show_bug.cgi?id=18894 22427 22428 * platform/qt/ScrollViewQt.cpp: 22429 (WebCore::drawScrollbarCorner): 22430 (WebCore::ScrollView::paint): 22431 22432 2008-05-07 Simon Hausmann <hausmann (a] webkit.org> 22433 22434 Fix the Qt build, added AccessibilityListBox and ListBoxOption.cpp to 22435 the build. 22436 22437 * WebCore.pro: 22438 22439 2008-05-07 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 22440 22441 Rubber-stamped by Holger. 22442 22443 Fix building without storage support. 22444 22445 * page/PageGroup.cpp: 22446 (WebCore::PageGroup::closeLocalStorage): proper #if 22447 22448 2008-05-07 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 22449 22450 Rubber-stamped by Oliver Hunt. 22451 22452 Fix building without accessibility. 22453 22454 * page/AXObjectCache.cpp: 22455 (WebCore::AXObjectCache::selectedChildrenChanged): proper #if 22456 22457 2008-05-06 Dan Bernstein <mitz (a] apple.com> 22458 22459 Reviewed by Darin Adler. 22460 22461 - fix <rdar://problem/5914544> Crash in layoutInlineChildren() 22462 22463 Test: fast/block/float/float-on-zero-height-line.html 22464 22465 * rendering/RenderBlock.cpp: 22466 (WebCore::RenderBlock::markLinesDirtyInVerticalRange): 22467 22468 2008-05-06 Alice Liu <alice.liu (a] apple.com> 22469 22470 Reviewed by Adele Peterson and John Sullivan. 22471 22472 changes needed to build on Windows after r32911 and r32927 22473 22474 * WebCore.vcproj/WebCore.vcproj: 22475 * page/AXObjectCache.cpp: 22476 (WebCore::AXObjectCache::selectedChildrenChanged): 22477 * page/AccessibilityObject.h: 22478 (WebCore::AccessibilityObject::document): 22479 (WebCore::AccessibilityObject::topDocumentFrameView): 22480 (WebCore::AccessibilityObject::documentFrameView): 22481 * page/AccessibilityRenderObject.cpp: 22482 (WebCore::AccessibilityRenderObject::document): 22483 (WebCore::AccessibilityRenderObject::topDocumentFrameView): 22484 (WebCore::AccessibilityRenderObject::documentFrameView): 22485 * page/AccessibilityRenderObject.h: 22486 * page/mac/AXObjectCacheMac.mm: 22487 * page/mac/AccessibilityObjectWrapper.mm: 22488 (-[AccessibilityObjectWrapper position]): 22489 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 22490 22491 2008-05-06 Brady Eidson <beidson (a] apple.com> 22492 22493 Reviewed by Sam Weinig 22494 22495 Fix a few bugs with the final sync'ing of LocalStorageAreas when the thread is shut down. 22496 1 - A sync task actually needs to be scheduled for each LocalStorageArea when the shut down occurs. 22497 2 - Pending sync timers all need to be cancelled. 22498 22499 * storage/LocalStorage.cpp: 22500 (WebCore::LocalStorage::storageArea): 22501 (WebCore::LocalStorage::close): Tell each LocalStorageArea to schedule it's final sync before scheduling 22502 thread termination. 22503 * storage/LocalStorage.h: Change the map to be of LocalStorageAreas instead of StorageAreas 22504 22505 * storage/LocalStorageArea.cpp: 22506 (WebCore::LocalStorageArea::LocalStorageArea): 22507 (WebCore::LocalStorageArea::~LocalStorageArea): ASSERT the timer has been cancelled, but make SURE it is 22508 in release builds. 22509 (WebCore::LocalStorageArea::scheduleFinalSync): Cancel the sync timer, schedule the final sync, and set the 22510 "final sync scheduled" flag 22511 (WebCore::LocalStorageArea::scheduleItemForSync): ASSERT that the final sync hasn't already been scheduled 22512 (WebCore::LocalStorageArea::scheduleClear): Ditto 22513 * storage/LocalStorageArea.h: 22514 22515 2008-05-06 Kevin Ollivier <kevino (a] theolliviers.com> 22516 22517 wx build fix. Adding files added in r32925 to the bakefiles. 22518 22519 * WebCoreSources.bkl: 22520 22521 2008-05-06 Alp Toker <alp (a] nuanti.com> 22522 22523 GTK+ build fix. Add empty stub to keep non-accessible ports building. 22524 22525 * page/AXObjectCache.h: 22526 (WebCore::AXObjectCache::selectedChildrenChanged): 22527 22528 2008-05-06 Beth Dakin <bdakin (a] apple.com> 22529 22530 Reviewed by Darin. 22531 22532 Fix for <rdar://problem/5907916> Implement 'aria-labeledby' and 22533 'aria-describedby' attributes. 22534 22535 * html/HTMLAttributeNames.in: Added new attributes. Added both the 22536 British spelling (since that is what is specified in the spec), and 22537 the American spelling (since the bug filer and I are two Americans 22538 who keep spelling it the American way by accident). 22539 * page/AccessibilityObject.cpp: Added empty wrappers. These 22540 functions can't do anything meaningful without a renderer. 22541 (WebCore::AccessibilityObject::ariaAccessiblityName): 22542 (WebCore::AccessibilityObject::ariaLabeledByAttribute): 22543 (WebCore::AccessibilityObject::ariaDescribedByAttribute): 22544 * page/AccessibilityObject.h: 22545 22546 Here is where the real work is done. 22547 * page/AccessibilityRenderObject.h: 22548 * page/AccessibilityRenderObject.cpp: 22549 (WebCore::accessibleNameForNode): Takes a node and finds its 22550 contribution to the accessible name, as defined by the Mozilla ARIA 22551 Implementer's Guide. 22552 (WebCore::AccessibilityRenderObject::ariaAccessiblityName): Takes a 22553 string of space-separated IDs, fetches the corresponding element 22554 for each ID, and concatenates an accessible name based on the 22555 elements. 22556 (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute): 22557 Retrieve the labeledby attribute and send its contents to 22558 ariaAccessibilityName(). 22559 (WebCore::AccessibilityRenderObject::title): Return the ARIA 22560 labeledby value if one exists. 22561 (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute): 22562 Retrieve the describedby attribute and send its contents to 22563 ariaAccessibilityName(). 22564 (WebCore::AccessibilityRenderObject::accessibilityDescription): 22565 Return the ARIA describedby attribute if one exists. 22566 22567 These are two bugs I spotted. 22568 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Don't 22569 ignore anything with an ARIA role. 22570 (WebCore::AccessibilityRenderObject::roleValue): Button tags maps 22571 to ButtonRole. 22572 22573 2008-05-06 Anders Carlsson <andersca (a] apple.com> 22574 22575 Reviewed by Brady. 22576 22577 Support reading back app caches from the database. 22578 22579 * loader/appcache/ApplicationCache.cpp: 22580 (WebCore::ApplicationCache::ApplicationCache): 22581 Initialize m_storageID to 0. 22582 22583 * loader/appcache/ApplicationCacheGroup.cpp: 22584 (WebCore::ApplicationCacheGroup::cacheDestroyed): 22585 If the cache being destroyed is not the newest cache, it should no longer be 22586 stored in the database. Remove it. 22587 22588 (WebCore::ApplicationCacheGroup::setNewestCache): 22589 Don't store the cache here. 22590 22591 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): 22592 Store it here instead. 22593 22594 * loader/appcache/ApplicationCacheStorage.cpp: 22595 (WebCore::ApplicationCacheStorage::loadCacheGroup): 22596 New method that loads a cache group with a given manifest URL (or returns 0 if the load fails). 22597 22598 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): 22599 Search for the group in the database. 22600 22601 (WebCore::ApplicationCacheStorage::loadManifestHostHashes): 22602 New method that loads the host hashes from the database. 22603 22604 (WebCore::ApplicationCacheStorage::cacheGroupForURL): 22605 Search in the database for a cache that contains the resource. 22606 22607 (WebCore::ApplicationCacheStorage::loadCache): 22608 New method that loads a cache with a given ID. 22609 22610 (WebCore::ApplicationCacheStorage::remove): 22611 New method that removes a cache. 22612 22613 * loader/appcache/ApplicationCacheStorage.h: 22614 Add definitions. 22615 22616 2008-05-06 Alp Toker <alp (a] nuanti.com> 22617 22618 Partial GTK+ build fix. Add files from r32925 to the build and replace 22619 'nil' return with 0. 22620 22621 * GNUmakefile.am: 22622 * page/AccessibilityListBoxOption.cpp: 22623 (WebCore::AccessibilityListBoxOption::parentObject): 22624 22625 2008-05-06 Brady Eidson <beidson (a] apple.com> 22626 22627 Reviewed by Anders 22628 22629 Make LocalStorage persistent using a SQLite database. 22630 22631 There's a few things going on here. Whenever an item is changed, we add it to a set of 22632 "items to be sync'ed." Instead of immediately scheduling the sync'ing on the background 22633 thread, we set a "sync timer" instead. This is to shield against a series of rapid changes 22634 to avoid thread churn. 22635 22636 When the sync timer fires, we move the "items to be sync'ed" set to a background thread set 22637 and schedule the sync task which is where the items are actually committed to disk. 22638 22639 Current design for reading items back in from disk is to be as aggressive as possible. 22640 When a page first accesses it's LocalStorage area, we begin to import all items in from disk so 22641 they are immediately available. A future enhancement will be to being this pre-fetching the 22642 moment we start loading a page when we know that page has LocalStorage. 22643 22644 * storage/LocalStorageArea.cpp: 22645 (WebCore::LocalStorageArea::LocalStorageArea): 22646 (WebCore::LocalStorageArea::length): Return the length, or wait for the import to complete then return it. 22647 (WebCore::LocalStorageArea::key): Return the key, or wait for the import to complete then return it. 22648 (WebCore::LocalStorageArea::getItem): Return the item, or wait for the import to complete then return it. 22649 (WebCore::LocalStorageArea::setItem): Set the item, or hold the import lock and set it. The second case is 22650 because if the item is set while the import is still in progress, the new value should override whatever 22651 the imported value is. 22652 (WebCore::LocalStorageArea::removeItem): Remove the item, or hold the import lock and remove it. See the 22653 explanation for setItem() 22654 (WebCore::LocalStorageArea::contains): Return whether or not the item is contained. Do the same dance with 22655 the import flag, import lock, and import condition that the above methods do. 22656 22657 (WebCore::LocalStorageArea::itemChanged): Schedule the item for sync'ing 22658 (WebCore::LocalStorageArea::itemRemoved): Schedule the removal of the item for sync'ing 22659 (WebCore::LocalStorageArea::areaCleared): Schedule the clear for sync'ing, and clear all previously 22660 scheduled items. 22661 22662 (WebCore::LocalStorageArea::scheduleItemForSync): Add an item to the sync set. 22663 (WebCore::LocalStorageArea::scheduleClear): Set a bool flag denoting "All items removed." If any 22664 items are later set before the actual removal takes place, they will be written *after* the removal. 22665 (WebCore::LocalStorageArea::syncTimerFired): Move the current sync-set to the background thread sync set, then 22666 schedule a sync task. Also transfer the "items cleared" flag to the "background thread items cleared" flag 22667 (WebCore::LocalStorageArea::performImport): Import all items from disk, then signal the import complete. 22668 (WebCore::LocalStorageArea::markImported): Set the imported flag and signal the import complete 22669 (WebCore::LocalStorageArea::performSync): If the clear flag is set then drop all items. Then update or delete 22670 each item waiting to be sync'ed 22671 * storage/LocalStorageArea.h: 22672 22673 2008-05-06 Brady Eidson <beidson (a] apple.com> 22674 22675 Rubberstamped by Mitz Pettel RTL 22676 22677 * storage/LocalStorage.cpp: 22678 (WebCore::LocalStorage::fullDatabaseFilename): Filename extensions for localstorage = all lowercase 22679 22680 2008-05-06 Brady Eidson <beidson (a] apple.com> 22681 22682 Reviewed by Darin, Sam Weinig, and Anders 22683 22684 Preparation for upcoming work making LocalStorage persistent. 22685 22686 The final step before code that actually does storage and retrieval of LocalStorage items. 22687 22688 The LocalStorage set is responsible for controlling the path and filenames that individual 22689 LocalStorageAreas will use for their persistent store. This adds the ability to return that 22690 filename. 22691 22692 Also, add the scheduling methods that LocalStorageArea will use for importing and syncing 22693 it's persistent items. 22694 22695 * storage/LocalStorage.cpp: 22696 (WebCore::LocalStorage::storageArea): Add some comments re: the future direction of this 22697 method once we actually do quota tracking. 22698 (WebCore::LocalStorage::fullDatabaseFilename): 22699 (WebCore::LocalStorage::scheduleImport): 22700 (WebCore::LocalStorage::scheduleSync): 22701 * storage/LocalStorage.h: 22702 22703 2008-05-06 Chris Fleizach <cfleizach (a] apple.com> 22704 22705 Reviewed by Beth Dakin. 22706 22707 rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com) 22708 22709 * WebCore.xcodeproj/project.pbxproj: 22710 * html/HTMLOptGroupElement.cpp: 22711 (WebCore::HTMLOptGroupElement::ownerSelectElement): 22712 (WebCore::HTMLOptGroupElement::accessKeyAction): 22713 * html/HTMLOptGroupElement.h: 22714 * html/HTMLOptionElement.cpp: 22715 (WebCore::HTMLOptionElement::accessKeyAction): 22716 (WebCore::HTMLOptionElement::index): 22717 (WebCore::HTMLOptionElement::setSelected): 22718 (WebCore::HTMLOptionElement::childrenChanged): 22719 (WebCore::HTMLOptionElement::ownerSelectElement): 22720 (WebCore::HTMLOptionElement::insertedIntoDocument): 22721 * html/HTMLOptionElement.h: 22722 * html/HTMLSelectElement.cpp: 22723 (WebCore::HTMLSelectElement::childrenChanged): 22724 (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): 22725 * html/HTMLSelectElement.h: 22726 * page/AXObjectCache.cpp: 22727 (WebCore::AXObjectCache::get): 22728 * page/AccessibilityListBox.cpp: Added. 22729 (WebCore::AccessibilityListBox::AccessibilityListBox): 22730 (WebCore::AccessibilityListBox::~AccessibilityListBox): 22731 (WebCore::AccessibilityListBox::create): 22732 (WebCore::AccessibilityListBox::addChildren): 22733 (WebCore::AccessibilityListBox::selectedChildren): 22734 (WebCore::AccessibilityListBox::visibleChildren): 22735 (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject): 22736 (WebCore::AccessibilityListBox::doAccessibilityHitTest): 22737 * page/AccessibilityListBox.h: Added. 22738 (WebCore::AccessibilityListBox::accessibilityShouldUseUniqueId): 22739 (WebCore::AccessibilityListBox::isListBox): 22740 (WebCore::AccessibilityListBox::canSetFocusAttribute): 22741 (WebCore::AccessibilityListBox::roleValue): 22742 (WebCore::AccessibilityListBox::accessibilityIsIgnored): 22743 * page/AccessibilityListBoxOption.cpp: Added. 22744 (WebCore::AccessibilityListBoxOption::AccessibilityListBoxOption): 22745 (WebCore::AccessibilityListBoxOption::~AccessibilityListBoxOption): 22746 (WebCore::AccessibilityListBoxOption::create): 22747 (WebCore::AccessibilityListBoxOption::isEnabled): 22748 (WebCore::AccessibilityListBoxOption::isSelected): 22749 (WebCore::AccessibilityListBoxOption::elementRect): 22750 (WebCore::AccessibilityListBoxOption::title): 22751 (WebCore::AccessibilityListBoxOption::size): 22752 (WebCore::AccessibilityListBoxOption::actionElement): 22753 (WebCore::AccessibilityListBoxOption::parentObject): 22754 (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode): 22755 (WebCore::AccessibilityListBoxOption::listBoxOptionIndex): 22756 * page/AccessibilityListBoxOption.h: Added. 22757 (WebCore::AccessibilityListBoxOption::setHTMLElement): 22758 (WebCore::AccessibilityListBoxOption::roleValue): 22759 (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored): 22760 (WebCore::AccessibilityListBoxOption::isListBoxOption): 22761 * page/AccessibilityObject.h: 22762 (WebCore::AccessibilityObject::isListBox): 22763 * page/AccessibilityRenderObject.cpp: 22764 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): 22765 * page/mac/AccessibilityObjectWrapper.mm: 22766 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 22767 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 22768 * rendering/RenderListBox.cpp: 22769 (WebCore::RenderListBox::selectionChanged): 22770 * rendering/RenderListBox.h: 22771 22772 2008-05-06 Chris Fleizach <cfleizach (a] apple.com> 22773 22774 Reviewed by Beth Dakin. 22775 22776 <rdar://problem/5455287> AXWebArea should include AXURL 22777 22778 * page/AccessibilityRenderObject.cpp: 22779 (WebCore::AccessibilityRenderObject::url): 22780 * page/mac/AccessibilityObjectWrapper.mm: 22781 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 22782 22783 2008-05-06 Alice Liu <alice.liu (a] apple.com> 22784 22785 Rubber-stamped by Beth 22786 22787 stab-in-the-dark attempt at fixing non-mac builds. 22788 22789 * GNUmakefile.am: 22790 * WebCore.pro: 22791 * WebCore.vcproj/WebCore.vcproj: 22792 * WebCoreSources.bkl: 22793 22794 2008-05-06 Anders Carlsson <andersca (a] apple.com> 22795 22796 Reviewed by Adam. 22797 22798 Only use the toplevel application cache when loading subframes. 22799 22800 * loader/MainResourceLoader.cpp: 22801 (WebCore::MainResourceLoader::load): 22802 22803 2008-05-06 Adam Barth <abarth-webkit (a] adambarth.com> 22804 22805 Reviewed by Sam Weinig. 22806 22807 https://bugs.webkit.org/show_bug.cgi?id=18725 22808 Implement asynchronous postMessage. 22809 MessageEvent no longer bubbles as per r1237 in the HTML 5 working draft. 22810 22811 Collin Jackson <collinj-webkit (a] collinjackson.com> also contributed to this patch. 22812 22813 Test: http/tests/security/postMessage/delivery-order.html 22814 22815 * dom/MessageEvent.cpp: 22816 (WebCore::MessageEvent::MessageEvent): 22817 * page/DOMWindow.cpp: 22818 (WebCore::PostMessageTimer::PostMessageTimer): 22819 (WebCore::PostMessageTimer::event): 22820 (WebCore::PostMessageTimer::targetOrigin): 22821 (WebCore::PostMessageTimer::fired): 22822 (WebCore::DOMWindow::postMessage): 22823 (WebCore::DOMWindow::postMessageTimerFired): 22824 * page/DOMWindow.h: 22825 * page/DOMWindow.idl: 22826 22827 2008-05-06 Anders Carlsson <andersca (a] apple.com> 22828 22829 Reviewed by Brady. 22830 22831 Store cache to the database. 22832 22833 * loader/appcache/ApplicationCache.cpp: 22834 (WebCore::ApplicationCache::addResource): 22835 If the cache has been saved to disk, save the resource as well. 22836 22837 * loader/appcache/ApplicationCache.h: 22838 (WebCore::ApplicationCache::onlineWhitelist): 22839 New method which returns the online whitelist. 22840 22841 (WebCore::ApplicationCache::setStorageId): 22842 (WebCore::ApplicationCache::storageId): 22843 Setter/getter for the application cache storage ID. 22844 22845 * loader/appcache/ApplicationCacheGroup.cpp: 22846 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): 22847 Save the cache/group to disk. 22848 22849 * loader/appcache/ApplicationCacheGroup.h: 22850 (WebCore::ApplicationCacheGroup::setStorageID): 22851 (WebCore::ApplicationCacheGroup::storageID): 22852 Setter/getter for the application cache group storage ID. 22853 22854 * loader/appcache/ApplicationCacheResource.cpp: 22855 (WebCore::ApplicationCacheResource::addType): 22856 We can't add a new type if the resource has been saved to disk. 22857 22858 * loader/appcache/ApplicationCacheResource.h: 22859 (WebCore::ApplicationCacheResource::setStorageID): 22860 (WebCore::ApplicationCacheResource::storageID): 22861 Setter/getter for the application cache resource storage ID. 22862 22863 * loader/appcache/ApplicationCacheStorage.cpp: 22864 * loader/appcache/ApplicationCacheStorage.cpp: 22865 (WebCore::ApplicationCacheStorage::executeSQLCommand): 22866 New method for executing SQL and logging any errors. 22867 22868 (WebCore::ApplicationCacheStorage::openDatabase): 22869 Create new tables. 22870 22871 (WebCore::ApplicationCacheStorage::executeStatement): 22872 New method for executing an SQL statement and logging any errors. 22873 22874 (WebCore::ApplicationCacheStorage::store): 22875 New methods for storing a cache group, cache and cache resource to the store. 22876 22877 (WebCore::ApplicationCacheStorage::storeNewestCache): 22878 New method which stores the newest cache and updates the newest cache field in the cache group. 22879 22880 * loader/appcache/ApplicationCacheStorage.h: 22881 Add new methods. 22882 22883 * platform/sql/SQLiteStatement.h: 22884 (WebCore::SQLiteStatement::query): 22885 Getter for the SQL query. 22886 22887 2008-05-06 Brady Eidson <beidson (a] apple.com> 22888 22889 Reviewed by Darin Adler 22890 22891 Preparation for upcoming work making LocalStorage persistent. 22892 22893 Writing persistent values for LocalStorage will take place on a background thread. 22894 Here is that background thread, as well as most of the hooks that will be utilized to 22895 make the whole song and dance work. 22896 22897 The thread itself is very simple and MessageQueue based. LocalStorageTasks are what 22898 mark the work that needs to be done and come in 5 flavors: Import and Sync a LocalStorage set, 22899 Import and Sync a LocalStorageArea, and terminate the thread. 22900 22901 This patch accomplished 2 things: 22902 22903 1 - Each PageGroup has its own LocalStorage set. Upon its creation its LocalStorageThread is 22904 created and started. 22905 22906 2 - At application shutdown, each thread is synchronously terminated. 22907 22908 What happens between steps 1 and 2 will come later. 22909 22910 * GNUmakefile.am: 22911 * WebCore.pro: 22912 * WebCore.vcproj/WebCore.vcproj: 22913 * WebCore.xcodeproj/project.pbxproj: 22914 * WebCoreSources.bkl: 22915 22916 * storage/LocalStorage.cpp: Add some threading ASSERTs to make it clear which thread each 22917 method is meant to be called from. 22918 (WebCore::LocalStorage::LocalStorage): 22919 (WebCore::LocalStorage::storageArea): 22920 (WebCore::LocalStorage::performImport): Placeholder for importing known origins and quotas 22921 (WebCore::LocalStorage::performSync): Placeholder for writing out updated origins and quotas 22922 (WebCore::LocalStorage::close): Synchronously terminate the thread. 22923 * storage/LocalStorage.h: 22924 22925 * storage/LocalStorageArea.cpp: Add some threading ASSERTs to make it clear which thread each 22926 method is meant to be called from. 22927 (WebCore::LocalStorageArea::itemChanged): 22928 (WebCore::LocalStorageArea::itemRemoved): 22929 (WebCore::LocalStorageArea::areaCleared): 22930 (WebCore::LocalStorageArea::dispatchStorageEvent): 22931 (WebCore::LocalStorageArea::performImport): Placeholder for importing all items for this 22932 LocalStorageArea to prime the page before the items are needed 22933 (WebCore::LocalStorageArea::performSync): Placeholder for writing out dirty items to disk 22934 * storage/LocalStorageArea.h: 22935 22936 * storage/LocalStorageTask.cpp: Added. 22937 (WebCore::LocalStorageTask::LocalStorageTask): 22938 (WebCore::LocalStorageTask::performTask): 22939 * storage/LocalStorageTask.h: Added. 22940 (WebCore::LocalStorageTask::): 22941 (WebCore::LocalStorageTask::createImport): 22942 (WebCore::LocalStorageTask::createSync): 22943 (WebCore::LocalStorageTask::createTerminate): 22944 22945 * storage/LocalStorageThread.cpp: Added. 22946 (WebCore::LocalStorageThread::create): 22947 (WebCore::LocalStorageThread::LocalStorageThread): 22948 (WebCore::LocalStorageThread::start): 22949 (WebCore::LocalStorageThread::localStorageThreadStart): 22950 (WebCore::LocalStorageThread::localStorageThread): 22951 (WebCore::LocalStorageThread::scheduleImport): 22952 (WebCore::LocalStorageThread::scheduleSync): 22953 (WebCore::LocalStorageThread::terminate): 22954 (WebCore::LocalStorageThread::performTerminate): 22955 * storage/LocalStorageThread.h: Added. 22956 22957 2008-05-06 Anders Carlsson <andersca (a] apple.com> 22958 22959 Reviewed by Darin. 22960 22961 Add NPN_PopUpContextMenu. 22962 22963 * bridge/npapi.h: 22964 * plugins/npfunctions.h: 22965 22966 2008-05-06 Alp Toker <alp (a] nuanti.com> 22967 22968 GTK+ build fix. Add file from r32911 to the build. 22969 22970 * GNUmakefile.am: 22971 22972 2008-05-06 Gwenole Beauchesne <gbeauchesne (a] splitted-desktop.org> 22973 22974 Reviewed by Alp Toker. 22975 22976 http://bugs.webkit.org/show_bug.cgi?id=18906 22977 [GTK] Fix varargs terminator in g_build_filename() 22978 22979 * plugins/gtk/PluginDatabaseGtk.cpp: 22980 (WebCore::PluginDatabase::isPreferredPluginDirectory): Fix varargs 22981 terminator. 22982 22983 2008-05-06 Kevin McCullough <kmccullough (a] apple.com> 22984 22985 - Forgot to update localized Strings from previous checkin. 22986 22987 * English.lproj/localizedStrings.js: 22988 22989 2008-05-06 Chris Fleizach <cfleizach (a] apple.com> 22990 22991 Reviewed by Beth Dakin 22992 22993 <rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com) 22994 <rdar://problem/5895634> AX: AccessibilityObjectWrapper is being leaked all over the place 22995 <rdar://problem/5893907> CrashTracer: [REGRESSION] 44 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityObject::clearChildren + 9 22996 22997 Initial prep work to support accessibility objects that do not have renderers. 22998 22999 * WebCore.xcodeproj/project.pbxproj: 23000 * page/AXObjectCache.cpp: 23001 (WebCore::AXObjectCache::~AXObjectCache): 23002 (WebCore::AXObjectCache::get): 23003 (WebCore::AXObjectCache::remove): 23004 (WebCore::AXObjectCache::getAXID): 23005 (WebCore::AXObjectCache::removeAXID): 23006 (WebCore::AXObjectCache::childrenChanged): 23007 * page/AXObjectCache.h: 23008 (WebCore::AXObjectCache::isIDinUse): 23009 * page/AccessibilityObject.cpp: 23010 (WebCore::AccessibilityObject::AccessibilityObject): 23011 (WebCore::AccessibilityObject::create): 23012 (WebCore::AccessibilityObject::detach): 23013 (WebCore::AccessibilityObject::firstChild): 23014 (WebCore::AccessibilityObject::lastChild): 23015 (WebCore::AccessibilityObject::previousSibling): 23016 (WebCore::AccessibilityObject::nextSibling): 23017 (WebCore::AccessibilityObject::parentObject): 23018 (WebCore::AccessibilityObject::layoutCount): 23019 (WebCore::AccessibilityObject::text): 23020 (WebCore::AccessibilityObject::helpText): 23021 (WebCore::AccessibilityObject::textUnderElement): 23022 (WebCore::AccessibilityObject::isARIAInput): 23023 (WebCore::AccessibilityObject::isARIAControl): 23024 (WebCore::AccessibilityObject::intValue): 23025 (WebCore::AccessibilityObject::stringValue): 23026 (WebCore::AccessibilityObject::title): 23027 (WebCore::AccessibilityObject::accessibilityDescription): 23028 (WebCore::AccessibilityObject::boundingBoxRect): 23029 (WebCore::AccessibilityObject::elementRect): 23030 (WebCore::AccessibilityObject::size): 23031 (WebCore::AccessibilityObject::linkedUIElement): 23032 (WebCore::AccessibilityObject::textLength): 23033 (WebCore::AccessibilityObject::ariaSelectedTextDOMRange): 23034 (WebCore::AccessibilityObject::selectedText): 23035 (WebCore::AccessibilityObject::accessKey): 23036 (WebCore::AccessibilityObject::selection): 23037 (WebCore::AccessibilityObject::selectedTextRange): 23038 (WebCore::AccessibilityObject::setSelectedTextRange): 23039 (WebCore::AccessibilityObject::url): 23040 (WebCore::AccessibilityObject::setFocused): 23041 (WebCore::AccessibilityObject::setValue): 23042 (WebCore::AccessibilityObject::axObjectCache): 23043 (WebCore::AccessibilityObject::getDocumentLinks): 23044 (WebCore::AccessibilityObject::widget): 23045 (WebCore::AccessibilityObject::widgetForAttachmentView): 23046 (WebCore::AccessibilityObject::anchorElement): 23047 (WebCore::AccessibilityObject::actionElement): 23048 (WebCore::AccessibilityObject::visiblePositionRange): 23049 (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine): 23050 (WebCore::AccessibilityObject::visiblePositionForIndex): 23051 (WebCore::AccessibilityObject::indexForVisiblePosition): 23052 (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange): 23053 (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange): 23054 (WebCore::AccessibilityObject::doAXTextMarkerForPosition): 23055 (WebCore::AccessibilityObject::textMarkerForIndex): 23056 (WebCore::AccessibilityObject::rangeForTextMarkerRange): 23057 (WebCore::AccessibilityObject::indexForTextMarker): 23058 (WebCore::AccessibilityObject::doAXRangeForLine): 23059 (WebCore::AccessibilityObject::doAXRangeForPosition): 23060 (WebCore::AccessibilityObject::doAXRangeForIndex): 23061 (WebCore::AccessibilityObject::doAXStyleRangeForIndex): 23062 (WebCore::AccessibilityObject::doAXStringForRange): 23063 (WebCore::AccessibilityObject::doAXBoundsForRange): 23064 (WebCore::AccessibilityObject::doAccessibilityHitTest): 23065 (WebCore::AccessibilityObject::focusedUIElement): 23066 (WebCore::AccessibilityObject::observableObject): 23067 (WebCore::AccessibilityObject::roleValue): 23068 (WebCore::AccessibilityObject::ariaRoleAttribute): 23069 (WebCore::AccessibilityObject::childrenChanged): 23070 (WebCore::AccessibilityObject::addChildren): 23071 (WebCore::AccessibilityObject::removeAXObjectID): 23072 * page/AccessibilityObject.h: 23073 (WebCore::PlainTextRange::PlainTextRange): 23074 (WebCore::PlainTextRange::isNull): 23075 (WebCore::AccessibilityObject::isAccessibilityRenderObject): 23076 (WebCore::AccessibilityObject::isAnchor): 23077 (WebCore::AccessibilityObject::isAttachment): 23078 (WebCore::AccessibilityObject::isHeading): 23079 (WebCore::AccessibilityObject::isLink): 23080 (WebCore::AccessibilityObject::isImage): 23081 (WebCore::AccessibilityObject::isNativeImage): 23082 (WebCore::AccessibilityObject::isImageButton): 23083 (WebCore::AccessibilityObject::isPasswordField): 23084 (WebCore::AccessibilityObject::isTextControl): 23085 (WebCore::AccessibilityObject::isNativeTextControl): 23086 (WebCore::AccessibilityObject::isWebArea): 23087 (WebCore::AccessibilityObject::isCheckboxOrRadio): 23088 (WebCore::AccessibilityObject::isChecked): 23089 (WebCore::AccessibilityObject::isEnabled): 23090 (WebCore::AccessibilityObject::isSelected): 23091 (WebCore::AccessibilityObject::isFocused): 23092 (WebCore::AccessibilityObject::isHovered): 23093 (WebCore::AccessibilityObject::isIndeterminate): 23094 (WebCore::AccessibilityObject::isLoaded): 23095 (WebCore::AccessibilityObject::isMultiSelect): 23096 (WebCore::AccessibilityObject::isOffScreen): 23097 (WebCore::AccessibilityObject::isPressed): 23098 (WebCore::AccessibilityObject::isReadOnly): 23099 (WebCore::AccessibilityObject::isVisited): 23100 (WebCore::AccessibilityObject::canSetFocusAttribute): 23101 (WebCore::AccessibilityObject::canSetTextRangeAttributes): 23102 (WebCore::AccessibilityObject::canSetValueAttribute): 23103 (WebCore::AccessibilityObject::hasIntValue): 23104 (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId): 23105 (WebCore::AccessibilityObject::accessibilityIsIgnored): 23106 (WebCore::AccessibilityObject::children): 23107 (WebCore::AccessibilityObject::hasChildren): 23108 (WebCore::AccessibilityObject::setWrapper): 23109 (WebCore::AccessibilityObject::isDetached): 23110 * page/AccessibilityRenderObject.cpp: Added. 23111 (WebCore::AccessibilityRenderObject::AccessibilityRenderObject): 23112 (WebCore::AccessibilityRenderObject::~AccessibilityRenderObject): 23113 (WebCore::AccessibilityRenderObject::create): 23114 (WebCore::AccessibilityRenderObject::detach): 23115 (WebCore::AccessibilityRenderObject::firstChild): 23116 (WebCore::AccessibilityRenderObject::lastChild): 23117 (WebCore::AccessibilityRenderObject::previousSibling): 23118 (WebCore::AccessibilityRenderObject::nextSibling): 23119 (WebCore::AccessibilityRenderObject::parentObject): 23120 (WebCore::AccessibilityRenderObject::isWebArea): 23121 (WebCore::AccessibilityRenderObject::isImageButton): 23122 (WebCore::AccessibilityRenderObject::isAnchor): 23123 (WebCore::AccessibilityRenderObject::isNativeTextControl): 23124 (WebCore::AccessibilityRenderObject::isTextControl): 23125 (WebCore::AccessibilityRenderObject::isNativeImage): 23126 (WebCore::AccessibilityRenderObject::isImage): 23127 (WebCore::AccessibilityRenderObject::isAttachment): 23128 (WebCore::AccessibilityRenderObject::isPasswordField): 23129 (WebCore::AccessibilityRenderObject::isCheckboxOrRadio): 23130 (WebCore::AccessibilityRenderObject::isPressed): 23131 (WebCore::AccessibilityRenderObject::isIndeterminate): 23132 (WebCore::AccessibilityRenderObject::isChecked): 23133 (WebCore::AccessibilityRenderObject::isHovered): 23134 (WebCore::AccessibilityRenderObject::isMultiSelect): 23135 (WebCore::AccessibilityRenderObject::isReadOnly): 23136 (WebCore::AccessibilityRenderObject::isOffScreen): 23137 (WebCore::AccessibilityRenderObject::headingLevel): 23138 (WebCore::AccessibilityRenderObject::isHeading): 23139 (WebCore::AccessibilityRenderObject::isLink): 23140 (WebCore::AccessibilityRenderObject::anchorElement): 23141 (WebCore::AccessibilityRenderObject::actionElement): 23142 (WebCore::AccessibilityRenderObject::mouseButtonListener): 23143 (WebCore::AccessibilityRenderObject::helpText): 23144 (WebCore::AccessibilityRenderObject::textUnderElement): 23145 (WebCore::AccessibilityRenderObject::hasIntValue): 23146 (WebCore::AccessibilityRenderObject::intValue): 23147 (WebCore::AccessibilityRenderObject::stringValue): 23148 (WebCore::labelForElement): 23149 (WebCore::AccessibilityRenderObject::title): 23150 (WebCore::AccessibilityRenderObject::accessibilityDescription): 23151 (WebCore::AccessibilityRenderObject::boundingBoxRect): 23152 (WebCore::AccessibilityRenderObject::elementRect): 23153 (WebCore::AccessibilityRenderObject::size): 23154 (WebCore::AccessibilityRenderObject::linkedUIElement): 23155 (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId): 23156 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 23157 (WebCore::AccessibilityRenderObject::isLoaded): 23158 (WebCore::AccessibilityRenderObject::layoutCount): 23159 (WebCore::AccessibilityRenderObject::text): 23160 (WebCore::AccessibilityRenderObject::textLength): 23161 (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange): 23162 (WebCore::AccessibilityRenderObject::selectedText): 23163 (WebCore::AccessibilityRenderObject::accessKey): 23164 (WebCore::AccessibilityRenderObject::selection): 23165 (WebCore::AccessibilityRenderObject::selectedTextRange): 23166 (WebCore::AccessibilityRenderObject::setSelectedTextRange): 23167 (WebCore::AccessibilityRenderObject::url): 23168 (WebCore::AccessibilityRenderObject::isVisited): 23169 (WebCore::AccessibilityRenderObject::isSelected): 23170 (WebCore::AccessibilityRenderObject::isFocused): 23171 (WebCore::AccessibilityRenderObject::setFocused): 23172 (WebCore::AccessibilityRenderObject::setValue): 23173 (WebCore::AccessibilityRenderObject::isEnabled): 23174 (WebCore::AccessibilityRenderObject::topRenderer): 23175 (WebCore::AccessibilityRenderObject::widget): 23176 (WebCore::AccessibilityRenderObject::axObjectCache): 23177 (WebCore::AccessibilityRenderObject::getDocumentLinks): 23178 (WebCore::AccessibilityRenderObject::widgetForAttachmentView): 23179 (WebCore::AccessibilityRenderObject::frameViewIfRenderView): 23180 (WebCore::AccessibilityRenderObject::visiblePositionRange): 23181 (WebCore::AccessibilityRenderObject::doAXTextMarkerRangeForLine): 23182 (WebCore::AccessibilityRenderObject::visiblePositionForIndex): 23183 (WebCore::AccessibilityRenderObject::indexForVisiblePosition): 23184 (WebCore::AccessibilityRenderObject::doAXBoundsForTextMarkerRange): 23185 (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange): 23186 (WebCore::AccessibilityRenderObject::doAXTextMarkerForPosition): 23187 (WebCore::AccessibilityRenderObject::textMarkerForIndex): 23188 (WebCore::AccessibilityRenderObject::indexForTextMarker): 23189 (WebCore::AccessibilityRenderObject::doAXRangeForLine): 23190 (WebCore::AccessibilityRenderObject::doAXRangeForIndex): 23191 (WebCore::AccessibilityRenderObject::doAXStringForRange): 23192 (WebCore::AccessibilityRenderObject::doAXBoundsForRange): 23193 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): 23194 (WebCore::AccessibilityRenderObject::focusedUIElement): 23195 (WebCore::AccessibilityRenderObject::observableObject): 23196 (WebCore::createARIARoleMap): 23197 (WebCore::RoleEntry::): 23198 (WebCore::ariaRoleToWebCoreRole): 23199 (WebCore::AccessibilityRenderObject::ariaRoleAttribute): 23200 (WebCore::AccessibilityRenderObject::roleValue): 23201 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): 23202 (WebCore::AccessibilityRenderObject::canSetValueAttribute): 23203 (WebCore::AccessibilityRenderObject::canSetTextRangeAttributes): 23204 (WebCore::AccessibilityRenderObject::childrenChanged): 23205 (WebCore::AccessibilityRenderObject::children): 23206 (WebCore::AccessibilityRenderObject::addChildren): 23207 (WebCore::AccessibilityRenderObject::removeAXObjectID): 23208 (WebCore::AccessibilityRenderObject::actionVerb): 23209 * page/AccessibilityRenderObject.h: Added. 23210 (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject): 23211 (WebCore::AccessibilityRenderObject::areaElement): 23212 (WebCore::AccessibilityRenderObject::setRenderer): 23213 (WebCore::AccessibilityRenderObject::renderer): 23214 (WebCore::AccessibilityRenderObject::setRenderObject): 23215 (WebCore::AccessibilityRenderObject::isDetached): 23216 * page/mac/AXObjectCacheMac.mm: 23217 (WebCore::AXObjectCache::detachWrapper): 23218 (WebCore::AXObjectCache::selectedChildrenChanged): 23219 (WebCore::AXObjectCache::postNotification): 23220 * page/mac/AccessibilityObjectWrapper.mm: 23221 (textMarkerForVisiblePosition): 23222 (CreateCGColorIfDifferent): 23223 (AXAttributeStringSetHeadingLevel): 23224 (AXLinkElementForNode): 23225 (AXAttributeStringSetElement): 23226 (AXAttributedStringAppendText): 23227 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 23228 (-[AccessibilityObjectWrapper documentFrameView:]): 23229 (-[AccessibilityObjectWrapper position]): 23230 (RoleEntry::): 23231 (-[AccessibilityObjectWrapper roleDescription]): 23232 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 23233 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): 23234 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): 23235 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 23236 (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]): 23237 (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]): 23238 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): 23239 23240 2008-05-06 Jonathan Haas <myrdred (a] gmail.com> 23241 23242 Reviewed by Rob Buis. 23243 23244 https://bugs.webkit.org/show_bug.cgi?id=18859\ 23245 Prevented SVGRootInlineBox from static_casting a 23246 node to a class it doesn't inherit 23247 23248 * rendering/SVGRootInlineBox.cpp: 23249 (WebCore::SVGRootInlineBox::buildTextChunks): 23250 23251 2008-05-06 Brady Eidson <beidson (a] apple.com> 23252 23253 Reviewed by Darin Adler 23254 23255 Preparation for upcoming work making LocalStorage persistent. 23256 23257 When the application terminates, all pending local storage writes need to be 23258 sync'ed out to disk. 23259 This works n combination with platform specific code in WebKit that calls it. 23260 23261 * WebCore.base.exp: 23262 23263 * page/PageGroup.cpp: 23264 (WebCore::PageGroup::closeLocalStorage): Close all open LocalStorage objects 23265 * page/PageGroup.h: 23266 23267 * storage/LocalStorage.cpp: 23268 (WebCore::LocalStorage::close): Placeholder for what will sync and terminate the 23269 local storage thread in the future. 23270 * storage/LocalStorage.h: 23271 23272 2008-05-06 Brady Eidson <beidson (a] apple.com> 23273 23274 Rubberstamped by David Kilzer 23275 23276 * WebCore.base.exp: Sort this mess! 23277 23278 2008-05-05 Mark Rowe <mrowe (a] apple.com> 23279 23280 Reviewed by Dan Bernstein. 23281 23282 Fix 60 crashes seen on the buildbots that were misreported as hangs. 23283 23284 * dom/Document.cpp: 23285 (WebCore::Document::detachNodeIterator): Null-check page() before dereferencing it. 23286 (WebCore::Document::nodeWillBeRemoved): Ditto. 23287 (WebCore::Document::textInserted): Ditto. 23288 (WebCore::Document::textNodesMerged): Ditto. 23289 (WebCore::Document::textRemoved): Ditto. 23290 23291 2008-05-05 Brady Eidson <beidson (a] apple.com> 23292 23293 Reviewed by Mitz Pettel RTL 23294 23295 Preparation for upcoming work making LocalStorage persistent. 23296 23297 The other half of the StorageMap::importItem() addition. 23298 23299 * storage/StorageArea.cpp: 23300 (WebCore::StorageArea::importItem): 23301 * storage/StorageArea.h: 23302 23303 2008-05-05 Brady Eidson <beidson (a] apple.com> 23304 23305 Reviewed by Mitz Pettel RTL 23306 23307 Preparation for upcoming work making LocalStorage persistent. 23308 23309 - Create the LocalStorage object for a PageGroup the moment the first Page is added to it 23310 The Settings of the first Page define what persistent path the LocalStorage will use 23311 - Add a Frame argument for the LocalStorageArea request - this will allow a client object 23312 to be queried before the LocalStorageArea is established 23313 23314 * page/DOMWindow.cpp: 23315 (WebCore::DOMWindow::localStorage): 23316 23317 * page/PageGroup.cpp: 23318 (WebCore::PageGroup::addPage): 23319 (WebCore::PageGroup::localStorage): 23320 23321 * storage/LocalStorage.cpp: 23322 (WebCore::LocalStorage::LocalStorage): Take the path as a constructor argument. Deep copy 23323 the path as it will be used from another thread. 23324 (WebCore::LocalStorage::storageArea): 23325 * storage/LocalStorage.h: 23326 (WebCore::LocalStorage::create): 23327 23328 2008-05-05 Brady Eidson <beidson (a] apple.com> 23329 23330 Reviewed by Mitz Pettel RTL 23331 23332 Preparation for upcoming work making LocalStorage persistent. 23333 23334 StorageMaps normally have copy-on-write semantics to help support SessionStorage. 23335 For LocalStorage, we never want this behavior. When we forcefully import items into 23336 a StorageMap from the LocalStorage background thread, this new import method will be used. 23337 23338 * storage/StorageMap.cpp: 23339 (WebCore::StorageMap::importItem): Add a deep-copy of the item to the map without worrying 23340 about copy-on-write. 23341 * storage/StorageMap.h: 23342 23343 2008-05-05 Kevin McCullough <kmccullough (a] apple.com> 23344 23345 Reviewed by Tim. 23346 23347 -<rdar://problem/5770054> JavaScript profiler (10928) 23348 -Begininings of a UI for the Profiler in the WebInspector. 23349 23350 * English.lproj/InspectorLocalizedStrings.js: Add new strings to be 23351 localized. 23352 * page/inspector/DatabasesPanel.js: Changed the name of the Databae's 23353 results table to be more generic as it is now also used by the profiler. 23354 * page/inspector/Images/glossySelected.png: Added. 23355 * page/inspector/Images/profilesIcon.png: Added. 23356 * page/inspector/Images/treeUpTriangleBlack.png: Added. 23357 * page/inspector/Images/treeUpTriangleWhite.png: Added. 23358 * page/inspector/ProfileView.js: Added. Sets up the header of the table. 23359 * page/inspector/ProfilesPanel.js: Added. 23360 * page/inspector/ProfilesPanel.js: Added. Sets up the containers of the 23361 profiler's content. 23362 * page/inspector/inspector.css: Change database-result-table to be more 23363 generic as well as add the styles needed by the profiler. 23364 * page/inspector/inspector.html: Add profiler support. 23365 23366 2008-05-05 Brady Eidson <beidson (a] apple.com> 23367 23368 Change by Darin, reviewed by Brady 23369 23370 Small efficiency improvement Darin just spotted 23371 23372 * storage/StorageMap.cpp: 23373 (WebCore::StorageMap::setItem): 23374 23375 2008-05-05 Antti Koivisto <antti (a] apple.com> 23376 23377 Reviewed by Anders. 23378 23379 Fix https://bugs.webkit.org/show_bug.cgi?id=18899 23380 Bug 18899: REGRESSION (r32871): Non-Safari crash in WTF::HashTable on startup 23381 23382 * loader/loader.cpp: 23383 (WebCore::Loader::Loader): 23384 23385 2008-05-05 Brady Eidson <beidson (a] apple.com> 23386 23387 Reviewed by Sam Weinig 23388 23389 Fix a bug in StorageMap iterator tracking where the iterator was not successfully 23390 invalidated at an appropriate time. 23391 23392 * storage/StorageMap.cpp: 23393 (WebCore::StorageMap::setItem): ALWAYS invalidate it here 23394 23395 2008-05-05 Justin Garcia <justin.garcia (a] apple.com> 23396 23397 Reviewed by Darin. 23398 23399 <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end 23400 23401 Disable Range mutation on document modifications in Tiger and Leopard Mail, 23402 since they do their own mutation which interferes with ours. 23403 23404 * WebCore.base.exp: 23405 * dom/Document.cpp: 23406 (WebCore::Document::nodeChildrenChanged): 23407 (WebCore::Document::nodeWillBeRemoved): 23408 (WebCore::Document::textInserted): 23409 (WebCore::Document::textRemoved): 23410 (WebCore::Document::textNodesMerged): 23411 (WebCore::Document::textNodeSplit): 23412 * page/Settings.cpp: 23413 (WebCore::Settings::Settings): 23414 (WebCore::Settings::disableRangeMutationForOldAppleMail): 23415 * page/Settings.h: 23416 (WebCore::Settings::rangeMutationDisabledForOldAppleMail): 23417 23418 2008-05-05 Sam Weinig <sam (a] webkit.org> 23419 23420 Reviewed by Tim Hatcher. 23421 23422 Make the Inspector's localizable strings file match the format used by Dashboard widgets. 23423 23424 * English.lproj/InspectorLocalizedStrings.js: Removed. 23425 * English.lproj/localizedStrings.js: Added. 23426 * WebCore.vcproj/WebCore.vcproj: 23427 * WebCore.xcodeproj/project.pbxproj: 23428 * page/inspector/inspector.js: 23429 23430 2008-05-05 Steve Falkenburg <sfalken (a] apple.com> 23431 23432 Add support for default button appearance. 23433 Add WebCore setting for app chrome mode. 23434 23435 Reviewed by Dave Hyatt. 23436 23437 * css/CSSPrimitiveValueMappings.h: 23438 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 23439 * css/CSSValueKeywords.in: Added default-button value keyword. 23440 * page/Settings.cpp: 23441 (WebCore::Settings::Settings): 23442 (WebCore::Settings::setApplicationChromeMode): 23443 * page/Settings.h: 23444 (WebCore::Settings::inApplicationChromeMode): 23445 * rendering/RenderButton.cpp: 23446 (WebCore::RenderButton::RenderButton): 23447 (WebCore::RenderButton::setStyle): 23448 (WebCore::RenderButton::timerFired): 23449 * rendering/RenderButton.h: 23450 * rendering/RenderStyle.h: 23451 * rendering/RenderTheme.cpp: 23452 (WebCore::RenderTheme::adjustStyle): 23453 (WebCore::RenderTheme::paint): 23454 (WebCore::RenderTheme::paintBorderOnly): 23455 (WebCore::RenderTheme::paintDecorations): 23456 (WebCore::RenderTheme::isControlStyled): 23457 (WebCore::RenderTheme::isDefault): 23458 * rendering/RenderTheme.h: 23459 * rendering/RenderThemeSafari.cpp: 23460 (WebCore::RenderThemeSafari::determineState): 23461 (WebCore::RenderThemeSafari::adjustRepaintRect): 23462 (WebCore::RenderThemeSafari::adjustButtonStyle): 23463 * rendering/RenderThemeWin.cpp: 23464 (WebCore::RenderThemeWin::supportsFocus): 23465 23466 2008-05-05 Alexey Proskuryakov <ap (a] webkit.org> 23467 23468 Reviewed by Darin. 23469 23470 https://bugs.webkit.org/show_bug.cgi?id=11947 23471 nbsps should be converted to entities in innerHTML 23472 23473 https://bugs.webkit.org/show_bug.cgi?id=18769 23474 replacing with spaces using regexp creates inconsistent result 23475 23476 Tests: fast/dom/innerHTML-nbsp.html 23477 fast/dom/innerHTML-escaping-attribute.html 23478 23479 * editing/markup.cpp: 23480 (WebCore::appendAttributeValue): 23481 (WebCore::escapeContentText): 23482 (WebCore::appendEscapedContent): 23483 Added U+00a0/nbsp to the list of characters to escape. 23484 23485 2008-05-05 David Hyatt <hyatt (a] apple.com> 23486 23487 Fix for https://bugs.webkit.org/show_bug.cgi?id=18821. Fix some bugs in both get/PutImageData of <canvas>. 23488 23489 Reviewed by Eric 23490 23491 New tests added in fast/canvas/ 23492 23493 * platform/graphics/cg/ImageBufferCG.cpp: 23494 (WebCore::ImageBuffer::getImageData): 23495 (WebCore::ImageBuffer::putImageData): 23496 23497 2008-05-05 Dan Bernstein <mitz (a] apple.com> 23498 23499 Reviewed by Dave Hyatt. 23500 23501 - fix https://bugs.webkit.org/show_bug.cgi?id=18809 23502 Forms with block level generated content and absolutely positioned labels break inline layout (fixed on reflow) 23503 23504 Test: fast/block/basic/adding-near-anonymous-block.html 23505 23506 * rendering/RenderBlock.cpp: 23507 (WebCore::RenderBlock::addChildToFlow): When adding a floating or 23508 positioned object, if it follows an anonymous block, put it 23509 inside the anonymous block. When adding an inline, check if it comes 23510 after an anonymous block and put it in the anonymous block. 23511 23512 2008-05-05 Antti Koivisto <antti (a] apple.com> 23513 23514 Reviewed by Darin. 23515 23516 Speculative fix for <rdar://problem/5906790> 23517 Crash in Loader::servePendingRequests() due to hash table being modified during iteration 23518 23519 I don't know how to reproduce this. It would require the load to fail (or succeed) 23520 synchronously, something that should not usually happen. 23521 23522 * loader/loader.cpp: 23523 (WebCore::Loader::Loader): 23524 (WebCore::Loader::load): 23525 (WebCore::Loader::servePendingRequests): 23526 (WebCore::Loader::cancelRequests): 23527 (WebCore::Loader::Host::Host): 23528 * loader/loader.h: 23529 (WebCore::Loader::Host::name): 23530 23531 2008-05-05 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 23532 23533 Reviewed by Simon. 23534 23535 Disable SVG As Image support in the Qt port again, as it 23536 requires more work. Right now the chrome client is 23537 assumed to be a ChromeClientQt, which the SVG Image support 23538 changes. 23539 23540 * WebCore.pro: 23541 23542 2008-05-02 Antti Koivisto <antti (a] apple.com> 23543 23544 Reviewed by Mitz. 23545 23546 Fix <rdar://problem/5840475> 23547 CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::RenderBlock::insertPositionedObject 23548 23549 Non-block objects can have transforms so containingBlock() could end up returning null. 23550 RenderObject::container() needs to match. 23551 23552 Test: fast/transforms/container-transform-crash.html 23553 23554 * rendering/RenderObject.cpp: 23555 (WebCore::RenderObject::containingBlock): 23556 (WebCore::RenderObject::container): 23557 23558 2008-05-04 Sam Weinig <sam (a] webkit.org> 23559 23560 Roll out r32851. It broke tiger builds. 23561 23562 * bindings/objc/DOMUtility.mm: 23563 (KJS::createDOMWrapper): 23564 (WebCore::createDOMWrapper): 23565 23566 2008-05-04 Dan Bernstein <mitz (a] apple.com> 23567 23568 Reviewed by Sam Weinig. 23569 23570 - fix https://bugs.webkit.org/show_bug.cgi?id=18879 23571 <rdar://problem/5909481> Reproducible crash when removing a gradient 23572 23573 Test: fast/gradients/crash-on-remove.html 23574 23575 * css/CSSImageGeneratorValue.cpp: 23576 (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue): 23577 (WebCore::CSSImageGeneratorValue::addClient): Added a call to ref() the 23578 value. 23579 (WebCore::CSSImageGeneratorValue::removeClient): Added code to deref() 23580 the value. 23581 23582 2008-05-03 Sam Weinig <sam (a] webkit.org> 23583 23584 Reviewed by Mark Rowe. 23585 23586 Move createDOMWrapper(JSObject* object) out of the KJS namespace and into 23587 the WebCore namespace now that the required compilers don't freak out about 23588 this anymore. 23589 23590 * bindings/objc/DOMUtility.mm: 23591 (WebCore::createDOMWrapper): 23592 23593 2008-05-03 Rob Buis <buis (a] kde.org> 23594 23595 Reviewed by Sam. 23596 23597 https://bugs.webkit.org/show_bug.cgi?id=18652 23598 onchange events don't seem to fire for input[type=range] controls. 23599 23600 Fire changeEvent when clicking the slider outside the current 23601 thumb position. 23602 23603 * rendering/RenderSlider.cpp: 23604 (WebCore::RenderSlider::setValueForPosition): 23605 23606 2008-05-03 Sam Weinig <sam (a] webkit.org> 23607 23608 Reviewed by Mark Rowe. 23609 23610 Remove unused enums from JSDOMWindowBase. 23611 23612 * bindings/js/JSDOMWindowBase.h: 23613 (WebCore::JSDOMWindowBase::): 23614 23615 2008-05-03 Sam Weinig <sam (a] webkit.org> 23616 23617 Real build fix. 23618 23619 * WebCore.xcodeproj/project.pbxproj: 23620 23621 2008-05-03 Sam Weinig <sam (a] webkit.org> 23622 23623 Build fix. 23624 23625 * bindings/js/kjs_events.cpp: 23626 (WebCore::JSAbstractEventListener::handleEvent): 23627 23628 2008-05-03 Sam Weinig <sam (a] webkit.org> 23629 23630 Rubber-stamped by Geoffrey Garen. 23631 23632 Rename JSDOMWindowWrapper to JSDOMWindowShell. 23633 23634 2008-05-01 Rob Buis <buis (a] kde.org> 23635 23636 Reviewed by Eric. 23637 23638 https://bugs.webkit.org/show_bug.cgi?id=18568 23639 background: currentColor fails 23640 23641 Implement currentColor from CSS3 color module. 23642 23643 Tests: fast/css/background-currentcolor.html 23644 23645 * css/CSSParser.cpp: 23646 (WebCore::CSSParser::parseValue): 23647 (WebCore::CSSParser::parseBackgroundColor): 23648 * css/CSSStyleSelector.cpp: 23649 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): 23650 * css/CSSValueKeywords.in: 23651 * css/SVGCSSValueKeywords.in: 23652 23653 2008-05-02 Anders Carlsson <andersca (a] apple.com> 23654 23655 Reviewed by Mark. 23656 23657 Turns out calling locationInWindow on keyboard events will not throw an exception, 23658 but the point returned is completely bogus, so remove coordinates from the keyboard event struct. 23659 23660 * bridge/npapi.h: 23661 (_NPCocoaEvent::): 23662 23663 2008-05-02 Benjamin Otte <otte (a] gnome.org> 23664 23665 Reviewed by Alp Toker. 23666 23667 http://bugs.webkit.org/show_bug.cgi?id=18856 23668 [GTK] variable initialization missing 23669 23670 Not initializing the m_needsXEmbed variable could have very funny 23671 results. Most often those results would be crashes. 23672 23673 * plugins/PluginView.cpp: 23674 (WebCore::PluginView::PluginView): 23675 23676 2008-05-02 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 23677 23678 Reviewed by Eric. 23679 23680 https://bugs.webkit.org/show_bug.cgi?id=18811 23681 Enable dashboard and offline web apps in autotools 23682 23683 * GNUmakefile.am: 23684 23685 2008-05-02 Anders Carlsson <andersca (a] apple.com> 23686 23687 Reviewed by Sam. 23688 23689 Name the event union so it will work in plain C. 23690 23691 * bridge/npapi.h: 23692 (_NPCocoaEvent::): 23693 23694 2008-05-02 Dan Bernstein <mitz (a] apple.com> 23695 23696 Reviewed by John Sullivan. 23697 23698 - render text shadows with zero offset, as the shadow can be seen behind 23699 the text if the text is translucent 23700 23701 Test: fast/text/shadow-no-blur.html 23702 23703 * platform/graphics/mac/FontMac.mm: 23704 (WebCore::Font::drawComplexText): Removed the isEmpty() condition on the 23705 shadow offset. Since isEmpty() is also true for sizes that have one or 23706 more non-positive components, this also ensures that subpixel 23707 antialiasing of the text is maintained with shadows in all directions. 23708 (WebCore::Font::drawGlyphs): Ditto. 23709 * platform/graphics/win/FontCGWin.cpp: 23710 (WebCore::Font::drawGlyphs): Ditto. 23711 23712 2008-05-02 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 23713 23714 Reviewed by Simon. 23715 23716 Build the Qt port with SVG Use and As Image support. 23717 23718 * WebCore.pro: 23719 23720 2008-05-02 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 23721 23722 Reviewed by Simon. 23723 23724 Fixed potential crash on SVG animation (added more checks to the assert). 23725 23726 * svg/SVGUseElement.cpp: 23727 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements): 23728 23729 2008-05-02 Alexey Proskuryakov <ap (a] webkit.org> 23730 23731 Rubber-stamped by John Sullivan. 23732 23733 Fix a debug-only crash in layout tests. 23734 23735 * loader/CachedResource.cpp: 23736 (WebCore::CachedResource::~CachedResource): Don't call resourceForURL() for null URLs. 23737 23738 2008-05-02 Simon Hausmann <shausman (a] trolltech.com> 23739 23740 Fix the Qt build on Windows when Phonon is enabled for Audio/Video support 23741 23742 * WebCore.pro: Don't use QT += phonon as it prepends the phonon 23743 includes to the include paths. Instead add it manually and make sure 23744 phonon comes last, to avoid the conflict of phonon's path.h with 23745 WebCore's Path.h on case-insensitive filesystems. 23746 23747 2008-05-02 Simon Hausmann <hausmann (a] webkit.org> 23748 23749 Fix the Qt build. Add ExecState where necessary. 23750 23751 * bridge/qt/qt_class.cpp: 23752 (KJS::Bindings::QtClass::fallbackObject): 23753 * bridge/qt/qt_instance.cpp: 23754 (KJS::Bindings::QtRuntimeObjectImp::construct): 23755 (KJS::Bindings::QtInstance::getRuntimeObject): 23756 (KJS::Bindings::QtInstance::invokeDefaultMethod): 23757 (KJS::Bindings::QtInstance::defaultValue): 23758 (KJS::Bindings::QtInstance::stringValue): 23759 * bridge/qt/qt_instance.h: 23760 (KJS::Bindings::QtInstance::getObject): 23761 * bridge/qt/qt_runtime.cpp: 23762 (KJS::Bindings::convertValueToQVariant): 23763 (KJS::Bindings::convertQVariantToValue): 23764 (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter): 23765 (KJS::Bindings::QtRuntimeMetaMethod::connectGetter): 23766 (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter): 23767 (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter): 23768 (KJS::Bindings::QtConnectionObject::execute): 23769 * bridge/runtime.cpp: 23770 (KJS::Bindings::Instance::createRuntimeObject): 23771 23772 2008-05-02 Simon Hausmann <shausman (a] trolltech.com> 23773 23774 Fix the Qt/Win build. 23775 23776 * WebCore.pro: 23777 * platform/qt/TemporaryLinkStubs.cpp: 23778 (PluginDatabase::getPluginPathsInDirectories): 23779 (PluginDatabase::defaultPluginDirectories): 23780 (PluginDatabase::isPreferredPluginDirectory): 23781 (PluginView::setNPWindowRect): 23782 (PluginView::userAgent): 23783 (PluginView::invalidateRect): 23784 (PluginView::invalidateRegion): 23785 (PluginView::forceRedraw): 23786 (PluginView::setFocus): 23787 (PluginView::show): 23788 (PluginView::hide): 23789 (PluginView::paint): 23790 (PluginView::setParent): 23791 (PluginView::attachToWindow): 23792 (PluginView::detachFromWindow): 23793 (PluginView::updateWindow): 23794 (PluginView::handleKeyboardEvent): 23795 (PluginView::handleMouseEvent): 23796 (PluginView::handlePostReadFile): 23797 (PluginView::getValue): 23798 * plugins/qt/PluginPackageQt.cpp: 23799 (WebCore::PluginPackage::load): 23800 23801 2008-05-02 Alexey Proskuryakov <ap (a] webkit.org> 23802 23803 Reviewed by Geoffrey Garen. 23804 23805 https://bugs.webkit.org/show_bug.cgi?id=18826 23806 Make JavaScript heap per-thread 23807 23808 This is mostly adaptation for JSC changes. The most prominent one is that JSObject 23809 allocator now takes ExecState, e.g. "new (exec) JSXMLHttpRequestConstructor(...)". It is 23810 OK to pass either the current or global one, whichever is faster to get hold of, as both 23811 have the same reference to a per-thread JS heap. 23812 23813 * bindings/scripts/CodeGeneratorJS.pm: Pass ExecState to functions that now need it. 23814 JSDOMWindow, JSDOMWindowPrototype and JSDOMWindowWrapper are special, because they are 23815 constructed before any ExecState comes into existence, so they use Heap::threadHeap() 23816 directly for allocation. 23817 23818 * bindings/js/JSDOMWindowWrapper.cpp: 23819 (WebCore::JSDOMWindowWrapper::operator new): 23820 * bindings/js/JSDOMWindowWrapper.h: 23821 Added a custom operator new to use per-thread heap when there's no ExecState around. 23822 23823 * bindings/js/JSAudioConstructor.cpp: 23824 (WebCore::JSAudioConstructor::JSAudioConstructor): 23825 * bindings/js/JSCSSRuleCustom.cpp: 23826 (WebCore::toJS): 23827 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 23828 (WebCore::JSCSSStyleDeclaration::nameGetter): 23829 * bindings/js/JSCSSValueCustom.cpp: 23830 (WebCore::toJS): 23831 * bindings/js/JSCanvasPixelArrayCustom.cpp: 23832 (WebCore::JSCanvasPixelArray::indexGetter): 23833 (WebCore::toJS): 23834 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 23835 (WebCore::toJS): 23836 * bindings/js/JSClipboardCustom.cpp: 23837 (WebCore::JSClipboard::types): 23838 (WebCore::JSClipboard::getData): 23839 * bindings/js/JSCustomXPathNSResolver.cpp: 23840 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 23841 * bindings/js/JSDOMApplicationCacheCustom.cpp: 23842 (WebCore::JSDOMApplicationCache::addEventListener): 23843 (WebCore::JSDOMApplicationCache::removeEventListener): 23844 (WebCore::JSDOMApplicationCache::setOnchecking): 23845 (WebCore::JSDOMApplicationCache::setOnerror): 23846 (WebCore::JSDOMApplicationCache::setOnnoupdate): 23847 (WebCore::JSDOMApplicationCache::setOndownloading): 23848 (WebCore::JSDOMApplicationCache::setOnprogress): 23849 (WebCore::JSDOMApplicationCache::setOnupdateready): 23850 (WebCore::JSDOMApplicationCache::setOncached): 23851 * bindings/js/JSDOMWindowBase.cpp: 23852 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 23853 (WebCore::JSDOMWindowBase::getValueProperty): 23854 (WebCore::JSDOMWindowBase::setListener): 23855 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): 23856 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): 23857 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): 23858 (WebCore::windowProtoFuncAToB): 23859 (WebCore::windowProtoFuncBToA): 23860 (WebCore::windowProtoFuncSetTimeout): 23861 (WebCore::windowProtoFuncSetInterval): 23862 (WebCore::windowProtoFuncAddEventListener): 23863 * bindings/js/JSDOMWindowBase.h: 23864 * bindings/js/JSDocumentCustom.cpp: 23865 (WebCore::toJS): 23866 * bindings/js/JSEventCustom.cpp: 23867 (WebCore::toJS): 23868 * bindings/js/JSEventTargetBase.cpp: 23869 (WebCore::jsEventTargetAddEventListener): 23870 * bindings/js/JSEventTargetBase.h: 23871 (WebCore::JSEventTargetPrototype::self): 23872 * bindings/js/JSEventTargetNode.cpp: 23873 (WebCore::JSEventTargetNode::setListener): 23874 * bindings/js/JSHTMLCollectionCustom.cpp: 23875 (WebCore::getNamedItems): 23876 (WebCore::toJS): 23877 * bindings/js/JSHTMLElementWrapperFactory.cpp: 23878 (WebCore::createJSHTMLWrapper): 23879 * bindings/js/JSHTMLFormElementCustom.cpp: 23880 (WebCore::JSHTMLFormElement::nameGetter): 23881 * bindings/js/JSHTMLInputElementBase.cpp: 23882 (WebCore::JSHTMLInputElementBase::getValueProperty): 23883 * bindings/js/JSHTMLOptionElementConstructor.cpp: 23884 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): 23885 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 23886 (WebCore::JSHTMLOptionsCollection::length): 23887 * bindings/js/JSInspectedObjectWrapper.cpp: 23888 (WebCore::JSInspectedObjectWrapper::wrap): 23889 * bindings/js/JSInspectorCallbackWrapper.cpp: 23890 (WebCore::JSInspectorCallbackWrapper::wrap): 23891 * bindings/js/JSLocationCustom.cpp: 23892 (WebCore::JSLocation::toString): 23893 * bindings/js/JSNamedNodesCollection.cpp: 23894 (WebCore::JSNamedNodesCollection::lengthGetter): 23895 * bindings/js/JSNavigatorCustom.cpp: 23896 (WebCore::JSNavigator::appVersion): 23897 * bindings/js/JSNodeCustom.cpp: 23898 (WebCore::toJS): 23899 * bindings/js/JSNodeFilterCustom.cpp: 23900 (WebCore::JSNodeFilter::acceptNode): 23901 * bindings/js/JSRGBColor.cpp: 23902 (WebCore::getJSRGBColor): 23903 * bindings/js/JSSQLResultSetRowListCustom.cpp: 23904 (WebCore::JSSQLResultSetRowList::item): 23905 * bindings/js/JSSVGElementWrapperFactory.cpp: 23906 (WebCore::createJSSVGWrapper): 23907 * bindings/js/JSSVGLazyEventListener.cpp: 23908 (WebCore::JSSVGLazyEventListener::eventParameterName): 23909 * bindings/js/JSStorageCustom.cpp: 23910 (WebCore::JSStorage::nameGetter): 23911 * bindings/js/JSStyleSheetCustom.cpp: 23912 (WebCore::toJS): 23913 * bindings/js/JSXMLHttpRequestConstructor.cpp: 23914 (WebCore::JSXMLHttpRequestConstructor::construct): 23915 * bindings/js/JSXMLHttpRequestCustom.cpp: 23916 (WebCore::JSXMLHttpRequest::setOnreadystatechange): 23917 (WebCore::JSXMLHttpRequest::setOnload): 23918 (WebCore::JSXMLHttpRequest::setOnprogress): 23919 (WebCore::JSXMLHttpRequest::getResponseHeader): 23920 (WebCore::JSXMLHttpRequest::addEventListener): 23921 (WebCore::JSXMLHttpRequest::removeEventListener): 23922 * bindings/js/JSXSLTProcessor.cpp: 23923 (WebCore::jsXSLTProcessorPrototypeFunctionGetParameter): 23924 (WebCore::JSXSLTProcessorConstructor::construct): 23925 * bindings/js/kjs_binding.cpp: 23926 (WebCore::jsStringOrNull): 23927 (WebCore::jsOwnedStringOrNull): 23928 (WebCore::jsStringOrUndefined): 23929 (WebCore::jsStringOrFalse): 23930 (WebCore::nonCachingStaticFunctionGetter): 23931 (WebCore::objectToStringFunctionGetter): 23932 * bindings/js/kjs_binding.h: 23933 (WebCore::DOMObject::DOMObject): 23934 (WebCore::cacheDOMObject): 23935 (WebCore::cacheSVGDOMObject): 23936 * bindings/js/kjs_events.cpp: 23937 (WebCore::JSLazyEventListener::eventParameterName): 23938 (WebCore::JSLazyEventListener::parseCode): 23939 * bindings/js/kjs_html.cpp: 23940 (WebCore::getRuntimeObject): 23941 * bridge/c/c_instance.cpp: 23942 (KJS::Bindings::CInstance::defaultValue): 23943 (KJS::Bindings::CInstance::stringValue): 23944 (KJS::Bindings::CInstance::numberValue): 23945 (KJS::Bindings::CInstance::valueOf): 23946 * bridge/c/c_instance.h: 23947 * bridge/c/c_utility.cpp: 23948 (KJS::Bindings::convertNPVariantToValue): 23949 * bridge/jni/jni_instance.cpp: 23950 (JavaInstance::stringValue): 23951 (JavaInstance::numberValue): 23952 (JavaInstance::invokeMethod): 23953 (JavaInstance::defaultValue): 23954 (JavaInstance::valueOf): 23955 * bridge/jni/jni_instance.h: 23956 * bridge/jni/jni_jsobject.h: 23957 * bridge/jni/jni_jsobject.mm: 23958 (JavaJSObject::call): 23959 (JavaJSObject::setMember): 23960 (JavaJSObject::setSlot): 23961 (JavaJSObject::convertJObjectToValue): 23962 (JavaJSObject::getListFromJArray): 23963 * bridge/jni/jni_objc.mm: 23964 (KJS::Bindings::dispatchJNICall): 23965 * bridge/jni/jni_runtime.cpp: 23966 (JavaArray::convertJObjectToArray): 23967 (JavaField::dispatchValueFromInstance): 23968 (JavaField::valueFromInstance): 23969 (JavaField::dispatchSetValueToInstance): 23970 (JavaArray::valueAt): 23971 * bridge/jni/jni_utility.h: 23972 * bridge/objc/objc_class.mm: 23973 (KJS::Bindings::ObjcClass::fallbackObject): 23974 * bridge/objc/objc_instance.h: 23975 * bridge/objc/objc_instance.mm: 23976 (ObjcInstance::defaultValue): 23977 (ObjcInstance::stringValue): 23978 (ObjcInstance::numberValue): 23979 (ObjcInstance::valueOf): 23980 * bridge/objc/objc_utility.h: 23981 * bridge/objc/objc_utility.mm: 23982 (KJS::Bindings::convertNSStringToString): 23983 (KJS::Bindings::convertObjcValueToValue): 23984 * bridge/runtime.cpp: 23985 (KJS::Bindings::Instance::createRuntimeObject): 23986 * bridge/runtime.h: 23987 (KJS::Bindings::Instance::valueOf): 23988 * bridge/runtime_array.cpp: 23989 (RuntimeArray::lengthGetter): 23990 * bridge/runtime_method.cpp: 23991 (RuntimeMethod::lengthGetter): 23992 * bridge/runtime_object.cpp: 23993 (RuntimeObjectImp::RuntimeObjectImp): 23994 (RuntimeObjectImp::methodGetter): 23995 (RuntimeObjectImp::defaultValue): 23996 * xml/XMLHttpRequest.cpp: 23997 (WebCore::XMLHttpRequest::dropProtection): 23998 * bindings/js/GCController.cpp: 23999 (WebCore::GCController::gcTimerFired): 24000 (WebCore::GCController::garbageCollectNow): 24001 Adapted to JSC changes. Pass ExecState to functions that now need it. Removed 24002 collectOnMainThreadOnly, as this is the only way to collect now. Replaced calls to static 24003 Collector methods with calls to per-thread Heap ones. 24004 24005 2008-05-02 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 24006 24007 Reviewed by Simon. 24008 24009 Build the Qt port with SVG Animation support. 24010 24011 * WebCore.pro: 24012 24013 2008-05-02 Simon Hausmann <hausmann (a] webkit.org> 24014 24015 Build fix for Qt/Gtk. Don't declare NP_InitializeFuncPtr twice 24016 with different signatures. 24017 24018 * plugins/npfunctions.h: 24019 24020 2008-05-01 Robin Dunn <robin (a] alldunn.com> 24021 24022 Reviewed by Kevin Ollivier. 24023 24024 Explicitly set the pen style in wx port to keep pen style changes from 24025 affecting URL underline or text field drawing. 24026 24027 https://bugs.webkit.org/show_bug.cgi?id=18775 24028 24029 * platform/graphics/wx/GraphicsContextWx.cpp: 24030 (WebCore::GraphicsContext::fillRect): 24031 (WebCore::GraphicsContext::drawLineForText): 24032 * platform/wx/RenderThemeWx.cpp: 24033 (WebCore::RenderThemeWx::paintTextField): 24034 24035 2008-05-01 Robin Dunn <robin (a] alldunn.com> 24036 24037 Reviewed by Kevin Ollivier. 24038 24039 Implement popup menu support for wx port. 24040 24041 https://bugs.webkit.org/show_bug.cgi?id=18776 24042 24043 * platform/PopupMenu.h: 24044 * platform/wx/PopupMenuWx.cpp: Added. 24045 (WebCore::PopupMenu::PopupMenu): 24046 (WebCore::PopupMenu::~PopupMenu): 24047 (WebCore::PopupMenu::show): 24048 (WebCore::PopupMenu::OnMenuItemSelected): 24049 (WebCore::PopupMenu::hide): 24050 (WebCore::PopupMenu::updateFromElement): 24051 (WebCore::PopupMenu::itemWritingDirectionIsNatural): 24052 * platform/wx/TemporaryLinkStubs.cpp: 24053 * webcore-wx.bkl: 24054 24055 2008-05-01 Kevin Ollivier <kevino (a] theolliviers.com> 24056 24057 Reviewed by Eric Seidel. 24058 24059 Make sure we properly set the button for all mouse events, 24060 not just mouse down, set the click count to 0 24061 for non-click events, and finally set the timestamp. 24062 24063 https://bugs.webkit.org/show_bug.cgi?id=18464 24064 24065 * platform/wx/MouseEventWx.cpp: 24066 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 24067 24068 2008-05-01 Sam Weinig <sam (a] webkit.org> 24069 24070 Reviewed by Mark Rowe (in his infinite wisdom). 24071 24072 Auto-generate the JSXSLTProcessor binding. 24073 24074 * DerivedSources.make: 24075 * GNUmakefile.am: 24076 * WebCore.pro: 24077 * WebCore.vcproj/WebCore.vcproj: 24078 * WebCore.xcodeproj/project.pbxproj: 24079 * WebCoreSources.bkl: 24080 * bindings/js/JSDOMWindowBase.cpp: 24081 (WebCore::JSDOMWindowBase::getValueProperty): 24082 * bindings/js/JSDOMWindowBase.h: 24083 (WebCore::JSDOMWindowBase::): 24084 * bindings/js/JSXSLTProcessor.cpp: Removed. 24085 * bindings/js/JSXSLTProcessor.h: Removed. 24086 * xml/XSLTProcessor.h: 24087 24088 2008-05-01 Sam Weinig <sam (a] webkit.org> 24089 24090 Reviewed by Geoffrey Garen. 24091 24092 Fixes: 24093 - https://bugs.webkit.org/show_bug.cgi?id=17249 24094 Incorrect lexical scope after navigation leads to UXSS 24095 <rdar://problem/5738497> 24096 24097 - https://bugs.webkit.org/show_bug.cgi?id=16824 24098 Script authorization should follow lexical (not dynamic) scope 24099 <rdar://problem/5683032> 24100 24101 This patch changes us to perform same-origin checks based on the lexical global object) 24102 rather than dynamic global object, which is now possible we don't re-use the window on 24103 navigations, but rather switch in a new one and re-use the outer shell. This is both 24104 more secure and conforms with the HTML5 specification. Now that all the checks are 24105 done based on the lexical global object, we can remove the SecurityOrigin::Reason 24106 concept, as it was only around to work around an ebay.com bug that required the check to 24107 be done that way. 24108 24109 An important thing to note is that we currently implement a stricter than necessary policy 24110 and perform the same-origin check based on the currently active global object to avoid leaking 24111 the document in cases when the target frame is navigated before access. This will be fixed in 24112 an upcoming patch. 24113 24114 * bindings/js/JSDOMWindowBase.cpp: 24115 (WebCore::JSDOMWindowBase::allowsAccessFrom): 24116 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage): 24117 (WebCore::JSDOMWindowBase::allowsAccessFromPrivate): 24118 (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): 24119 (WebCore::JSDOMWindowBase::printErrorMessage): 24120 (WebCore::asJSDOMWindow): 24121 * bindings/js/JSDOMWindowBase.h: 24122 * html/CanvasRenderingContext2D.cpp: 24123 (WebCore::CanvasRenderingContext2D::checkOrigin): 24124 (WebCore::CanvasRenderingContext2D::createPattern): 24125 * loader/FrameLoader.cpp: 24126 (WebCore::FrameLoader::begin): 24127 (WebCore::FrameLoader::write): 24128 (WebCore::FrameLoader::setOpener): 24129 (WebCore::FrameLoader::shouldAllowNavigation): 24130 * page/DOMWindow.h: 24131 (WebCore::DOMWindow::setSecurityOrigin): 24132 (WebCore::DOMWindow::securityOrigin): 24133 (WebCore::DOMWindow::setURL): 24134 (WebCore::DOMWindow::url): 24135 * platform/SecurityOrigin.cpp: 24136 (WebCore::SecurityOrigin::canAccess): 24137 (WebCore::SecurityOrigin::isSecureTransitionTo): 24138 * platform/SecurityOrigin.h: 24139 24140 2008-05-01 Anders Carlsson <andersca (a] apple.com> 24141 24142 Reviewed by Mark. 24143 24144 Enable 64-bit NPAPI plugins. 24145 24146 * WebCore.xcodeproj/project.pbxproj: 24147 Don't remove NPAPI related symbols from the 64-bit .exp file. 24148 24149 * bridge/npruntime.h: 24150 Remove now unnecessary #error. 24151 24152 2008-05-01 Maciej Stachowiak <mjs (a] apple.com> 24153 24154 Reviewed by Oliver (a while ago) 24155 24156 - just a wee bit more bindings speedup 24157 24158 Store the per-document Node --> JS wrapper cache in the document 24159 instead of an external hashtable. 24160 24161 * bindings/js/kjs_binding.cpp: 24162 (WebCore::ScriptInterpreter::getDOMNodeForDocument): 24163 (WebCore::ScriptInterpreter::forgetDOMNodeForDocument): 24164 (WebCore::ScriptInterpreter::putDOMNodeForDocument): 24165 (WebCore::ScriptInterpreter::forgetAllDOMNodesForDocument): 24166 (WebCore::ScriptInterpreter::markDOMNodesForDocument): 24167 * dom/Document.h: 24168 (WebCore::Document::wrapperCache): 24169 24170 2008-05-01 Anders Carlsson <andersca (a] apple.com> 24171 24172 Reviewed by Tim. 24173 24174 Remove duplicate npfunctions.h header from WebKit. 24175 24176 * WebCore.xcodeproj/project.pbxproj: 24177 Add npfunctions.h and set its role to private. 24178 24179 * plugins/npfunctions.h: 24180 Merge Mac specific changes. 24181 24182 2008-05-01 Sam Weinig <sam (a] webkit.org> 24183 24184 Reviewed by Geoffrey Garen. 24185 24186 Rename toJSDOMWindow(KJS::JSGlobalObject) to asJSDOMWindow, as all it does is 24187 cast. 24188 24189 * bindings/js/JSCustomVoidCallback.cpp: 24190 (WebCore::toVoidCallback): 24191 * bindings/js/JSCustomXPathNSResolver.cpp: 24192 (WebCore::JSCustomXPathNSResolver::create): 24193 * bindings/js/JSDOMApplicationCacheCustom.cpp: 24194 (WebCore::JSDOMApplicationCache::add): 24195 (WebCore::JSDOMApplicationCache::remove): 24196 * bindings/js/JSDOMWindowBase.cpp: 24197 (WebCore::allowPopUp): 24198 (WebCore::createWindow): 24199 (WebCore::windowProtoFuncOpen): 24200 (WebCore::asJSDOMWindow): 24201 * bindings/js/JSDOMWindowBase.h: 24202 * bindings/js/JSDOMWindowCustom.cpp: 24203 (WebCore::JSDOMWindow::setLocation): 24204 (WebCore::JSDOMWindow::postMessage): 24205 * bindings/js/JSDatabaseCustom.cpp: 24206 (WebCore::JSDatabase::changeVersion): 24207 (WebCore::JSDatabase::transaction): 24208 * bindings/js/JSDocumentCustom.cpp: 24209 (WebCore::JSDocument::setLocation): 24210 * bindings/js/JSLocationCustom.cpp: 24211 (WebCore::navigateIfAllowed): 24212 (WebCore::JSLocation::setHref): 24213 (WebCore::JSLocation::replace): 24214 (WebCore::JSLocation::reload): 24215 (WebCore::JSLocation::assign): 24216 * bindings/js/JSSQLTransactionCustom.cpp: 24217 (WebCore::JSSQLTransaction::executeSql): 24218 * bindings/js/JSXMLHttpRequestCustom.cpp: 24219 (WebCore::JSXMLHttpRequest::open): 24220 * page/JavaScriptDebugServer.cpp: 24221 (WebCore::toPage): 24222 24223 2008-05-01 Anatoli Papirovski <apapirovski (a] mac.com> 24224 24225 Reviewed by Dave Hyatt. 24226 24227 - fix https://bugs.webkit.org/show_bug.cgi?id=18347 24228 Absolutely positioned image percentage width does not respect container's padding 24229 24230 Test: fast/replaced/absolute-position-percentage-width.html 24231 24232 * rendering/RenderBox.cpp: 24233 (WebCore::RenderBox::calcReplacedWidthUsing): 24234 24235 2008-05-01 Dan Bernstein <mitz (a] apple.com> 24236 24237 - Windows build fix 24238 24239 * platform/graphics/win/FontCGWin.cpp: 24240 (WebCore::Font::drawGlyphs): 24241 24242 2008-05-01 Dan Bernstein <mitz (a] apple.com> 24243 24244 Reviewed by Darin Adler. 24245 24246 - make synthetic bold and synthetic italics work in GDI text 24247 - account for synthetic bold in complex text on Windows 24248 24249 * platform/graphics/win/FontCGWin.cpp: 24250 (WebCore::Font::drawGlyphs): Adjusted the text rectangle's x coordinates 24251 to fit italics. Added a skew transform for synthetic italics and a 24252 second paint pass for synthetic bold. 24253 * platform/graphics/win/SimpleFontDataWin.cpp: 24254 (WebCore::SimpleFontData::widthForGDIGlyph): Added the synthetic bold 24255 offset. 24256 * platform/graphics/win/UniscribeController.cpp: 24257 (WebCore::UniscribeController::shapeAndPlaceItem): Added the synthetic 24258 bold offset. 24259 24260 2008-05-01 Alp Toker <alp (a] nuanti.com> 24261 24262 Qt/Win build fix attempt following plugin changes. Add missing return 24263 statements. 24264 24265 Also fixes some newly introduced coding style issues in the Qt port. 24266 24267 * platform/qt/FileSystemQt.cpp: 24268 (WebCore::openTemporaryFile): 24269 (WebCore::closeFile): 24270 (WebCore::writeToFile): 24271 (WebCore::unloadModule): 24272 24273 2008-05-01 Anders Carlsson <andersca (a] apple.com> 24274 24275 Reviewed by Adam. 24276 24277 Export methods needed to subclass Widget. (See r32770.) 24278 24279 * WebCore.base.exp: 24280 24281 2008-05-01 Marc Ordinas i Llopis <marc.ordinasillopis (a] collabora.co.uk> 24282 24283 Reviewed by Alp Toker. 24284 Qt parts OK'ed by Simon Hausmann. 24285 24286 https://bugs.webkit.org/show_bug.cgi?id=14750 24287 Added support for NPAPI plugins on Gtk and Qt-x11 ports. 24288 24289 * GNUmakefile.am: Added Gtk plugin files. 24290 * WebCore.pro: Added Qt plugins files, defined XP_UNIX and 24291 ENABLE_NETSCAPE_PLUGIN_API 24292 * bridge/npruntime_internal.h: Additional undefs that conflict 24293 with Qt headers. 24294 * page/gtk/FrameGtk.cpp: Create js bindings for PluginView. 24295 (WebCore::Frame::createScriptInstanceForWidget): 24296 * page/qt/FrameQt.cpp: Create js bindings for PluginView. 24297 (WebCore::Frame::createScriptInstanceForWidget): 24298 (WebCore::Frame::clearPlatformScriptObjects): 24299 (WebCore::Frame::disconnectPlatformScriptObjects): 24300 * platform/FileSystem.h: Qt FileSystem implementation. 24301 * platform/Widget.h: Members to differentiate between Qt plugins and 24302 NPAPI ones. 24303 * platform/gtk/ScrollViewGtk.cpp: 24304 (WebCore::ScrollView::addChild): Set containing window before calling setParent. 24305 * platform/gtk/TemporaryLinkStubs.cpp: Removed implemented functions. 24306 (PluginView::invalidateRegion): 24307 * platform/qt/FileSystemQt.cpp: Implemented functions necessary for 24308 NPAPI plugins. 24309 (WebCore::openTemporaryFile): 24310 (WebCore::closeFile): 24311 (WebCore::writeToFile): 24312 (WebCore::unloadModule): Delete module if unloaded. 24313 * platform/qt/TemporaryLinkStubs.cpp: Removed implemented functions. 24314 * platform/qt/WidgetQt.cpp: Differentiate between Qt plugins and 24315 NPAPI ones. 24316 (WebCore::WidgetPrivate::WidgetPrivate): 24317 (WebCore::Widget::isNPAPIPlugin): 24318 (WebCore::Widget::setIsNPAPIPlugin): 24319 * plugins/PluginPackage.cpp: 24320 (WebCore::PluginPackage::~PluginPackage): Unload the module before 24321 destruction. 24322 (WebCore::PluginPackage::compare): Moved here as it's platform 24323 independent. 24324 * plugins/PluginView.cpp: Moved platform-independent functions here. 24325 (WebCore::PluginView::PluginView): Initialize m_npWindow.ws_info on 24326 Unix platforms. 24327 (WebCore::PluginView::freeStringArray): 24328 (WebCore::startsWithBlankLine): 24329 (WebCore::locationAfterFirstBlankLine): 24330 (WebCore::findEOL): 24331 (WebCore::capitalizeRFC822HeaderFieldName): 24332 (WebCore::parseRFC822HeaderFields): 24333 (WebCore::PluginView::handlePost): 24334 * plugins/PluginView.h: Moved platform-independent functions here. 24335 Added member to signal plugin needs XEmbed extension. 24336 * plugins/gtk/PluginDataGtk.cpp: Added. 24337 (WebCore::PluginData::initPlugins): 24338 (WebCore::PluginData::refresh): 24339 * plugins/gtk/PluginDatabaseGtk.cpp: 24340 (WebCore::PluginDatabase::defaultPluginDirectories): 24341 (WebCore::PluginDatabase::isPreferredPluginDirectory): 24342 * plugins/gtk/PluginPackageGtk.cpp: Added. 24343 (WebCore::PluginPackage::determineQuirks): 24344 (WebCore::PluginPackage::fetchInfo): 24345 (WebCore::PluginPackage::load): 24346 (WebCore::PluginPackage::hash): 24347 (WebCore::PluginPackage::equal): 24348 (WebCore::PluginPackage::compareFileVersion): 24349 * plugins/gtk/PluginViewGtk.cpp: Added. 24350 (WebCore::PluginView::updateWindow): 24351 (WebCore::PluginView::setFocus): 24352 (WebCore::PluginView::show): 24353 (WebCore::PluginView::hide): 24354 (WebCore::PluginView::paint): 24355 (WebCore::PluginView::handleKeyboardEvent): 24356 (WebCore::PluginView::handleMouseEvent): 24357 (WebCore::PluginView::setParent): 24358 (WebCore::PluginView::setNPWindowRect): 24359 (WebCore::PluginView::attachToWindow): 24360 (WebCore::PluginView::detachFromWindow): 24361 (WebCore::PluginView::stop): 24362 (WebCore::PluginView::userAgent): 24363 (WebCore::PluginView::handlePostReadFile): 24364 (WebCore::PluginView::getValue): 24365 (WebCore::PluginView::invalidateRect): 24366 (WebCore::PluginView::forceRedraw): 24367 (WebCore::PluginView::~PluginView): 24368 (WebCore::plug_removed_cb): Added callback to handle plug removal. 24369 (WebCore::PluginView::init): 24370 * plugins/gtk/xembed.h: Added. 24371 * plugins/npapi.cpp: 24372 (NPN_GetValue): Return error if no view present. 24373 * plugins/qt/PluginDataQt.cpp: 24374 (WebCore::PluginData::initPlugins): 24375 (WebCore::PluginData::refresh): 24376 * plugins/qt/PluginDatabaseQt.cpp: Added. 24377 (WebCore::PluginDatabase::getPluginPathsInDirectories): 24378 (WebCore::addQtWebKitPluginDirectories): 24379 (WebCore::addMozillaPluginDirectories): 24380 (WebCore::PluginDatabase::defaultPluginDirectories): 24381 (WebCore::PluginDatabase::isPreferredPluginDirectory): 24382 * plugins/qt/PluginPackageQt.cpp: Added. 24383 (WebCore::PluginPackage::determineQuirks): 24384 (WebCore::PluginPackage::fetchInfo): 24385 (WebCore::PluginPackage::load): 24386 (WebCore::PluginPackage::hash): 24387 (WebCore::PluginPackage::equal): 24388 (WebCore::PluginPackage::compareFileVersion): 24389 * plugins/qt/PluginViewQt.cpp: Added. 24390 (WebCore::PluginView::updateWindow): 24391 (WebCore::PluginView::setFocus): 24392 (WebCore::PluginView::show): 24393 (WebCore::PluginView::hide): 24394 (WebCore::PluginView::paint): 24395 (WebCore::PluginView::handleKeyboardEvent): 24396 (WebCore::PluginView::handleMouseEvent): 24397 (WebCore::PluginView::setParent): 24398 (WebCore::PluginView::setNPWindowRect): 24399 (WebCore::PluginView::attachToWindow): 24400 (WebCore::PluginView::detachFromWindow): 24401 (WebCore::PluginView::stop): 24402 (WebCore::PluginView::userAgent): 24403 (WebCore::PluginView::handlePostReadFile): 24404 (WebCore::PluginView::getValue): 24405 (WebCore::PluginView::invalidateRect): 24406 (WebCore::PluginView::invalidateRegion): 24407 (WebCore::PluginView::forceRedraw): 24408 (WebCore::PluginView::~PluginView): 24409 (WebCore::PluginView::init): 24410 * plugins/win/PluginPackageWin.cpp: Moved platform-independent code 24411 to plugins/PluginPackage.cpp 24412 * plugins/win/PluginViewWin.cpp: Moved platform-independent code to 24413 plugins/PluginView.cpp 24414 (WebCore::PluginView::stop): 24415 (WebCore::PluginView::handlePostReadFile): 24416 (WebCore::PluginView::getValue): Moved this function to each platform. 24417 24418 2008-05-01 Sam Weinig <sam (a] webkit.org> 24419 24420 Fix build. 24421 24422 * ForwardingHeaders/wtf/StrHash.h: Added. 24423 24424 2008-05-01 Anders Carlsson <andersca (a] apple.com> 24425 24426 Reviewed by Darin. 24427 24428 Move management of cache groups to ApplicationCacheStorage. Also, 24429 application caches now start out with a null group and will have their group set 24430 when the cache has finished loading. 24431 24432 * loader/appcache/ApplicationCache.cpp: 24433 (WebCore::ApplicationCache::ApplicationCache): 24434 Initialize m_group to 0. 24435 24436 (WebCore::ApplicationCache::~ApplicationCache): 24437 Null check the group. 24438 24439 (WebCore::ApplicationCache::setGroup): 24440 New method for setting the group. 24441 24442 * loader/appcache/ApplicationCache.h: 24443 (WebCore::ApplicationCache::create): 24444 Remove the group argument. 24445 24446 * loader/appcache/ApplicationCacheGroup.cpp: 24447 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup): 24448 Let the storage know that the cache group has been destroyed. 24449 24450 (WebCore::ApplicationCacheGroup::cacheForMainRequest): 24451 Call into the storage. 24452 24453 (WebCore::ApplicationCacheGroup::selectCache): 24454 Call into the storage. 24455 24456 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): 24457 When there are no document loaders associated with the cache group, 24458 set the newest cache to 0. 24459 24460 (WebCore::ApplicationCacheGroup::cacheDestroyed): 24461 Delete the group if there are no associated caches. 24462 24463 (WebCore::ApplicationCacheGroup::setNewestCache): 24464 New method that will set the newest cache and associate the group with the cache. 24465 24466 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): 24467 Call setNewestCache instead. 24468 24469 * loader/appcache/ApplicationCacheStorage.cpp: 24470 (WebCore::urlHostHash): 24471 Move host hash method here. 24472 24473 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): 24474 New method that finds a cache group with a given manifest URL or creates a new one. 24475 24476 (WebCore::ApplicationCacheStorage::cacheGroupForURL): 24477 New method that returns a cache group for a given URL. 24478 24479 (WebCore::ApplicationCacheStorage::cacheGroupDestroyed): 24480 When the cache group has been destroyed, remove it from the hash map. 24481 24482 * loader/appcache/ApplicationCacheStorage.h: 24483 Add new methods.I b 24484 24485 2008-05-01 Dan Winship <danw (a] gnome.org> 24486 24487 Reviewed by Alp Toker. 24488 24489 http://bugs.webkit.org/show_bug.cgi?id=18490 24490 Add mostly-working file: support and mostly-broken ftp: support to 24491 the soup backend. 24492 24493 * platform/network/soup/ResourceHandleSoup.cpp (start): after 24494 doing basic checks, delegate to one of three submethods 24495 (startData): handles data: URLs 24496 (startHttp): handles http: and https: URLs, via libsoup 24497 (startGio, etc): handles file: and ftp: URLs, via gio. Lots of 24498 FIXMEs detailing the parts that don't fully work yet. 24499 24500 * platform/network/ResourceHandle.h: 24501 * platform/network/ResourceHandleInternal.h: add new member 24502 variables for gio-based loading 24503 24504 2008-05-01 Alp Toker <alp (a] nuanti.com> 24505 24506 Rubber-stamped by Anders. 24507 24508 GTK+ build fix for changes in r32752. Use int32, not int32_t types in 24509 npapi.h. 24510 24511 Additional fix to use same signedness in npapi.h and Mac for the 24512 interval parameter. 24513 24514 * bridge/npapi.h: 24515 24516 2008-04-30 Anders Carlsson <andersca (a] apple.com> 24517 24518 Reviewed by Adam. 24519 24520 Add new Cocoa event model type declarations. 24521 24522 * bridge/npapi.h: 24523 24524 2008-04-30 Beth Dakin <bdakin (a] apple.com> 24525 24526 Reviewed by Sam Weinig. 24527 24528 This patch does three things: 24529 1. Adds support for the "img" ARIA role 24530 2. Switches over to a HashMap for converting ARIA role attributes 24531 to WebCore's AccessibilityRole type. 24532 3. Fixes a crash in the new ARIA code that I ran into while 24533 browsing with VoiceOver enabled. 24534 24535 * page/AccessibilityObject.cpp: 24536 (WebCore::AccessibilityObject::headingLevel): This is the crash 24537 fix. Make sure the node's renderer is not null before looking up 24538 its corresponding AccessibilityObject in the cache. 24539 (WebCore::AccessibilityObject::accessibilityIsIgnored): Account for 24540 ARIA images. 24541 (WebCore::createARIARoleMap): Switch to HashMap, and add "img" to 24542 the Map. 24543 (WebCore::RoleEntry::): Same. 24544 (WebCore::ariaRoleToWebCoreRole): Same. 24545 (WebCore::AccessibilityObject::ariaRoleAttribute): Same. 24546 24547 2008-04-30 Rob Buis <buis (a] kde.org> 24548 24549 Reviewed by Nikolas. 24550 24551 https://bugs.webkit.org/show_bug.cgi?id=16447 24552 onload called too many times for <svg:image> 24553 https://bugs.webkit.org/show_bug.cgi?id=12282 24554 SVG wastes time in malloc to send loadEvents to non-existent listeners 24555 24556 Postpone load event dispatching for image when externalResourcesRequired 24557 is true, delaying parents but not siblings, and make sure the load event 24558 is sent once for image in all cases. 24559 24560 * svg/SVGElement.cpp: 24561 (WebCore::hasLoadListener): 24562 (WebCore::SVGElement::sendSVGLoadEventIfPossible): 24563 * svg/SVGImageElement.cpp: 24564 (WebCore::SVGImageElement::haveLoadedRequiredResources): 24565 * svg/SVGImageLoader.cpp: 24566 (WebCore::SVGImageLoader::dispatchLoadEvent): 24567 24568 2008-04-30 David Hyatt <hyatt (a] apple.com> 24569 24570 Fix crashes when dynamically removing <video> elements with layers that establish stacking contexts. This 24571 won't typically crash release builds because of arena recycling. 24572 24573 Reviewed by Dan Bernstein 24574 24575 * rendering/RenderLayer.cpp: 24576 (WebCore::RenderLayer::~RenderLayer): 24577 Make sure to remove the reflection's child layer from its parent. 24578 24579 * rendering/RenderMedia.cpp: 24580 (WebCore::RenderMedia::~RenderMedia): 24581 (WebCore::RenderMedia::destroy): 24582 (WebCore::RenderMedia::removeChild): 24583 * rendering/RenderMedia.h: 24584 Adjust the teardown of RenderMedia so that it does all of its teardown inside destroy() (this makes it more 24585 like other renderers and doesn't leave you staring at a trashed layer hierarchy in the RenderMedia 24586 destructor). 24587 24588 2008-04-30 Rmi Zara <remi_zara (a] mac.com> 24589 24590 Reviewed by Dave Hyatt. 24591 24592 fix https://bugs.webkit.org/show_bug.cgi?id=18618 24593 <rdar://problem/5876063> REGRESSION (r31823-r31847): Patterns are upside down 24594 24595 * svg/graphics/cg/SVGPaintServerPatternCg.cpp: 24596 (WebCore::patternCallback): flip the y axis when drawing the tile 24597 24598 2008-04-30 Timothy Hatcher <timothy (a] apple.com> 24599 24600 Fixes an undefined type exception that fires when adding a resource to the inspector 24601 that has a MIME type warning. 24602 24603 Reviewed by Adam Roben. 24604 24605 * page/inspector/Resource.js: 24606 (WebInspector.Resource.prototype._addTip): Call WebInspector.console instead of 24607 WebInspector.consolePanel. 24608 (WebInspector.Resource.prototype._checkWarning): Ditto. 24609 24610 2008-04-30 Timothy Hatcher <timothy (a] apple.com> 24611 24612 Fixes the bug where the selected resource would be deselected after 24613 changing the sort order in the Resources panel. 24614 24615 Reviewed by Dan Bernstein. 24616 24617 * page/inspector/ResourcesPanel.js: 24618 (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): 24619 Rememebr if the tree element that we are sorting was selected, so 24620 the selection can be restored after it is re-inserted. The onSelect 24621 is suppressed since we don't need to show the resource again. 24622 24623 2008-04-29 Timothy Hatcher <timothy (a] apple.com> 24624 24625 Fixes the regression where error bubbles in source views always show 24626 "undefined" for the content because the message property on 24627 ConsoleMessage was removed. Adds support for a plain text formated 24628 message that is stored in the message proeprty. 24629 24630 Reviewed by Adam Roben. 24631 24632 * page/inspector/Console.js: 24633 (WebInspector.Console.prototype._format): Add a plainText argument that is passed to 24634 the formatters. 24635 (WebInspector.Console.prototype._formatvalue): Add a plainText argument, and a comment 24636 about needing to honor it if the textContent of the output doesn't make sense. 24637 (WebInspector.Console.prototype._formatvalue): Ditto. 24638 (WebInspector.Console.prototype._formatstring): Ditto. 24639 (WebInspector.Console.prototype._formatregexp): Ditto. 24640 (WebInspector.Console.prototype._formatarray): Ditto. 24641 (WebInspector.Console.prototype._formatnode): Ditto. 24642 (WebInspector.Console.prototype._formatobject): Ditto. 24643 (WebInspector.Console.prototype._formaterror): Ditto. 24644 (WebInspector.ConsoleMessage): Call _format passing true for plainText. Get the 24645 textContnet of the result and assign to the message proeprty. This property is 24646 referenced from the SourceView. 24647 (WebInspector.ConsoleMessage.prototype._format): Add a plainText argument. Build the 24648 result element as a local and return it, instead of using formatedMessage directly. 24649 24650 2008-04-30 Timothy Hatcher <timothy (a] apple.com> 24651 24652 Adds a helper function to convert a JSValueRef to a String. 24653 24654 Reviewed by Adam Roben. 24655 24656 * page/InspectorController.cpp: 24657 (WebCore::toString): Converts a JSValueRef to a String. 24658 (WebCore::search): Use toString. 24659 (WebCore::InspectorController::handleException): Ditto. 24660 24661 2008-04-30 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 24662 24663 Reviewed by Simon. 24664 24665 Build the Qt port with SVG Foreign Object support. 24666 24667 * WebCore.pro: 24668 24669 2008-04-30 Simon Hausmann <hausmann (a] webkit.org> 24670 24671 Reviewed by Holger. 24672 24673 Fix null pointer deference triggered by 24674 LayoutTests/fast/loader/cancel-load-during-port-block-timer.html 24675 24676 * platform/network/qt/ResourceHandleQt.cpp: 24677 (WebCore::ResourceHandle::cancel): Check m_job before dereferencing. 24678 24679 2008-04-29 David Hyatt <hyatt (a] apple.com> 24680 24681 Improve the performance of masks by adding code to set more precise clips on the transparency layers 24682 used to paint the content under the mask, and then also avoid creating transparency layers for the masks 24683 themselves in common cases. 24684 24685 Reviewed by Dan Bernstein 24686 24687 * platform/graphics/GraphicsContext.cpp: 24688 (WebCore::GraphicsContext::drawTiledImage): 24689 Fix a bug in drawTiledImage where the composite mode got lost in the double stretch case for nine piece 24690 images. 24691 24692 * rendering/InlineFlowBox.cpp: 24693 (WebCore::InlineFlowBox::paintFillLayers): 24694 (WebCore::InlineFlowBox::paintFillLayer): 24695 (WebCore::InlineFlowBox::paintMask): 24696 Optimize to only push a transparency layer for the mask if multiple images are combining. Add a new 24697 composite operator argument for use when painting fill layers to do direct destination-in compositing while 24698 painting images. 24699 24700 24701 * rendering/InlineFlowBox.h: 24702 * rendering/RenderBox.cpp: 24703 (WebCore::RenderBox::paintMask): 24704 (WebCore::RenderBox::paintMaskImages): 24705 Optimize to only push a transparency layer for the mask if multiple images are combining. 24706 24707 (WebCore::RenderBox::maskClipRect): 24708 A new method that attempts to compute a precise clip rect for the mask images. 24709 24710 (WebCore::RenderBox::paintFillLayers): 24711 (WebCore::RenderBox::paintFillLayer): 24712 (WebCore::RenderBox::paintFillLayerExtended): 24713 * rendering/RenderBox.h: 24714 Added the composite operator argument to the paintFillLayer methods. 24715 24716 * rendering/RenderFieldset.cpp: 24717 (WebCore::RenderFieldset::paintMask): 24718 Call the new base class paintMaskImages method for optimized mask painting. 24719 24720 * rendering/RenderLayer.cpp: 24721 (WebCore::transparencyClipBox): 24722 Fix a coordinate space issue with transparencyClipBox when masks were used. The border box was in the 24723 wrong coordinate space. Moved the code into the layer's boundingBox() method instead. 24724 24725 (WebCore::RenderLayer::paintLayer): 24726 Removed the code that always pushed a transparency layer before painting masks. 24727 24728 (WebCore::RenderLayer::boundingBox): 24729 Call maskClipRect to shrink the bounding box of the layer to fit the mask clip. 24730 24731 * rendering/RenderObject.cpp: 24732 (WebCore::RenderObject::paintNinePieceImage): 24733 Added a composite operator argument for direct destination-in painting of nine piece images. 24734 24735 * rendering/RenderObject.h: 24736 (WebCore::RenderObject::maskClipRect): 24737 (WebCore::RenderObject::paintFillLayerExtended): 24738 Base class stubs for RenderBox-implemented methods. 24739 24740 * rendering/RenderTable.cpp: 24741 (WebCore::RenderTable::paintMask): 24742 * rendering/RenderTableCell.cpp: 24743 (WebCore::RenderTableCell::paintMask): 24744 Modified to call the new paintMaskImages function. 24745 24746 * svg/graphics/SVGImage.cpp: 24747 (WebCore::SVGImage::draw): 24748 SVG images now respect composite modes by pushing a transparency layer when the composite mode 24749 is anything other than source-over. 24750 24751 2008-04-30 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 24752 24753 Rubber-stamped by Rob Buis. 24754 24755 Fixed crash or assertion if SVG_FOREIGN_OBJECT is not enabled 24756 24757 * svg/SVGUseElement.cpp: 24758 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements): 24759 24760 2008-04-30 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 24761 24762 Rubber-stamped by Rob Buis. 24763 24764 Fixed compile, due to API change in XMLSerializer 24765 24766 * svg/SVGUseElement.cpp: 24767 (WebCore::SVGUseElement::buildPendingResource): 24768 24769 2008-04-30 Rob Buis <buis (a] kde.org> 24770 24771 Reviewed by Eric. 24772 24773 https://bugs.webkit.org/show_bug.cgi?id=11939 24774 Quirksmode: Ignores media types in stylesheet PIs 24775 24776 Transfer the xml-stylesheet pseudo attribute media to the css 24777 stylesheet created from the ProcessingInstruction. 24778 24779 Tests: fast/css/xml-stylesheet-media-processing.xhtml 24780 24781 * css/StyleSheet.cpp: 24782 (WebCore::StyleSheet::setMedia): 24783 * css/StyleSheet.h: 24784 * dom/ProcessingInstruction.cpp: 24785 (WebCore::ProcessingInstruction::checkStyleSheet): 24786 (WebCore::ProcessingInstruction::setCSSStyleSheet): 24787 * dom/ProcessingInstruction.h: 24788 24789 2008-04-29 David D. Kilzer <ddkilzer (a] apple.com> 24790 24791 BUILD FIX for export of WTF::RefCounted<WebCore::FormData>::deref() 24792 24793 On the buildbot, this is a fatal error: 24794 24795 ld: symbols names listed in -exported_symbols_list: WebKitBuild/Release/DerivedSources/WebCore/WebCore.exp not in linked objects 24796 __ZN3WTF10RefCountedIN7WebCore8FormDataEE5derefEv 24797 /usr/bin/libtool: internal link edit command failed 24798 24799 Newer dev tools only produce a warning: 24800 24801 ld warning: cannot export hidden symbol __ZN3WTF10RefCountedIN7WebCore8FormDataEE5derefEv from WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/i386/DocumentLoader.o 24802 24803 * WebCore.base.exp: Remove hidden symbol from export list. 24804 24805 2008-04-29 David Kilzer <ddkilzer (a] apple.com> 24806 24807 Another BUILD FIX for ENABLE(DASHBOARD_SUPPORT) 24808 24809 * dom/make_names.pl: Added #if ENABLE(DASHBOARD_SUPPORT) to Dashboard code. 24810 24811 2008-04-29 David Kilzer <ddkilzer (a] apple.com> 24812 24813 BUILD FIX for ENABLE(DASHBOARD_SUPPORT) 24814 24815 * DerivedSources.make: Removed duplication of targets for 24816 generating CSSPropertyNames.h and CSSValueKeywords.h. 24817 * GNUmakefile.am: Ditto. Added support for ENABLE_DASHBOARD_SUPPORT. 24818 * WebCore.pro: Added support for ENABLE_DASHBOARD_SUPPORT. 24819 Made both SVG and non-SVG variables of GENERATOR 6-A use new 24820 DASHBOARDSUPPORTCSSPROPERTIES variable. 24821 24822 2008-04-29 Ada Chan <adachan (a] apple.com> 24823 24824 Added missing return. 24825 24826 * platform/win/COMPtr.h: 24827 (WTF::): 24828 24829 2008-04-29 Alp Toker <alp (a] nuanti.com> 24830 24831 GTK+ build fix attempt following breakage in r32700 which 24832 conditionalised dashboard support. 24833 24834 * GNUmakefile.am: 24835 24836 2008-04-29 Adam Roben <aroben (a] apple.com> 24837 24838 Restore the beloved COMPtr::operator& 24839 24840 * platform/win/COMPtr.h: Removed the HashTableDeletedValueType 24841 constructor and isHashTableDeletedValue and hashTableDeletedValue 24842 functions. 24843 (WTF::): Changed constructDeletedValue to play nicely with 24844 COMPtr::operator&. 24845 24846 2008-04-29 Adam Roben <aroben (a] apple.com> 24847 24848 Fix assertion on launch on Windows 24849 24850 * platform/graphics/win/FontPlatformData.h: Pass 24851 WTF::HashTableDeletedValue to the m_font constructor instead of a 24852 bogus -1 value. This is needed because m_font is a RefPtr. 24853 24854 2008-04-29 Greg Bolsinga <bolsinga (a] apple.com> 24855 24856 Reviewed by Darin. 24857 24858 Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT) 24859 24860 * DerivedSources.make: 24861 * WebCore.DashboardSupport.exp: Added. 24862 * WebCore.base.exp: 24863 * WebCore.xcodeproj/project.pbxproj: 24864 * bindings/js/JSDOMWindowCustom.cpp: 24865 (WebCore::JSDOMWindow::setLocation): 24866 * css/CSSComputedStyleDeclaration.cpp: 24867 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 24868 * css/CSSParser.cpp: 24869 (WebCore::CSSParser::parseValue): 24870 * css/CSSPrimitiveValue.cpp: 24871 (WebCore::CSSPrimitiveValue::cleanup): 24872 (WebCore::CSSPrimitiveValue::cssText): 24873 * css/CSSPropertyNames.in: 24874 * css/CSSStyleSelector.cpp: 24875 (WebCore::CSSStyleSelector::applyProperty): 24876 * css/DashboardRegion.h: 24877 * css/DashboardSupportCSSPropertyNames.in: Added. 24878 * dom/DOMImplementation.cpp: 24879 (WebCore::DOMImplementation::createDocument): 24880 * dom/Document.cpp: 24881 (WebCore::Document::Document): 24882 (WebCore::Document::importNode): 24883 * dom/Document.h: 24884 * html/CanvasRenderingContext2D.cpp: 24885 (WebCore::CanvasRenderingContext2D::fill): 24886 (WebCore::CanvasRenderingContext2D::stroke): 24887 (WebCore::CanvasRenderingContext2D::clip): 24888 * html/CanvasRenderingContext2D.h: 24889 * html/HTMLCanvasElement.cpp: 24890 * html/HTMLCanvasElement.h: 24891 * page/Chrome.cpp: 24892 * page/ChromeClient.h: 24893 * page/Frame.cpp: 24894 (WebCore::Frame::paint): 24895 * page/Frame.h: 24896 * page/FrameView.cpp: 24897 (WebCore::FrameView::layout): 24898 * page/FrameView.h: 24899 * page/Settings.cpp: 24900 (WebCore::Settings::Settings): 24901 * page/Settings.h: 24902 * page/mac/EventHandlerMac.mm: 24903 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): 24904 * page/mac/FrameMac.mm: 24905 * page/mac/WebDashboardRegion.h: 24906 * page/mac/WebDashboardRegion.m: 24907 * rendering/RenderLayer.cpp: 24908 (WebCore::RenderLayer::scrollToOffset): 24909 (WebCore::RenderLayer::setHasHorizontalScrollbar): 24910 (WebCore::RenderLayer::setHasVerticalScrollbar): 24911 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 24912 * rendering/RenderObject.cpp: 24913 (WebCore::RenderObject::setStyle): 24914 * rendering/RenderObject.h: 24915 * rendering/RenderStyle.cpp: 24916 (WebCore::StyleRareNonInheritedData::operator==): 24917 (WebCore::RenderStyle::diff): 24918 * rendering/RenderStyle.h: 24919 * xml/XMLHttpRequest.cpp: 24920 (WebCore::XMLHttpRequest::send): 24921 (WebCore::XMLHttpRequest::setRequestHeader): 24922 24923 2008-04-29 Adam Roben <aroben (a] apple.com> 24924 24925 Windows build fix 24926 24927 This removes COMPtr::operator&, which didn't jive with HashTable. It 24928 is replaced by COMPtr::adoptionPointer. 24929 24930 Discussed with Darin Adler and Anders Carlsson. 24931 24932 * platform/win/COMPtr.h: Replaced operator& with adoptionPointer. 24933 24934 2008-04-29 David Hyatt <hyatt (a] apple.com> 24935 24936 Implement the new box-reflect property in CSS. This property enables real-time reflections on 24937 objects (yes you can reflect <video>!). 24938 24939 Reviewed by Dan Bernstein 24940 24941 Test cases added in fast/reflections/ 24942 24943 * GNUmakefile.am: 24944 * WebCore.pro: 24945 * WebCore.xcodeproj/project.pbxproj: 24946 * WebCoreSources.bkl: 24947 * css/CSSComputedStyleDeclaration.cpp: 24948 (WebCore::valueForReflection): 24949 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 24950 * css/CSSParser.cpp: 24951 (WebCore::CSSParser::parseValue): 24952 (WebCore::CSSParser::parseReflect): 24953 (WebCore::BorderImageParseContext::commitBorderImage): 24954 (WebCore::CSSParser::parseBorderImage): 24955 (WebCore::parseGradientColorStop): 24956 (WebCore::CSSParser::parseTransform): 24957 * css/CSSParser.h: 24958 * css/CSSPropertyNames.in: 24959 * css/CSSReflectValue.cpp: Added. 24960 (WebCore::CSSReflectValue::cssText): 24961 * css/CSSReflectValue.h: Added. 24962 (WebCore::CSSReflectValue::CSSReflectValue): 24963 (WebCore::CSSReflectValue::direction): 24964 (WebCore::CSSReflectValue::offset): 24965 (WebCore::CSSReflectValue::mask): 24966 (WebCore::CSSReflectValue::setDirection): 24967 (WebCore::CSSReflectValue::setOffset): 24968 (WebCore::CSSReflectValue::setMask): 24969 * css/CSSStyleSelector.cpp: 24970 (WebCore::CSSStyleSelector::adjustRenderStyle): 24971 (WebCore::CSSStyleSelector::applyProperty): 24972 (WebCore::CSSStyleSelector::mapNinePieceImage): 24973 * css/CSSStyleSelector.h: 24974 * rendering/InlineFlowBox.cpp: 24975 (WebCore::InlineFlowBox::placeBoxesVertically): 24976 (WebCore::InlineFlowBox::paintMask): 24977 * rendering/Length.h: 24978 (WebCore::Length::calcFloatValue): 24979 * rendering/RenderBlock.cpp: 24980 (WebCore::RenderBlock::overflowHeight): 24981 (WebCore::RenderBlock::overflowWidth): 24982 (WebCore::RenderBlock::overflowLeft): 24983 (WebCore::RenderBlock::overflowTop): 24984 (WebCore::RenderBlock::overflowRect): 24985 (WebCore::RenderBlock::layoutBlock): 24986 * rendering/RenderBox.cpp: 24987 (WebCore::RenderBox::setStyle): 24988 (WebCore::RenderBox::paintMask): 24989 (WebCore::RenderBox::imageChanged): 24990 (WebCore::RenderBox::computeAbsoluteRepaintRect): 24991 * rendering/RenderFlexibleBox.cpp: 24992 (WebCore::RenderFlexibleBox::layoutBlock): 24993 * rendering/RenderLayer.cpp: 24994 (WebCore::RenderLayer::RenderLayer): 24995 (WebCore::RenderLayer::~RenderLayer): 24996 (WebCore::RenderLayer::updateLayerPositions): 24997 (WebCore::RenderLayer::enclosingPositionedAncestor): 24998 (WebCore::RenderLayer::enclosingTransformedAncestor): 24999 (WebCore::RenderLayer::isTransparent): 25000 (WebCore::transparencyClipBox): 25001 (WebCore::RenderLayer::operator delete): 25002 (WebCore::RenderLayer::destroy): 25003 (WebCore::RenderLayer::removeOnlyThisLayer): 25004 (WebCore::RenderLayer::insertOnlyThisLayer): 25005 (WebCore::RenderLayer::paintLayer): 25006 (WebCore::RenderLayer::updateZOrderLists): 25007 (WebCore::RenderLayer::updateOverflowList): 25008 (WebCore::RenderLayer::collectLayers): 25009 (WebCore::RenderLayer::shouldBeOverflowOnly): 25010 (WebCore::RenderLayer::styleChanged): 25011 (WebCore::RenderLayer::reflectionLayer): 25012 (WebCore::RenderLayer::createReflection): 25013 (WebCore::RenderLayer::updateReflectionStyle): 25014 * rendering/RenderLayer.h: 25015 (WebCore::RenderLayer::hasReflection): 25016 (WebCore::RenderLayer::reflection): 25017 (WebCore::RenderLayer::paintingInsideReflection): 25018 * rendering/RenderObject.cpp: 25019 (WebCore::RenderObject::RenderObject): 25020 (WebCore::RenderObject::requiresLayer): 25021 (WebCore::RenderObject::setStyle): 25022 (WebCore::RenderObject::updateImage): 25023 (WebCore::RenderObject::reflectionBox): 25024 (WebCore::RenderObject::reflectionOffset): 25025 * rendering/RenderObject.h: 25026 (WebCore::RenderObject::hasTransform): 25027 (WebCore::RenderObject::setHasReflection): 25028 (WebCore::RenderObject::hasReflection): 25029 * rendering/RenderReplica.cpp: Added. 25030 (WebCore::RenderReplica::RenderReplica): 25031 (WebCore::RenderReplica::~RenderReplica): 25032 (WebCore::RenderReplica::layout): 25033 (WebCore::RenderReplica::calcPrefWidths): 25034 (WebCore::RenderReplica::paint): 25035 * rendering/RenderReplica.h: Added. 25036 (WebCore::RenderReplica::renderName): 25037 (WebCore::RenderReplica::requiresLayer): 25038 * rendering/RenderStyle.cpp: 25039 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 25040 (WebCore::StyleRareNonInheritedData::operator==): 25041 (WebCore::StyleRareNonInheritedData::reflectionDataEquivalent): 25042 (WebCore::RenderStyle::diff): 25043 (WebCore::RenderStyle::applyTransform): 25044 * rendering/RenderStyle.h: 25045 (WebCore::TranslateTransformOperation::apply): 25046 (WebCore::StyleReflection::StyleReflection): 25047 (WebCore::StyleReflection::operator==): 25048 (WebCore::StyleReflection::operator!=): 25049 (WebCore::StyleReflection::direction): 25050 (WebCore::StyleReflection::offset): 25051 (WebCore::StyleReflection::mask): 25052 (WebCore::StyleReflection::setDirection): 25053 (WebCore::StyleReflection::setOffset): 25054 (WebCore::StyleReflection::setMask): 25055 (WebCore::RenderStyle::boxReflect): 25056 (WebCore::RenderStyle::setBoxReflect): 25057 (WebCore::RenderStyle::initialBoxReflect): 25058 * rendering/RenderTable.cpp: 25059 (WebCore::RenderTable::layout): 25060 (WebCore::RenderTable::paintMask): 25061 * rendering/RenderTableCell.cpp: 25062 (WebCore::RenderTableCell::requiresLayer): 25063 (WebCore::RenderTableCell::paintMask): 25064 25065 2008-04-29 Beth Dakin <bdakin (a] apple.com> 25066 25067 Reviewed by Alice. 25068 25069 Initial implementation of the following ARIA roles: button, 25070 checkbox, heading, link, radio, textbox. 25071 25072 * html/HTMLAttributeNames.in: Add 'role' to list of attributes. 25073 25074 * page/AccessibilityObject.cpp: 25075 When an ARIA role is set, the role overrides whatever the actual 25076 element is when the element reports itself to the screen reader. So all of these isBlah functions report based on their roleValue now. 25077 (WebCore::AccessibilityObject::isWebArea): 25078 (WebCore::AccessibilityObject::isImageButton): 25079 (WebCore::AccessibilityObject::isAnchor): 25080 (WebCore::AccessibilityObject::isTextControl): 25081 (WebCore::AccessibilityObject::isImage): 25082 (WebCore::AccessibilityObject::isAttachment): 25083 (WebCore::AccessibilityObject::isPasswordField): 25084 (WebCore::AccessibilityObject::isCheckboxOrRadio): 25085 (WebCore::AccessibilityObject::isHeading): 25086 (WebCore::AccessibilityObject::isLink): 25087 25088 Check for ARIA information: 25089 (WebCore::AccessibilityObject::headingLevel): 25090 (WebCore::AccessibilityObject::anchorElement): 25091 (WebCore::AccessibilityObject::actionElement): 25092 (WebCore::AccessibilityObject::hasIntValue): 25093 (WebCore::AccessibilityObject::intValue): 25094 (WebCore::AccessibilityObject::stringValue): 25095 (WebCore::AccessibilityObject::title): 25096 (WebCore::AccessibilityObject::accessibilityIsIgnored): 25097 (WebCore::AccessibilityObject::roleValue): 25098 25099 There are a few places in the code where it is important to identify the difference between ARIA and non-ARIA. 25100 (WebCore::AccessibilityObject::isNativeImage): 25101 (WebCore::AccessibilityObject::isNativeTextControl): 25102 (WebCore::isARIAInput): 25103 (WebCore::isARIAControl): 25104 25105 A lot of spots in the code used to cast to RenderTextControl to get information about the text inside the element. Now that non-native text controls can run this code with the ARIA role 'textbox', it needs to be as general as possible. 25106 (WebCore::AccessibilityObject::text): Still calls into 25107 RenderTextControl's text() for native text controls. Uses Element's 25108 innerText() for ARIA textboxes. 25109 (WebCore::AccessibilityObject::textLength): Call 25110 AccessibilityObject's text() instead of RenderTextControl's. 25111 (WebCore::AccessibilityObject::ariaSelectedTextDOMRange): 25112 (WebCore::AccessibilityObject::selectedText): 25113 (WebCore::AccessibilityObject::selectedTextRange): 25114 (WebCore::AccessibilityObject::selectionStart): 25115 (WebCore::AccessibilityObject::selectionEnd): 25116 (WebCore::AccessibilityObject::setSelectedTextRange): 25117 (WebCore::AccessibilityObject::setValue): 25118 (WebCore::AccessibilityObject::visiblePositionForIndex): 25119 (WebCore::AccessibilityObject::indexForVisiblePosition): 25120 (WebCore::AccessibilityObject::textMarkerRangeForRange): 25121 (WebCore::AccessibilityObject::textMarkerForIndex): 25122 (WebCore::AccessibilityObject::indexForTextMarker): 25123 (WebCore::AccessibilityObject::doAXRangeForLine): 25124 (WebCore::AccessibilityObject::doAXRangeForIndex): 25125 (WebCore::AccessibilityObject::doAXStringForRange): 25126 (WebCore::AccessibilityObject::doAXBoundsForRange): 25127 25128 Reports ARIA role. If the role is not valid or simply not set, return UnknownRole. 25129 (WebCore::AccessibilityObject::ariaRoleAttribute): 25130 25131 Added several new functions. Most of them existed before but were static, or have been added to reduce the dependency on RenderTextControl for a lot of the text functionality. 25132 * page/AccessibilityObject.h: 25133 25134 Eliminated dependency on RenderTextControl cast. The information is generalized now and available directly through the AccessibilityObject. 25135 * page/mac/AccessibilityObjectWrapper.mm: 25136 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 25137 (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]): 25138 25139 2008-04-29 Timothy Hatcher <timothy (a] apple.com> 25140 25141 Make the exceptions that the InspectorController catches log the 25142 original file and line number, if present on the exception object. 25143 25144 Reviewed by Adam Roben. 25145 25146 * page/InspectorController.cpp: 25147 (WebCore::InspectorController::callFunction): Pass the context to HANDLE_EXCEPTION. 25148 (WebCore::InspectorController::~InspectorController): Ditto. 25149 (WebCore::InspectorController::scriptObjectReady): Ditto. 25150 (WebCore::InspectorController::addScriptResource): Ditto. 25151 (WebCore::InspectorController::updateScriptResourceRequest): Ditto. 25152 (WebCore::InspectorController::updateScriptResourceResponse): Ditto. 25153 (WebCore::InspectorController::updateScriptResource): Ditto. 25154 (WebCore::InspectorController::addDatabaseScriptResource): Ditto. 25155 (WebCore::InspectorController::addScriptConsoleMessage): Ditto. 25156 (WebCore::InspectorController::handleException): Take a context. Pull the line 25157 and sourceURL properties off the exception if it is an object. 25158 * page/InspectorController.h: Change handleException to take a context. 25159 25160 2008-04-29 Timothy Hatcher <timothy (a] apple.com> 25161 25162 Fixes a regression where the Page's debugger would not be reattached 25163 when a new JSDOMWindow is created. 25164 25165 Reviewed by Sam Weinig. 25166 25167 * bindings/js/kjs_proxy.cpp: 25168 (WebCore::KJSProxy::clear): Call attachDebugger after creating the JSDOMWindow. 25169 * history/CachedPage.cpp: 25170 (WebCore::CachedPage::restore): For the case where the CachedPage doesn't 25171 contain a window, reattach the debugger to the new JSDOMWindow by calling 25172 proxy->attachDebugger. Also restore the setPageGroupIdentifier. 25173 25174 2008-04-29 Anatoli Papirovski <apapirovski (a] mac.com> 25175 25176 Reviewed by Darin Adler. 25177 25178 Fix for https://bugs.webkit.org/show_bug.cgi?id=18355 25179 Fixed RGB and RGBA parsing to ignore the declaration when the value is not 25180 "either three integer values or three percentage values." 25181 25182 * css/CSSParser.cpp: 25183 (WebCore::CSSParser::parseColorParameters): 25184 25185 2008-04-29 Holger Hans Peter Freyther <zecke (a] selfish.org> 25186 25187 Reviewed by Simon. 25188 25189 Fix crash when setHtml gets called from slots connected to QWebPage::unsupportedContent 25190 25191 Ben found this crash in the demo browser. 25192 25193 In void MainResourceLoader::continueAfterContentPolicy(PolicyAction contentPolicy, 25194 25195 case PolicyDownload: 25196 frameLoader()->client()->download(m_handle.get(), request(), m_handle.get()->request(), r); 25197 receivedError(interruptionForPolicyChangeError()); 25198 25199 We are in a policy check, the download() call will call setHtml, which will start loading 25200 the data into a frame. The loading will cancel all policy checks and call ResourceLoader::releaseResources 25201 which will set m_frame to 0. Then we return and invoke interruptionForPolicyChangeError() which 25202 will use the m_frame->loader() but it is gone. Do not call into receivedError and 25203 interruptionForPolicyChangeError if we are gone anyway... 25204 25205 * loader/MainResourceLoader.cpp: 25206 (WebCore::MainResourceLoader::continueAfterContentPolicy): 25207 25208 2008-04-29 Holger Hans Peter Freyther <zecke (a] selfish.org> 25209 25210 Reviewed by Simon. 25211 25212 Rely on auto-boxing of C++ for the QCursor c'tor 25213 25214 * platform/qt/CursorQt.cpp: 25215 25216 2008-04-29 Holger Hans Peter Freyther <zecke (a] selfish.org> 25217 25218 Reviewed by Simon. 25219 25220 Add the remaining cursors that defaulted to PointerCursor 25221 25222 * Resources/WebKitResources.qrc: 25223 * platform/qt/CursorQt.cpp: 25224 (WebCore::verticalTextCursor): 25225 (WebCore::cellCursor): 25226 (WebCore::contextMenuCursor): 25227 (WebCore::copyCursor): 25228 (WebCore::progressCursor): 25229 (WebCore::aliasCursor): 25230 25231 2008-04-29 Alice Liu <alice.liu (a] apple.com> 25232 25233 Reviewed by Beth Dakin. 25234 25235 Comply with HTML5 spec about parsing tabindex property according to 25236 integer parsing rules 25237 25238 Test: fast/parser/tabindex-parsing.html 25239 25240 * html/HTMLElement.cpp: 25241 (WebCore::HTMLElement::parseMappedAttribute): 25242 25243 2008-04-29 Tor Arne Vestb <tavestbo (a] trolltech.com> 25244 25245 Reviewed by Simon. 25246 25247 Fixes: Fix timing problem where scrollbars in subframes were sometimes not property repainted. 25248 25249 https://bugs.webkit.org/show_bug.cgi?id=18482 25250 25251 We need to repaint scrollbars after a geometry change, and also make sure 25252 the computed clipping rect for the corners between scrollbars is propagated 25253 to the chrome client without beeing intersected by the visible content rect 25254 of the frame. 25255 25256 * platform/ScrollView.h: 25257 * platform/qt/ScrollViewQt.cpp: 25258 (WebCore::ScrollView::geometryChanged): 25259 (WebCore::ScrollView::suppressScrollbars): 25260 (WebCore::ScrollView::invalidateScrollbars): 25261 25262 2008-04-29 Holger Hans Peter Freyther <zecke (a] selfish.org> 25263 25264 Reviewed by Simon. 25265 25266 Calling QWebView::setCursor will override the WebCore Cursor. 25267 Calling QWebView::setCursor will override the WebCore Cursor using 25268 QWidget::unsetCursor will revert to the WebCore Cursor. 25269 25270 For detecting the unset we have to compare the shape of the 25271 cursor to the default arrow. Qt::WA_SetCursor can not be used 25272 as it is set unconditionally but conditionally removed. 25273 25274 Calling QWidget::setCursor will immediately send the CursorChange 25275 event. We listen to this event to decide if we currently use a 25276 WebCore cursor, got a cursor from outside, or revert to the default. 25277 25278 This should be race free and work reliable, the manual test for this 25279 is WebCore/manual-tests/cursor.html 25280 25281 * platform/qt/WidgetQt.cpp: 25282 (WebCore::Widget::setCursor): 25283 25284 2008-04-28 Dan Bernstein <mitz (a] apple.com> 25285 25286 Reviewed by Maciej Stachowiak. 25287 25288 - fix https://bugs.webkit.org/show_bug.cgi?id=18795 25289 REGRESSION (r32660): Text heavier with text-shadow 25290 25291 * rendering/InlineTextBox.cpp: 25292 (WebCore::paintTextWithShadows): The loop was doing one extra pass 25293 without shadow even in cases where the last pass with a shadow was 25294 painting the text at the right position (rather than outside the clip). 25295 Fixed that. The only case where a separate pass without shadow is needed 25296 is when there is text-stroke, since in that case all shadow passes 25297 paint the text outside the clip. 25298 25299 2008-04-28 Brady Eidson <beidson (a] apple.com> 25300 25301 Reviewed by Sam Weinig 25302 25303 Add Storage.clear(), per updates to HTML5 25304 25305 Tests: storage/domstorage/localstorage/clear.html 25306 storage/domstorage/sessionstorage/clear.html 25307 25308 * storage/LocalStorageArea.cpp: 25309 (WebCore::LocalStorageArea::areaCleared): 25310 * storage/LocalStorageArea.h: 25311 25312 * storage/SessionStorageArea.cpp: 25313 (WebCore::SessionStorageArea::areaCleared): 25314 * storage/SessionStorageArea.h: 25315 25316 * storage/Storage.cpp: 25317 (WebCore::Storage::clear): 25318 * storage/Storage.h: 25319 * storage/Storage.idl: 25320 25321 * storage/StorageArea.cpp: 25322 (WebCore::StorageArea::internalClear): 25323 * storage/StorageArea.h: 25324 (WebCore::StorageArea::clear): 25325 25326 2008-04-28 Adele Peterson <adele (a] apple.com> 25327 25328 Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler. 25329 25330 WebCore part of fix for <rdar://problem/3709505> 25331 Safari should have a way to upload bundles from the file upload control (as zip) 25332 25333 * WebCore.base.exp: Added symbols. 25334 25335 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ask the application if a file will need to be replaced before it's uploaded. 25336 It will also give the replacement filename which is used to determine the correct mime-type and to construct the correct header. 25337 25338 * loader/FrameLoader.cpp: 25339 (WebCore::FrameLoader::submitForm): Asks the application to generate any files for the form data before a form submission starts. 25340 (WebCore::FrameLoader::loadItem): ditto. 25341 * loader/ResourceLoader.cpp: 25342 (WebCore::ResourceLoader::didReceiveResponse): Tells the FormData from the request to remove any generated files if it needs to. 25343 (WebCore::ResourceLoader::didCancel): ditto. 25344 (WebCore::ResourceLoader::didFail): ditto. 25345 25346 * platform/network/FormData.cpp: 25347 (WebCore::FormData::FormData): Initializes m_hasGeneratedFiles, which keeps track of whether there are files that will need to be removed. 25348 (WebCore::FormData::~FormData): Added. Assert that there are no files that need to be removed, but if there are, release builds will still remove them here. 25349 (WebCore::FormData::appendFile): Passes along a shouldGenerateFile flag to the FormDataElement. 25350 (WebCore::FormData::generateFiles): Added. Iterates through the FormDataElements, and using the ChromeClient pointer, asks the application to 25351 create any compressed files so the FormDataElements can store the paths. 25352 (WebCore::FormData::removeGeneratedFilesIfNeeded): Added. Removes generated files and their directories (if empty). 25353 * platform/network/FormData.h: 25354 (WebCore::FormDataElement::FormDataElement): Added a boolean to track whether the file will need to be generated, 25355 and a string to hold the path of the generated file. 25356 25357 * platform/network/mac/FormDataStreamMac.mm: 25358 (WebCore::advanceCurrentStream): Uses the generated file path instead of the original file path when streaming the file. 25359 (WebCore::setHTTPBody): Uses the generated file path when determining the size of the file to be uploaded. 25360 25361 * platform/FileSystem.h: Added directoryName. 25362 * platform/posix/FileSystemPOSIX.cpp: (WebCore::directoryName): Added. 25363 * platform/gtk/FileSystemGtk.cpp: (WebCore::directoryName): Added empty implementation. 25364 * platform/qt/FileSystemQt.cpp: (WebCore::directoryName): ditto. 25365 * platform/win/FileSystemWin.cpp: (WebCore::directoryName): ditto. 25366 * platform/wx/FileSystemWx.cpp: (WebCore::directoryName): ditto. 25367 25368 Added new ChromeClient methods to give the application control over the file compression for uploading. 25369 * page/Chrome.cpp: 25370 (WebCore::ChromeClient::shouldReplaceWithGeneratedFileForUpload): Added a default implementation. 25371 (WebCore::ChromeClient::generateReplacementFile): ditto. 25372 * page/ChromeClient.h: 25373 25374 2008-04-28 Anders Carlsson <andersca (a] apple.com> 25375 25376 Reviewed by Sam, Mark, Adele and Darin. 25377 25378 Add a (currently not called) method for opening the application cache database. 25379 25380 * WebCore.base.exp: 25381 * loader/appcache/ApplicationCacheStorage.cpp: 25382 (WebCore::ApplicationCacheStorage::setCacheDirectory): 25383 (WebCore::ApplicationCacheStorage::openDatabase): 25384 * loader/appcache/ApplicationCacheStorage.h: 25385 25386 2008-04-28 Alice Liu <alice.liu (a] apple.com> 25387 25388 Reviewed by Darin. 25389 25390 Fix <rdar://problem/4911289> Add tabindex property to all children 25391 of HTMLElement (7138) 25392 http://bugs.webkit.org/show_bug.cgi?id=7138 25393 25394 Test: fast/events/tabindex-focus-blur-all.html 25395 25396 * WebCore.xcodeproj/project.pbxproj: 25397 * bindings/objc/DOMPrivate.h: 25398 -DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h are no 25399 longer needed 25400 25401 * bindings/objc/PublicDOMInterfaces.h: 25402 -Moving focus, blur, tabindex to HTMLElement from its descendants. 25403 25404 * dom/Node.cpp: 25405 (WebCore::Node::Node): 25406 (WebCore::Node::isFocusable): 25407 (WebCore::Node::isKeyboardFocusable): 25408 -The concept of being focusable now needs to account for tabindex 25409 attribute. 25410 25411 * dom/Node.h: 25412 -Need to use a bit to keep track of whether tabindex was explicitly set 25413 to 0 or was just initialized to 0. 25414 (WebCore::Node::tabIndex): 25415 -Make this virtual so that Anchors and GenericFormElements can determine 25416 tabindex without accounting for focusability 25417 (WebCore::Node::setTabIndexExplicitly): 25418 -Renamed setTabIndex() to setTabIndexExplicitly() so as not to hide 25419 behind and/or be confused for HTMLElement::setTabIndex 25420 25421 * html/HTMLAnchorElement.cpp: 25422 * html/HTMLAnchorElement.h: 25423 (WebCore::HTMLAnchorElement::tabIndex): 25424 * html/HTMLGenericFormElement.cpp: 25425 * html/HTMLGenericFormElement.h: 25426 (WebCore::HTMLGenericFormElement::tabIndex): 25427 -Anchors and form elements are normally focusable, and need to avert the 25428 check for focusability in HTMLElement::tabIndex 25429 because tabIndex could be queried before a first layout happens. 25430 25431 * html/HTMLElement.cpp: 25432 (WebCore::HTMLElement::parseMappedAttribute): 25433 -Function Node::setTabIndex changed to Node::setTabIndexExplicitly 25434 (WebCore::HTMLElement::isFocusable): 25435 -The concept of being focusable now needs to account for tabindex 25436 attribute. 25437 (WebCore::HTMLElement::tabIndex): 25438 -HTML5 specifies that querying tabindex for elements that aren't 25439 focusable shall return -1 25440 (WebCore::HTMLElement::setTabIndex): 25441 -New default implementation 25442 * html/HTMLElement.h: 25443 25444 * html/HTMLLegendElement.cpp: 25445 (WebCore::HTMLLegendElement::focus): 25446 -Now with HTML5's enhanced specification of tabindex, legend elements 25447 themselves shall focus (if they should), and not the first form element 25448 they encapsulate. This matches Firefox behavior. HTMLLabelElements 25449 still forward focus to the encapsulated element. This also matches 25450 other browsers. 25451 25452 * html/HTMLAreaElement.cpp: 25453 (WebCore::HTMLAreaElement::isFocusable): 25454 * html/HTMLAreaElement.h: 25455 -HTMLAreaElement isn't subject to the same focusability requirements as 25456 its parent, HTMLAnchorElement. Default HTMLElement implementation is 25457 desired. 25458 25459 * html/HTMLFieldSetElement.cpp: 25460 (WebCore::HTMLFieldSetElement::isFocusable): 25461 * html/HTMLLegendElement.cpp: 25462 (WebCore::HTMLLegendElement::isFocusable): 25463 * html/HTMLOptGroupElement.cpp: 25464 (WebCore::HTMLOptGroupElement::isFocusable): 25465 * html/HTMLOptionElement.cpp: 25466 (WebCore::HTMLOptionElement::isFocusable): 25467 -These elements aren't subject to the same focusability requirements as 25468 their parent, HTMLGenericFormElement. Default HTMLElement 25469 implementation is desired. 25470 25471 * html/HTMLAnchorElement.idl: 25472 * html/HTMLAreaElement.idl: 25473 * html/HTMLButtonElement.idl: 25474 * html/HTMLElement.idl: 25475 * html/HTMLInputElement.idl: 25476 * html/HTMLLabelElement.idl: 25477 * html/HTMLLegendElement.idl: 25478 * html/HTMLObjectElement.idl: 25479 * html/HTMLSelectElement.idl: 25480 * html/HTMLTextAreaElement.idl: 25481 -Moving tabindex attribute, focus and blur methods from descendants of 25482 HTMLElement to HTMLElement 25483 25484 2008-04-28 Dan Bernstein <mitz (a] apple.com> 25485 25486 Reviewed by Dave Hyatt. 25487 25488 - support multiple box- and text-shadows 25489 25490 Tests: fast/css/shadow-multiple.html 25491 fast/repaint/shadow-multiple-horizontal.html 25492 fast/repaint/shadow-multiple-strict-horizontal.html 25493 fast/repaint/shadow-multiple-strict-vertical.html 25494 fast/repaint/shadow-multiple-vertical.html 25495 25496 * css/CSSComputedStyleDeclaration.cpp: 25497 (WebCore::valueForShadow): Changed to account for reversing the order 25498 of the shadow values in the ShadowData list. 25499 25500 * css/CSSValueList.cpp: 25501 (WebCore::CSSValueList::prepend): Added. 25502 * css/CSSValueList.h: 25503 25504 * rendering/InlineFlowBox.cpp: 25505 (WebCore::InlineFlowBox::placeBoxesHorizontally): Changed to account for 25506 all shadows in overflow calculation. 25507 (WebCore::InlineFlowBox::placeBoxesVertically): Ditto. 25508 (WebCore::InlineFlowBox::paint): Changed to account for all shadows 25509 when testing for intersection with the damage rect. 25510 (WebCore::InlineFlowBox::paintTextDecorations): Changed to paint all 25511 shadows. 25512 25513 * rendering/InlineTextBox.cpp: 25514 (WebCore::paintTextWithShadows): Factored out from paint() and changed 25515 to paint all shadows. 25516 (WebCore::InlineTextBox::paint): Moved the text painting code out to 25517 paintTextWithShadows(). Changed to not paint shadows for markers and 25518 composition underlines and in "force black text" mode. 25519 (WebCore::InlineTextBox::paintSelection): 25520 (WebCore::InlineTextBox::paintCompositionBackground): 25521 (WebCore::InlineTextBox::paintDecoration): Changed to paint all shadows. 25522 * rendering/InlineTextBox.h: Changed some public methods to private 25523 or protected. 25524 25525 * rendering/RenderBlock.cpp: 25526 (WebCore::RenderBlock::overflowHeight): Changed to account for all 25527 shadows. 25528 (WebCore::RenderBlock::overflowWidth): Ditto. 25529 (WebCore::RenderBlock::overflowLeft): Ditto. 25530 (WebCore::RenderBlock::overflowTop): Ditto. 25531 (WebCore::RenderBlock::overflowRect): Ditto. 25532 (WebCore::RenderBlock::layoutBlock): Ditto. 25533 25534 * rendering/RenderFlexibleBox.cpp: 25535 (WebCore::RenderFlexibleBox::layoutBlock): Ditto. 25536 25537 * rendering/RenderLayer.cpp: 25538 (WebCore::RenderLayer::calculateRects): Ditto. 25539 25540 * rendering/RenderObject.cpp: 25541 (WebCore::RenderObject::paintBoxShadow): Changed to paint all shadows. 25542 Changed to avoid clipping out the box if it has a fully opaque 25543 background. 25544 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Changed to account 25545 for all shadows. 25546 (WebCore::RenderObject::selectionForegroundColor): Cleaned up. 25547 (WebCore::RenderObject::adjustRectForOutlineAndShadow): Changed to 25548 account for all shadows. 25549 25550 * rendering/RenderReplaced.cpp: 25551 (WebCore::RenderReplaced::adjustOverflowForBoxShadow): Ditto. 25552 25553 * rendering/RenderStyle.cpp: 25554 (WebCore::RenderStyle::setTextShadow): Changed to prepend when adding 25555 so that the stacking order of shadows when painting will be "first o 25556 top". 25557 (WebCore::RenderStyle::setBoxShadow): Ditto. 25558 25559 * rendering/RenderTable.cpp: 25560 (WebCore::RenderTable::layout): Changed to account for all shadows. 25561 25562 2008-04-28 Adam Roben <aroben (a] apple.com> 25563 25564 Fix some more Windows build errors in COMPtr 25565 25566 * platform/win/COMPtr.h: 25567 (WTF::): Define DefaultHash<COMPtr<P> > by using PtrHash<COMPtr<P> >, 25568 which is just a copy of PtrHash<RefPtr<P> >. 25569 25570 2008-04-28 Adam Roben <aroben (a] apple.com> 25571 25572 Fix some Windows build errors in COMPtr 25573 25574 * platform/win/COMPtr.h: Explicitly name the WTF namespace when using 25575 HashTableDeletedValueType. 25576 25577 2008-04-28 Adam Roben <aroben (a] apple.com> 25578 25579 Fix some Windows build errors in FontPlatfomrData 25580 25581 * platform/graphics/win/FontPlatformData.h: Removed the Deleted 25582 constructor and replaced it with a HashTableDeletedValueType 25583 constructor. Also added isHashTableDeletedValue() and 25584 hashTableDeletedFontValue(). 25585 25586 2008-04-28 David Hyatt <hyatt (a] apple.com> 25587 25588 https://bugs.webkit.org/show_bug.cgi?id=18780 25589 25590 Canvas can't draw itself into its own buffer. Make sure the dirtying call comes after the image() 25591 has been accessed. Technically willDraw should be renamed to didDraw and all calls should be moved 25592 to after draws have occurred (since if the draw op itself wants to reference the image it shouldn't get 25593 a dirty copy either), but I'll take that up with olliej when he wakes up. :) 25594 25595 Reviewed by Dan Bernstein 25596 25597 Added fast/canvas/canvasDrawsIntoSelf.html 25598 25599 * html/CanvasRenderingContext2D.cpp: 25600 (WebCore::CanvasRenderingContext2D::drawImage): 25601 25602 2008-04-28 Alexey Proskuryakov <ap (a] webkit.org> 25603 25604 Reviewed by Geoff Garen. 25605 25606 <rdar://problem/5825192> Replace use of Gestalt with BSD sysctl 25607 25608 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 25609 (WebCore::MediaPlayerPrivate::isAvailable): There is no need to check QuickTime version post-Tiger, 25610 as it will never be below 7.3 again. This change may make library loading happen earlier in 25611 some cases, hopefully, that's not a big deal. 25612 25613 2008-04-25 Alexey Proskuryakov <ap (a] webkit.org> 25614 25615 Reviewed by Darin. 25616 25617 Fix run-webkit-tests --threading 25618 and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661> 25619 Proxy server issue in Sunday's Nightly 25620 25621 Adjusted for JavaScriptCore changes: added a new member to ClassInfo objects, turned 25622 ClassInfo::propHashTable into a function, made getPropertyAttributes() take an ExecState pointer. 25623 25624 * bindings/js/JSAudioConstructor.cpp: 25625 * bindings/js/JSDOMWindowBase.cpp: 25626 * bindings/js/JSDOMWindowCustom.cpp: 25627 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 25628 * bindings/js/JSDOMWindowWrapper.cpp: 25629 (WebCore::JSDOMWindowWrapper::getPropertyAttributes): 25630 * bindings/js/JSDOMWindowWrapper.h: 25631 * bindings/js/JSEventTargetBase.h: 25632 (WebCore::JSEventTargetPrototype::classInfo): 25633 * bindings/js/JSHTMLInputElementBase.cpp: 25634 * bindings/js/JSHTMLOptionElementConstructor.cpp: 25635 * bindings/js/JSHistoryCustom.cpp: 25636 (WebCore::JSHistory::customGetOwnPropertySlot): 25637 * bindings/js/JSImageConstructor.cpp: 25638 * bindings/js/JSInspectedObjectWrapper.cpp: 25639 * bindings/js/JSInspectorCallbackWrapper.cpp: 25640 * bindings/js/JSLocationCustom.cpp: 25641 (WebCore::JSLocation::customGetOwnPropertySlot): 25642 (WebCore::JSLocation::customPut): 25643 * bindings/js/JSNamedNodesCollection.cpp: 25644 * bindings/js/JSQuarantinedObjectWrapper.cpp: 25645 * bindings/js/JSRGBColor.cpp: 25646 * bindings/js/JSStorageCustom.cpp: 25647 (WebCore::JSStorage::customPut): 25648 * bindings/js/JSXMLHttpRequestConstructor.cpp: 25649 * bindings/js/JSXSLTProcessor.cpp: 25650 * bindings/scripts/CodeGeneratorJS.pm: 25651 * bridge/objc/objc_runtime.mm: 25652 * bridge/runtime_array.cpp: 25653 * bridge/runtime_object.cpp: 25654 25655 2008-04-28 David Hyatt <hyatt (a] apple.com> 25656 25657 https://bugs.webkit.org/show_bug.cgi?id=18779 25658 25659 The arguments in drawImage were reversed when I switched away from the image buffer method. 25660 25661 Reviewed by Tim Hatcher 25662 25663 Added fast/canvas/drawImage.html 25664 25665 * html/CanvasRenderingContext2D.cpp: 25666 (WebCore::CanvasRenderingContext2D::drawImage): 25667 25668 2008-04-28 Holger Hans Peter Freyther <zecke (a] selfish.org> 25669 25670 Reviewed by Simon. 25671 25672 Fix the crash on http://www.orad.pl. We called end too early. 25673 25674 1. we need a ::write that will pause the parser due a pending 25675 script 25676 2. we need a second write to queue data (tricky part) 25677 3. we need to get a finish call (document loaded) 25678 4. we resume the script and parse, schedule loading of a new script 25679 and have called end 25680 5. we resume the new script and we get a crash 25681 25682 This bug is hard to trigger, e.g. if the web server is only allowing 25683 one connection per client/IP. This is why we need to sleep in the scripts. We 25684 want to make sure that the page is first fully received before serving the 25685 scripts. 25686 25687 Test: http/tests/misc/xmltokenizer-do-not-crash.pl 25688 25689 * dom/XMLTokenizer.cpp: 25690 25691 2008-04-28 Ariya Hidayat <ahidayat (a] trolltech.com> 25692 25693 Reviewed by Simon. 25694 25695 Fix rounded corner on combo box with CSS border 25696 25697 * platform/qt/RenderThemeQt.cpp: 25698 (WebCore::RenderThemeQt::adjustMenuListButtonStyle): 25699 25700 2008-04-28 Ariya Hidayat <ahidayat (a] trolltech.com> 25701 25702 Reviewed by Simon. 25703 25704 Fix CSS border does not show up for combo boxes 25705 25706 Do not clear the border when painting the combo box for 'select' form element 25707 25708 * platform/qt/RenderThemeQt.cpp: 25709 25710 2008-04-28 Olivier Goffart <ogoffart (a] trolltech.com> 25711 25712 Reviewed by Simon. 25713 25714 Avoid comparing to 0 in qFuzzyCompare for increased 25715 numeric stability. 25716 25717 * platform/graphics/qt/PathQt.cpp: 25718 (WebCore::Path::addArc): 25719 25720 2008-04-28 Benjamin Meyer <bmeyer (a] trolltech.com> 25721 25722 Reviewed by Simon. 25723 25724 Fixes: Pages returning 404 with content are not displayed. 25725 25726 A web page that returns 404 can still have content. 25727 25728 * platform/network/qt/QNetworkReplyHandler.cpp: 25729 (WebCore::QNetworkReplyHandler::finish): 25730 25731 2008-04-28 Paul Olav Tvete <paul (a] trolltech.com> 25732 25733 Reviewed by Simon. 25734 25735 Fix compiler warning; Avoid the implicity QString(const char *) 25736 constructor 25737 25738 * platform/qt/RenderThemeQt.cpp: 25739 (WebCore::RenderThemeQt::fallbackStyle): 25740 25741 2008-04-28 Tor Arne Vestb <tavestbo (a] trolltech.com> 25742 25743 Reviewed by Simon. 25744 25745 Prevent middle-click from triggering open URL from clipboard when the event has already been accepted. 25746 25747 * platform/qt/PlatformScrollBarQt.cpp: 25748 (WebCore::PlatformScrollbar::handleMousePressEvent): 25749 25750 2008-04-28 Tor Arne Vestb <tavestbo (a] trolltech.com> 25751 25752 Reviewed by Simon. 25753 25754 Fix scrollbar behavior in QtWebKit to match QScrollBar. 25755 25756 Right click context menu is now supported, along with 25757 middle click to center slider thumb over mouse cursor. 25758 25759 * platform/qt/PlatformScrollBar.h: 25760 * platform/qt/PlatformScrollBarQt.cpp: 25761 (tr): 25762 (WebCore::PlatformScrollbar::pixelPosToRangeValue): 25763 (WebCore::PlatformScrollbar::handleMousePressEvent): 25764 (WebCore::PlatformScrollbar::handleMouseReleaseEvent): 25765 (WebCore::PlatformScrollbar::handleContextMenuEvent): 25766 25767 2008-04-28 Tor Arne Vestb <tavestbo (a] trolltech.com> 25768 25769 Reviewed by Simon. 25770 25771 Implemented channel-based logging for QtWebKit. 25772 25773 Comma-separated log channels are read from the QT_WEBKIT_LOG environment variable. 25774 Warnings for notImplemented() is still output by default, but can be disabled 25775 by setting DISABLE_NI_WARNINGS=1. 25776 25777 * WebCore.pro: 25778 * platform/NotImplemented.h: 25779 * platform/qt/LoggingQt.cpp: Added. 25780 (WebCore::getChannelFromName): 25781 (WebCore::InitializeLoggingChannelsIfNecessary): 25782 25783 2008-04-28 Simon Hausmann <shausman (a] trolltech.com> 25784 25785 Reviewed by Holger. 25786 25787 Fixes: Popups/Context menu in WebKit appearing at the wrong location when embedded in the graphics view or using multiple screens 25788 25789 Give the popups the right parent widget and the right coordinates relative within the parent. 25790 25791 * platform/qt/PopupMenuQt.cpp: 25792 (WebCore::PopupMenu::show): 25793 25794 2008-04-28 Tor Arne Vestb <tavestbo (a] trolltech.com> 25795 25796 Reviewed by Simon. 25797 25798 Fixes: Tabbing to a checkbox/button doesn't work on Win/X11 25799 25800 Respect platform settings for tabbing to all controls. 25801 25802 * page/qt/EventHandlerQt.cpp: 25803 25804 2008-04-28 Tor Arne Vestb <tavestbo (a] trolltech.com> 25805 25806 Reviewed by Simon. 25807 25808 First part of the fix for tabbing to a checkbox/button doesn't work on Win/X11 25809 25810 Draw controls instead of pimitive elements, to get focus rects for free. 25811 25812 * platform/qt/RenderThemeQt.cpp: 25813 (WebCore::RenderThemeQt::paintButton): 25814 25815 2008-04-28 Lincoln Ramsay <lincoln.ramsay (a] trolltech.com> 25816 25817 Reviewed by Simon. 25818 25819 Compile when QT_NO_CLIPBOARD is defined. 25820 25821 * platform/qt/ClipboardQt.cpp: 25822 (WebCore::ClipboardQt::ClipboardQt): 25823 (WebCore::ClipboardQt::clearData): 25824 (WebCore::ClipboardQt::clearAllData): 25825 (WebCore::ClipboardQt::setData): 25826 (WebCore::ClipboardQt::declareAndWriteDragImage): 25827 (WebCore::ClipboardQt::writeURL): 25828 (WebCore::ClipboardQt::writeRange): 25829 * platform/qt/PasteboardQt.cpp: 25830 (WebCore::Pasteboard::writeSelection): 25831 (WebCore::Pasteboard::plainText): 25832 (WebCore::Pasteboard::documentFragment): 25833 (WebCore::Pasteboard::writeURL): 25834 (WebCore::Pasteboard::writeImage): 25835 25836 2008-04-28 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 25837 25838 Reviewed by Simon. 25839 25840 Draw the arrow button on the styled combo box using the fallback ("Windows") style 25841 25842 * platform/qt/RenderThemeQt.cpp: 25843 (WebCore::RenderThemeQt::RenderThemeQt): 25844 (WebCore::RenderThemeQt::~RenderThemeQt): 25845 (WebCore::RenderThemeQt::fallbackStyle): 25846 (WebCore::RenderThemeQt::paintMenuListButton): 25847 (WebCore::RenderThemeQt::adjustMenuListButtonStyle): 25848 * platform/qt/RenderThemeQt.h: 25849 25850 2008-04-28 Simon Hausmann <hausmann (a] webkit.org> 25851 25852 Reviewed by Holger. 25853 25854 Fix positioning of native widgets (plugins). 25855 25856 Correctly convert the coordinates of the Widget in Widget::setFrameGeometry() 25857 to be relative to the containing toplevel QWidget using convertToContainingWindow(). 25858 25859 Note: convertToContainingWindow() takes child coordinates. 25860 25861 * platform/qt/WidgetQt.cpp: 25862 (WebCore::Widget::frameGeometry): 25863 (WebCore::Widget::setFrameGeometry): 25864 25865 2008-04-28 Holger Hans Peter Freyther <zecke (a] selfish.org> 25866 25867 Reviewed by Simon. 25868 25869 plugins: fix scrolling issues 25870 25871 When scrolling you can see artefacts that remain on the screen, they 25872 seem to originate from the backingstore handling. I'm not entirely sure 25873 where they come from, my workarounds involved a 25874 data->m_widget->parentWidget()->update() call in Widget::geometryChanged or 25875 handling widgets with a native QWidget embedded like web pages with a 25876 static background. This needs more investigations, I think the ScrollView 25877 change is cleaner than the brute force in Widget::geometryChanged 25878 25879 Focus handling seems to be broken as well and needs further work, we don't 25880 clip plugin QWidgets and they can draw out of their bounds, e.g. on the ScrollBar, 25881 the z-order is likely not honored as well. 25882 25883 * platform/ScrollView.h: 25884 * platform/qt/ScrollViewQt.cpp: 25885 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 25886 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 25887 (WebCore::ScrollView::addChild): 25888 (WebCore::ScrollView::removeChild): 25889 (WebCore::ScrollView::incrementNativeWidgetCount): 25890 (WebCore::ScrollView::decrementNativeWidgetCount): 25891 (WebCore::ScrollView::hasNativeWidgets): 25892 25893 2008-04-28 Holger Hans Peter Freyther <zecke (a] selfish.org> 25894 25895 Reviewed by Simon. 25896 25897 Add manual test to test placement of QWidgets in iframe's 25898 25899 * manual-tests/qt/main.html: Added. 25900 * manual-tests/qt/qtplugin.html: Added. 25901 25902 2008-04-28 Simon Hausmann <hausmann (a] webkit.org> 25903 25904 Fix the build with ENABLE_DATABASE=0 (Qt/Windows) by including 25905 SecurityOrigin.h. It's used in the file and also implicitly included 25906 through the database headers. 25907 25908 * page/DOMWindow.cpp: 25909 25910 2008-04-28 Simon Hausmann <hausmann (a] webkit.org> 25911 25912 Prospective Wx build fix. 25913 25914 * platform/graphics/wx/FontPlatformData.h: 25915 25916 2008-04-28 Simon Hausmann <hausmann (a] webkit.org> 25917 25918 Reviewed by Alp. 25919 25920 Gtk build fix, similar to the changes done in r32609. 25921 25922 * platform/graphics/gtk/FontPlatformData.h: 25923 (WebCore::FontPlatformData::FontPlatformData): 25924 (WebCore::FontPlatformData::isHashTableDeletedValue): 25925 (WebCore::FontPlatformData::hashTableDeletedFontValue): 25926 25927 2008-04-28 Simon Hausmann <hausmann (a] webkit.org> 25928 25929 Prospective build fix. After r32609 it seems the workaround here 25930 is not needed anymore. With gcc 4.2/4.3 before 32609 the workaround 25931 is needed for compilation, after 32609 compilation only succeeds 25932 without the workaround. 25933 25934 * plugins/PluginPackage.h: Removed workaround of extra StorageTraits 25935 specification for the custom hash function of PluginPackage used in 25936 PluginSet. 25937 25938 2008-04-28 Tor Arne Vestb <tavestbo (a] trolltech.com> 25939 25940 Reviewed by Simon. 25941 25942 https://bugs.webkit.org/show_bug.cgi?id=18713 25943 25944 Fix scrollbar painting issues in QtWebKit. 25945 25946 Hovering and click-draging outside of the scrollbar would 25947 produce unexpected and inconcistent results. We also didn't 25948 pass on leave-events to the underlying WebKit code, which 25949 was nessecary to implement the paint fix. 25950 25951 * platform/qt/PlatformScrollBarQt.cpp: 25952 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 25953 (WebCore::PlatformScrollbar::handleMouseOutEvent): 25954 (WebCore::PlatformScrollbar::handleMouseReleaseEvent): 25955 25956 2008-04-27 Oliver Hunt <oliver (a] apple.com> 25957 25958 Reviewed by Maciej. 25959 25960 Bug 17173: HTML5 Canvas API requires us to ignore certain operations 25961 <https://bugs.webkit.org/show_bug.cgi?id=17173> 25962 25963 This fixes the semantics of a number of Canvas functions to match 25964 the new HTML5 non-throwing semantics. 25965 25966 Test: fast/canvas/canvas-path-with-inf-nan-dimensions.html 25967 25968 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 25969 (WebCore::JSCanvasRenderingContext2D::strokeRect): 25970 * html/CanvasRenderingContext2D.cpp: 25971 (WebCore::CanvasRenderingContext2D::moveTo): 25972 (WebCore::CanvasRenderingContext2D::lineTo): 25973 (WebCore::CanvasRenderingContext2D::quadraticCurveTo): 25974 (WebCore::CanvasRenderingContext2D::bezierCurveTo): 25975 (WebCore::CanvasRenderingContext2D::arcTo): 25976 (WebCore::CanvasRenderingContext2D::arc): 25977 (WebCore::validateRectForCanvas): 25978 (WebCore::CanvasRenderingContext2D::rect): 25979 (WebCore::CanvasRenderingContext2D::clearRect): 25980 (WebCore::CanvasRenderingContext2D::fillRect): 25981 (WebCore::CanvasRenderingContext2D::strokeRect): 25982 * html/CanvasRenderingContext2D.h: 25983 * html/CanvasRenderingContext2D.idl: 25984 25985 2008-04-27 Rob Buis <buis (a] kde.org> 25986 25987 Reviewed by Adele. 25988 25989 https://bugs.webkit.org/show_bug.cgi?id=18652 25990 onchange events don't seem to fire for input[type=range] controls. 25991 25992 Fire changeEvent when dragging the slider. 25993 25994 Test: fast/forms/slider-onchange-event.html 25995 25996 * rendering/RenderSlider.cpp: 25997 (WebCore::RenderSlider::valueChanged): 25998 25999 2008-04-25 Darin Adler <darin (a] apple.com> 26000 26001 Reviewed by Maciej. 26002 26003 - update for compatibility with HashTable that no longer has optimization to share 26004 implementation between hash tables with integers, pointers, RefPtr, and String 26005 objects as keys 26006 26007 * bindings/js/JSSVGPODTypeWrapper.h: 26008 (WebCore::PODTypeReadWriteHashInfo::PODTypeReadWriteHashInfo): Added constructor 26009 for HashTableDeletedValue. 26010 (WebCore::PODTypeReadWriteHashInfo::isHashTableDeletedValue): Added. 26011 (WebCore::PODTypeReadWriteHashInfoTraits::constructDeletedValue): Added. 26012 (WebCore::PODTypeReadWriteHashInfoTraits::isDeletedValue): Added. 26013 26014 * dom/Document.cpp: Made changedDocuments internal to the file rather than a 26015 static data member of Document. 26016 (WebCore::FormElementKey::ref): Removed unneeded check for deleted value -- this 26017 will never be called on a deleted element. 26018 (WebCore::FormElementKey::deref): Ditto. 26019 26020 * dom/Document.h: Added HashTableDeletedValue constructor and isHashTableDeletedValue 26021 to FormElementKey. Changed FormElementKeyHashTraits to use construct/isDeletedValue. 26022 Got rid of the changedDocuments data member. Changed iconURL to be an inline that 26023 returns a const String&. 26024 26025 * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to use 26026 construct/isDeletedValue. 26027 26028 * page/mac/AXObjectCacheMac.mm: 26029 (WebCore::AXObjectCache::getAXID): Call isDeletedValue instead of deletedValue. 26030 26031 * platform/SecurityOriginHash.h: Added overload so that SecurityOriginHash can work 26032 with raw pointers as well as RefPt (helpful with the new RefPtrHashMap). Eliminated 26033 SecurityOriginTraits, since we can now use the default traits. Changed the value of 26034 safeToCompareToEmptyOrDeleted to false, since it's not safe to compare a deleted 26035 value using this hash function. I don't think it was safe before either; I'm not sure 26036 why it didn't cause a problem before. 26037 26038 * platform/cf/SchedulePair.h: Removed SchedulePairTraits -- custom traits are no 26039 longer needed. 26040 26041 * platform/graphics/FontCache.cpp: 26042 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Added constructor 26043 for HashTableDeletedValue. 26044 (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): Added. 26045 (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): Added. 26046 (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): Added. 26047 (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): Added. 26048 (WebCore::FontDataCacheKeyTraits::constructDeletedValue): Added. 26049 (WebCore::FontDataCacheKeyTraits::isDeletedValue): Added. 26050 26051 * platform/graphics/IntSizeHash.h: Changed HashTraits<IntSize> to use 26052 construct/isDeletedValue. 26053 26054 * platform/graphics/mac/FontPlatformData.h: 26055 (WebCore::FontPlatformData::FontPlatformData): Added constructor for 26056 HashTableDeletedValue. 26057 (WebCore::FontPlatformData::isHashTableDeletedValue): Added. 26058 (WebCore::FontPlatformData::hashTableDeletedFontValue): Added. 26059 26060 * platform/text/PlatformString.h: 26061 (WebCore::String::swap): Added. Avoids any refcount churn when swapping two strings. 26062 (WebCore::String::String): Added constructor for HashTableDeletedValue. 26063 (WebCore::String::isHashTableDeletedValue): Added. 26064 (WebCore::swap): Added. Avoids any refcount churn when swapping two strings. 26065 26066 * platform/text/StringHash.h: Changed specialization of HashTraits for 26067 WebCore::String to use the deleted value now defined in that class and removed 26068 the code to do ref/deref. Removed HashKeyStorageTraits specializations. 26069 26070 * platform/win/COMPtr.h: Changed specialization of HashTraits for 26071 COMPtr to use the deleted value now defined in that class and removed 26072 the code to do ref/deref. Removed HashKeyStorageTraits specializations. 26073 (COMPtr::COMPtr): Added constructor for HashTableDeletedValue. 26074 (COMPtr::isHashTableDeletedValue): Added. 26075 (COMPtr::query): Removed inline keyword not needed since functions defined in the 26076 class definition are automatically marked inline. 26077 (COMPtr::hashTableDeletedValue): Added. 26078 26079 * storage/DatabaseTracker.h: Removed now-unneeded SecurityOriginTraits. 26080 * storage/LocalStorage.h: Ditto. 26081 * storage/OriginQuotaManager.h: Ditto. 26082 * storage/SessionStorage.h: Ditto. 26083 26084 * svg/SVGAnimatedTemplate.h: 26085 (WebCore::SVGAnimatedTypeWrapperKey::SVGAnimatedTypeWrapperKey): Added constructor 26086 for HashTableDeletedValue. 26087 (WebCore::SVGAnimatedTypeWrapperKey::isHashTableDeletedValue): Added. 26088 (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue): Added. 26089 (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue): Added. 26090 26091 2008-04-27 Mark Rowe <mrowe (a] apple.com> 26092 26093 Reviewed by Tim Hatcher. 26094 26095 Initialize the extra member of the xmlEntity struct when using libxml2 >= 2.6.27. 26096 26097 * dom/XMLTokenizer.cpp: 26098 26099 2008-04-27 Dan Bernstein <mitz (a] apple.com> 26100 26101 Reviewed by Darin Adler. 26102 26103 - fix https://bugs.webkit.org/show_bug.cgi?id=3729 26104 <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text 26105 26106 Test: editing/selection/move-left-right.html 26107 26108 * editing/SelectionController.cpp: 26109 (WebCore::SelectionController::modifyMovingRight): Added. Currently 26110 implemented for character granularity, all other being treated as 26111 "forward". 26112 (WebCore::SelectionController::modifyMovingForward): Renamed 26113 modifyMovingRightForward() to this. 26114 (WebCore::SelectionController::modifyMovingLeft): Added. Currently 26115 implemented for character granularity, all other being treated as 26116 "backward". 26117 (WebCore::SelectionController::modifyMovingBackward): Renamed 26118 modifyMovingLeftBackward() to this. 26119 (WebCore::SelectionController::modify): Changed to call either the 26120 visual (left/right) or logical (backward/forward) methods depending on 26121 the 'dir' argument for moves. 26122 * editing/SelectionController.h: 26123 * editing/VisiblePosition.cpp: 26124 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Added. 26125 (WebCore::VisiblePosition::left): Added. 26126 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Added. 26127 (WebCore::VisiblePosition::right): Added. 26128 * editing/VisiblePosition.h: 26129 26130 2008-04-27 Sam Weinig <sam (a] webkit.org> 26131 26132 Reviewed by Maciej Stachowiak. 26133 26134 Fix for <rdar://problem/5893385> Need to provide access to the CanvasRenderingContext2D prototype 26135 Add a JS constructor for CanvasRenderingContext2D. 26136 26137 * html/CanvasRenderingContext2D.idl: 26138 * page/DOMWindow.idl: 26139 26140 2008-04-26 Adam Barth <hk9565 (a] gmail.com> 26141 26142 Reviewed by Adam Roben and Sam Weinig. 26143 26144 Fixes bug http://bugs.webkit.org/show_bug.cgi?id=17331 26145 Fixes bug http://bugs.webkit.org/show_bug.cgi?id=16848 26146 26147 Updates postMessage implementation to match HTML 5 specification: 26148 1) Adds origin parameter to postMessage. 26149 2) Removes domain and uri attributes of MessageEvent in favor of 26150 origin attribute. 26151 26152 In order to do this correctly, we need to distinguish between hosts and domains 26153 in the SecurityOrigin class. There are now three ways to compare security origins: 26154 1) isSameSchemeHostPort compares scheme, host, and port, and is used for postMessage 26155 2) equal compares all aspects of the security origin, and is used for hash keys 26156 3) canAccess understands the semantics of schemes such as file:// and data:// URLs, 26157 and should be used for scripting access checks. 26158 26159 Changed SecurityOrigin::toString() to generate identifiers that are suitable for 26160 being used as a MessageEvent's origin property. In the future, they could be used 26161 as database string identifiers as well. Re-used KURL parser to parse serialized 26162 SecurityOrigins. 26163 26164 Collin Jackson <collinj-webkit (a] collinjackson.com> also contributed to this patch. 26165 26166 Tests: http/tests/security/postMessage/invalid-origin-throws-exception.html 26167 http/tests/security/postMessage/javascript-page-still-sends-origin.html 26168 http/tests/security/postMessage/origin-unaffected-by-base-tag.html 26169 http/tests/security/postMessage/origin-unaffected-by-document-domain.html 26170 http/tests/security/postMessage/target-origin.html 26171 26172 * WebCore.base.exp: 26173 * bindings/js/JSDOMWindowCustom.cpp: 26174 (WebCore::JSDOMWindow::postMessage): 26175 * dom/Document.cpp: 26176 (WebCore::Document::domain): 26177 * dom/MessageEvent.cpp: 26178 (WebCore::MessageEvent::MessageEvent): 26179 (WebCore::MessageEvent::initMessageEvent): 26180 * dom/MessageEvent.h: 26181 (WebCore::MessageEvent::origin): 26182 * dom/MessageEvent.idl: 26183 * html/CanvasRenderingContext2D.cpp: 26184 (WebCore::CanvasRenderingContext2D::checkOrigin): 26185 (WebCore::CanvasRenderingContext2D::createPattern): 26186 * page/DOMWindow.cpp: 26187 (WebCore::DOMWindow::postMessage): 26188 * page/DOMWindow.h: 26189 * page/DOMWindow.idl: 26190 * platform/SecurityOrigin.cpp: 26191 (WebCore::SecurityOrigin::SecurityOrigin): 26192 (WebCore::SecurityOrigin::create): 26193 (WebCore::SecurityOrigin::createForFrame): 26194 (WebCore::SecurityOrigin::copy): 26195 (WebCore::SecurityOrigin::setDomainFromDOM): 26196 (WebCore::SecurityOrigin::canAccess): 26197 (WebCore::SecurityOrigin::isSecureTransitionTo): 26198 (WebCore::SecurityOrigin::toString): 26199 (WebCore::SecurityOrigin::createFromString): 26200 (WebCore::SecurityOrigin::createFromDatabaseIdentifier): 26201 (WebCore::SecurityOrigin::databaseIdentifier): 26202 (WebCore::SecurityOrigin::equal): 26203 (WebCore::SecurityOrigin::isSameSchemeHostPort): 26204 * platform/SecurityOrigin.h: 26205 (WebCore::SecurityOrigin::host): 26206 (WebCore::SecurityOrigin::domain): 26207 * platform/SecurityOriginHash.h: 26208 (WebCore::SecurityOriginTraits::deletedValue): 26209 * storage/DatabaseTracker.cpp: 26210 (WebCore::DatabaseTracker::hasEntryForDatabase): 26211 (WebCore::DatabaseTracker::originPath): 26212 (WebCore::DatabaseTracker::fullPathForDatabase): 26213 (WebCore::DatabaseTracker::populateOrigins): 26214 (WebCore::DatabaseTracker::databaseNamesForOrigin): 26215 (WebCore::DatabaseTracker::detailsForNameAndOrigin): 26216 (WebCore::DatabaseTracker::setDatabaseDetails): 26217 (WebCore::DatabaseTracker::setQuota): 26218 (WebCore::DatabaseTracker::addDatabase): 26219 (WebCore::DatabaseTracker::deleteOrigin): 26220 (WebCore::DatabaseTracker::deleteDatabase): 26221 26222 2008-04-26 Kevin Ollivier <kevino (a] theolliviers.com> 26223 26224 wx build fix. Add the AX*ActionVerb functions to the wx build. 26225 26226 * platform/wx/LocalizedStringsWx.cpp: 26227 (WebCore::AXButtonActionVerb): 26228 (WebCore::AXRadioButtonActionVerb): 26229 (WebCore::AXTextFieldActionVerb): 26230 (WebCore::AXCheckedCheckBoxActionVerb): 26231 (WebCore::AXUncheckedCheckBoxActionVerb): 26232 (WebCore::AXLinkActionVerb): 26233 26234 2008-04-26 Robin Dunn <robin (a] alldunn.com> 26235 26236 Reviewed by Kevin Ollivier. 26237 26238 wx build fix. Add needed wx includes for compilation. 26239 26240 https://bugs.webkit.org/show_bug.cgi?id=18758 26241 26242 * platform/wx/FileSystemWx.cpp: 26243 26244 2008-04-26 Anatoli Papirovski <apapirovski (a] mac.com> 26245 26246 Reviewed by Dave Hyatt. 26247 26248 Fix for https://bugs.webkit.org/show_bug.cgi?id=18583 26249 WebKit should ignore declarations with a negative value for 26250 line-height and font-size, including in the shorthand font form. 26251 26252 Tests: fast/css/font-size-negative.html 26253 fast/css/line-height-negative.html 26254 26255 * css/CSSParser.cpp: 26256 (WebCore::CSSParser::parseValue): 26257 (WebCore::CSSParser::parseFont): 26258 26259 2008-04-25 Anders Carlsson <andersca (a] apple.com> 26260 26261 Reviewed by Sam. 26262 26263 Add empty ApplicationCacheStorage class. 26264 26265 * WebCore.vcproj/WebCore.vcproj: 26266 * WebCore.xcodeproj/project.pbxproj: 26267 * loader/appcache/ApplicationCacheStorage.cpp: Added. 26268 (WebCore::cacheStorage): 26269 * loader/appcache/ApplicationCacheStorage.h: Added. 26270 26271 2008-04-24 Sam Weinig <sam (a] webkit.org> 26272 26273 Reviewed by Geoffrey Garen. 26274 26275 Replace the JSDOMWindow with a new one instead of clearing it. 26276 26277 * bindings/js/JSDOMWindowBase.cpp: 26278 (WebCore::JSDOMWindowBase::clear): 26279 Don't reset the window. 26280 26281 * bindings/js/kjs_proxy.cpp: 26282 (WebCore::KJSProxy::clear): 26283 Replace the current JSDOMWindow stored in the wrapper window 26284 with a new one. 26285 26286 * history/CachedPage.cpp: 26287 (WebCore::CachedPage::CachedPage): 26288 (WebCore::CachedPage::restore): 26289 (WebCore::CachedPage::clear): 26290 * history/CachedPage.h: 26291 Instead of storing the builtins, properties and localstorage in 26292 special holding structs, store the entire JSDOMWindow. 26293 26294 For the case of a page that has no JSDOMWindow before it's first 26295 navigation, has one created while it is in the cache and is then 26296 navigated back, create a new JSDOMWindow to keep the assumption 26297 in JSDOMWindowWrapper that it always has the correct window. 26298 26299 * loader/FrameLoader.cpp: 26300 (WebCore::FrameLoader::clear): 26301 We must clear the DOMWindow first, so that we create a new JSDOMWindow, 26302 it gets a new one. 26303 26304 * page/Frame.cpp: 26305 (WebCore::Frame::clearDOMWindow): 26306 Null out the domWindow so that on the next access, a new one is 26307 created. 26308 26309 2008-04-25 Sam Weinig <sam (a] webkit.org> 26310 26311 Reviewed by Mark Rowe. 26312 26313 The EventListeners need to operate and store JSDOMWindows, not JSDOMWrapperWindows. 26314 26315 * bindings/js/JSDOMWindowBase.cpp: 26316 (WebCore::JSDOMWindowBase::~JSDOMWindowBase): 26317 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): 26318 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): 26319 * bindings/js/JSSVGLazyEventListener.cpp: 26320 (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener): 26321 * bindings/js/JSSVGLazyEventListener.h: 26322 * bindings/js/kjs_events.cpp: 26323 (WebCore::JSAbstractEventListener::handleEvent): 26324 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener): 26325 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener): 26326 (WebCore::JSUnprotectedEventListener::window): 26327 (WebCore::JSUnprotectedEventListener::clearWindow): 26328 (WebCore::JSEventListener::JSEventListener): 26329 (WebCore::JSEventListener::~JSEventListener): 26330 (WebCore::JSEventListener::window): 26331 (WebCore::JSEventListener::clearWindow): 26332 (WebCore::JSLazyEventListener::JSLazyEventListener): 26333 (WebCore::JSLazyEventListener::parseCode): 26334 * bindings/js/kjs_events.h: 26335 * bindings/js/kjs_proxy.cpp: 26336 (WebCore::KJSProxy::createHTMLEventHandler): 26337 (WebCore::KJSProxy::createSVGEventHandler): 26338 26339 2008-04-25 Mark Rowe <mrowe (a] apple.com> 26340 26341 Rubber-stamped by Sam Weinig. 26342 26343 Add some content to an empty ICU header file to prevent verification errors. 26344 26345 * icu/unicode/utf_old.h: 26346 26347 2008-04-25 Anders Carlsson <andersca (a] apple.com> 26348 26349 Fix tyop. 26350 26351 * loader/DocumentLoader.cpp: 26352 (WebCore::DocumentLoader::scheduleApplicationCacheLoad): 26353 26354 2008-04-25 Anders Carlsson <andersca (a] apple.com> 26355 26356 Reviewed by Sam. 26357 26358 Add and honor offlineWebApplicationCacheEnabled setting. 26359 26360 * WebCore.base.exp: 26361 * loader/DocumentLoader.cpp: 26362 (WebCore::DocumentLoader::scheduleApplicationCacheLoad): 26363 * loader/MainResourceLoader.cpp: 26364 (WebCore::MainResourceLoader::load): 26365 * loader/appcache/ApplicationCacheGroup.cpp: 26366 (WebCore::ApplicationCacheGroup::selectCache): 26367 (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL): 26368 * page/Settings.cpp: 26369 (WebCore::Settings::Settings): 26370 (WebCore::Settings::setOfflineWebApplicationCacheEnabled): 26371 * page/Settings.h: 26372 (WebCore::Settings::offlineWebApplicationCacheEnabled): 26373 26374 2008-04-25 Anders Carlsson <andersca (a] apple.com> 26375 26376 Reviewed by Adam. 26377 26378 <rdar://problem/5629139> 26379 PluginInfoStoreWin needs to implement pluginNameForMIMEType(). 26380 26381 * plugins/PluginInfoStore.cpp: 26382 (WebCore::PluginInfoStore::pluginNameForMIMEType): 26383 26384 2008-04-25 Tor Arne Vestb <tavestbo (a] trolltech.com> 26385 26386 Reviewed by Simon. 26387 26388 Respect antialiasing hint when drawing focus rects. 26389 26390 * platform/graphics/qt/GraphicsContextQt.cpp: 26391 (WebCore::GraphicsContext::drawFocusRing): 26392 26393 2008-04-25 Holger Hans Peter Freyther <zecke (a] selfish.org> 26394 26395 Reviewed by Simon. 26396 26397 networking: Use Qt::QueuedConnection in QNetworkReplyHandler 26398 26399 Make sure we leave the networking backend before calling 26400 into WebCore. Otheriwse we might return to the networking 26401 backend when it is already deleted. 26402 26403 * platform/network/qt/QNetworkReplyHandler.cpp: 26404 (WebCore::FormDataIODevice::setParent): 26405 (WebCore::QNetworkReplyHandler::start): 26406 26407 2008-04-25 Tor Arne Vestb <tavestbo (a] trolltech.com> 26408 26409 Reviewed by Simon. 26410 26411 Fix propagation of mouse double click events. 26412 26413 Treat a mouse double click as a regular mouse press with just a different click count. 26414 26415 * platform/qt/PlatformMouseEventQt.cpp: 26416 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 26417 26418 2008-04-25 Tor Arne Vestb <tavestbo (a] trolltech.com> 26419 26420 Reviewed by Simon. 26421 26422 Fixes: Fix strange button sizes (push, radio, and check) in QtWebKit. 26423 26424 We now use pixel metrics instead of fixed sizes for the 26425 button margins, or if the style supports layout rects we 26426 use the delta between the content rect and the layout rect. 26427 26428 In adition we compensate for the difference between the size 26429 for content and the actual layout rect (if supported) by 26430 reporting back the layout rect to WebKit for page layout, 26431 and then inflating the rect we actually paint to. 26432 26433 * platform/qt/RenderThemeQt.cpp: 26434 (WebCore::StylePainter::StylePainter): 26435 (WebCore::StylePainter::~StylePainter): 26436 (WebCore::RenderThemeQt::RenderThemeQt): 26437 (WebCore::inflateButtonRect): 26438 (WebCore::RenderThemeQt::adjustRepaintRect): 26439 (WebCore::RenderThemeQt::isControlStyled): 26440 (WebCore::computeSizeBasedOnStyle): 26441 (WebCore::RenderThemeQt::setCheckboxSize): 26442 (WebCore::RenderThemeQt::paintCheckbox): 26443 (WebCore::RenderThemeQt::setRadioSize): 26444 (WebCore::RenderThemeQt::adjustButtonStyle): 26445 (WebCore::RenderThemeQt::setButtonSize): 26446 (WebCore::RenderThemeQt::setButtonPadding): 26447 (WebCore::RenderThemeQt::paintButton): 26448 (WebCore::RenderThemeQt::adjustMenuListStyle): 26449 (WebCore::RenderThemeQt::setPopupPadding): 26450 (WebCore::RenderThemeQt::paintMenuList): 26451 * platform/qt/RenderThemeQt.h: 26452 26453 2008-04-25 Benjamin Meyer <bmeyer (a] trolltech.com> 26454 26455 Reviewed by Holger. 26456 26457 Fixes: Valgrind warnings about uninitilized variables used in jumps 26458 26459 * rendering/RenderText.cpp: 26460 (WebCore::RenderText::trimmedPrefWidths): 26461 26462 2008-04-25 Warwick Allison <warwick (a] trolltech.com> 26463 26464 Reviewed by Simon. 26465 26466 Added simple getter function to PlatformScrollBar to return the 26467 maximum value. Needed in the WebKit/qt API. 26468 26469 * platform/qt/PlatformScrollBar.h: 26470 26471 2008-04-25 Benjamin Meyer <bmeyer (a] trolltech.com> 26472 26473 Reviewed by Holger, Simon. 26474 26475 Implement NoDrop, ZoomIn, and ZoomOut cursors 26476 26477 * Resources/WebKitResources.qrc: 26478 * platform/qt/CursorQt.cpp: 26479 (WebCore::noDropCursor): 26480 (WebCore::notAllowedCursor): 26481 (WebCore::zoomInCursor): 26482 (WebCore::zoomOutCursor): 26483 26484 2008-04-25 Holger Hans Peter Freyther <zecke (a] selfish.org> 26485 26486 Reviewed by Simon. 26487 26488 Handle the ListboxAppearance as 'TextField' as well. We are mainly interested in the background. 26489 26490 RenderBox will call us to paint the outline/background, it is handled the same as a 26491 TextAreaAppearance in RenderTheme, handle it the same in the RenderThemeQt 26492 26493 * platform/qt/RenderThemeQt.cpp: 26494 (WebCore::RenderThemeQt::paintTextField): 26495 26496 2008-04-25 Holger Hans Peter Freyther <zecke (a] selfish.org> 26497 26498 Reviewed by Simon. 26499 26500 No reason to exit the application when we can not paint something. Replace the Q_ASSERT 26501 with a runtime check. Return true to indicate that we did not handle the painting 26502 of this element. 26503 26504 * platform/qt/RenderThemeQt.cpp: 26505 (WebCore::RenderThemeQt::paintTextField): 26506 26507 2008-04-25 Holger Hans Peter Freyther <zecke (a] selfish.org> 26508 26509 Reviewed by Simon. 26510 26511 Correct the comment. We are in painTextField and don't paint a button. 26512 26513 * platform/qt/RenderThemeQt.cpp: 26514 (WebCore::RenderThemeQt::paintTextField): 26515 26516 2008-04-25 Holger Hans Peter Freyther <zecke (a] selfish.org> 26517 26518 Reviewed by Simon. 26519 26520 Allow ListboxAppearance to take focus as well. Stolen from Tor Arne 26521 26522 * platform/qt/RenderThemeQt.cpp: 26523 (WebCore::RenderThemeQt::supportsFocus): 26524 26525 2008-04-25 Simon Hausmann <hausmann (a] webkit.org> 26526 26527 Reviewed by Holger. 26528 26529 Remove debug output. 26530 26531 * platform/network/qt/ResourceHandleQt.cpp: 26532 (WebCore::ResourceHandle::loadResourceSynchronously): 26533 26534 2008-04-25 Holger Hans Peter Freyther <zecke (a] selfish.org> 26535 26536 Reviewed by Simon. 26537 26538 Change the string for searchableIndexIntroduction() to match the mac 26539 and pass http/tests/misc/isindex-formdata.html 26540 26541 * platform/qt/Localizations.cpp: 26542 26543 2008-04-25 Simon Hausmann <hausmann (a] webkit.org> 26544 26545 Reviewed by Holger. 26546 26547 When we encounter a new/unknown HTTP request type report it back to WebCore as loading error. 26548 26549 * platform/network/qt/QNetworkReplyHandler.cpp: 26550 (WebCore::QNetworkReplyHandler::start): 26551 26552 2008-04-25 Benjamin Meyer <bmeyer (a] trolltech.com> 26553 26554 Reviewed by Simon. 26555 26556 Fix crash in the networking layer. 26557 26558 Set the m_reply to null right after calling deleteLater(). 26559 26560 * platform/network/qt/QNetworkReplyHandler.cpp: 26561 (WebCore::QNetworkReplyHandler::finish): 26562 26563 2008-04-24 Mark Rowe <mrowe (a] apple.com> 26564 26565 Rubber-stamped by Oliver Hunt. 26566 26567 * WebCore.base.exp: Remove two symbols from the export list that don't need to be exported. 26568 26569 2008-04-24 Dan Bernstein <mitz (a] apple.com> 26570 26571 Reviewed by Dave Hyatt. 26572 26573 - fix https://bugs.webkit.org/show_bug.cgi?id=18722 26574 <rdar://problem/5888360> REGRESSION (3.1 -> TOT): Webkit Nightly Build crashes when visiting i has a hotdog 26575 26576 Test: fast/dynamic/float-remove-above-line.html 26577 26578 * rendering/bidi.cpp: 26579 (WebCore::RenderBlock::layoutInlineChildren): Avoid adding floats that 26580 do not intrude into the line to its floats vector. When such floats go 26581 away, they do not dirty the line (because they do not intersect with it) 26582 and having it keep them in its floats vector is what caused the crash. 26583 26584 2008-04-24 Justin Garcia <justin.garcia (a] apple.com> 26585 26586 Reviewed by John Sullivan. 26587 26588 It is possible, despite our safeguards, for createMarkup to iterate past the end of the Range 26589 that is passed to it. Added a null check to prevent crashes in this situation (we won't crash but 26590 we will create too much markup), and added an ASSERT to hopefully catch the scenario in a debugger 26591 and help us understand what's going on. 26592 26593 * editing/markup.cpp: 26594 (WebCore::createMarkup): 26595 26596 2008-04-24 Mark Rowe <mrowe (a] apple.com> 26597 26598 Reviewed by Sam Weinig. 26599 26600 Remove code for calculating the glyph cache size. 26601 26602 * WebCore.base.exp: Remove unused symbol. 26603 * platform/graphics/mac/FontCacheMac.mm: Remove code that is unused now that we do not compute the glyph cache size. 26604 * platform/mac/WebCoreSystemInterface.h: Remove unused symbol. 26605 * platform/mac/WebCoreSystemInterface.mm: Ditto. 26606 26607 2008-04-24 Mark Rowe <mrowe (a] apple.com> 26608 26609 Reviewed by Sam Weinig. 26610 26611 Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER. 26612 26613 * WebCorePrefix.h: 26614 26615 2008-04-24 Cameron McCormack <cam (a] mcc.id.au> 26616 26617 Reviewed by Maciej Stachowiak. 26618 26619 Ensure that changes to rx="" and ry="" attributes on an SVG <rect> 26620 element cause a relayout. 26621 26622 Test: svg/dom/SVGRectElement/rect-modify-rx.svg 26623 26624 * svg/SVGRectElement.cpp: 26625 (WebCore::SVGRectElement::svgAttributeChanged): Call needsLayout() 26626 when the attribute is rx or ry. 26627 (WebCore::SVGRectElement::hasRelativeValues): Return true when the 26628 attribute is rx or ry, since they also can have relative values. 26629 26630 2008-04-24 Adam Barth <hk9565 (a] gmail.com> 26631 26632 Reviewed by Sam Weinig. 26633 26634 Update the XMLHttpRequest header black list to match the spec. 26635 26636 * xml/XMLHttpRequest.cpp: 26637 (WebCore::isSafeRequestHeader): 26638 26639 2008-04-22 Feng Qian <feng (a] chromium.org> 26640 26641 Reviewed by Geoff Garen. 26642 26643 Fix https://bugs.webkit.org/show_bug.cgi?id=18677 26644 Bug 18677: Synchronous event dispatch confuses the popup blocker into incorrectly blocking chat popups in gmail.com. 26645 26646 Test: fast/events/nested-window-event.html 26647 26648 * bindings/js/kjs_events.cpp: 26649 (WebCore::JSAbstractEventListener::handleEvent): Save and restore the current event around the event dispatch. 26650 26651 2008-04-24 Brady Eidson <beidson (a] apple.com> 26652 26653 Reviewed by Teh Mitzpettel 26654 26655 Make it so PageGroups know what their own name is. 26656 26657 * WebCore.base.exp: 26658 26659 * page/Page.cpp: 26660 (WebCore::Page::setGroupName): 26661 (WebCore::Page::groupName): 26662 * page/Page.h: 26663 26664 * page/PageGroup.cpp: Move the PageGroupMap into the PageGroup class. 26665 (WebCore::PageGroup::PageGroup): Added a c'tor that takes the group name as an argument instead of 26666 the initial Page. 26667 (WebCore::PageGroup::pageGroup): Handles creating and mapping names to groups 26668 * page/PageGroup.h: 26669 (WebCore::PageGroup::name): 26670 26671 2008-04-24 Adele Peterson <adele (a] apple.com> 26672 26673 Reviewed by Darin. 26674 26675 Consolidate two versions of pathGetFileName. 26676 26677 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Call FileSystem.h version of pathGetFileName and removed the static helper function. 26678 * platform/posix/FileSystemPOSIX.cpp: (WebCore::pathGetFileName): Moved general case from HTMLFormElement version here. 26679 If other platforms relied on that default they should implement this function for their platform specific version of FileSystem.cpp 26680 * platform/win/FileSystemWin.cpp: (WebCore::pathGetFileName): Moved win implementation from HTMLFormElement here. 26681 * platform/wx/FileSystemWx.cpp: (WebCore::pathGetFileName): Moved wx implementation from HTMLFormElement here. 26682 26683 2008-04-24 Anders Carlsson <andersca (a] apple.com> 26684 26685 Windows build fix. 26686 26687 * html/HTMLFormElement.cpp: 26688 (WebCore::pathGetFilename): 26689 26690 2008-04-24 Anders Carlsson <andersca (a] apple.com> 26691 26692 Don't crash when the string is empty. 26693 26694 * html/HTMLMediaElement.cpp: 26695 (WebCore::parseTimeOffset): 26696 26697 2008-04-24 Dan Bernstein <mitz (a] apple.com> 26698 26699 Reviewed by Darin Adler. 26700 26701 - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729 26702 <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text 26703 26704 The three main changes in this patch are: 26705 26706 1) Making all inline boxes know their bidi level, instead of just text 26707 boxes knowing whether their bidi level is odd or even. This is 26708 required for the next change. 26709 26710 2) Replacing RenderObject::inlineBox() with 26711 Position::getInlineBoxAndOffset() in recognition of the fact that the 26712 inline box containing the primary caret for a position in a given 26713 node may belong to a different node's renderer. 26714 26715 3) Changing RenderObject::caretRect() to take an InlineBox parameter, 26716 and changing callers to call VisiblePosition::caretRect(), which 26717 locates the inline box, then calls caretRect() on the renderer for 26718 that box. This, combined with the previous change, ensures that the 26719 primary caret is rendered at the right place for positions that 26720 lie on a directionality boundary. 26721 26722 Test: platform/mac/editing/input/caret-primary-bidi.html 26723 26724 * WebCore.base.exp: Added the VisiblePosition(Node*, int, EAffinity) 26725 constructor and VisiblePosition::caretRect(), and sorted. 26726 26727 * dom/Position.cpp: 26728 (WebCore::nextRenderedEditable): Adjusted for the removal of 26729 RenderObject::inlineBox(). 26730 (WebCore::previousRenderedEditable): Ditto. 26731 (WebCore::Position::rendersInDifferentPosition): Ditto. 26732 (WebCore::Position::getInlineBoxAndOffset): Added. Gets the inline box 26733 and the offset within that box at which the primary caret for this 26734 position should render. 26735 26736 * dom/Position.h: 26737 26738 * editing/DeleteSelectionCommand.cpp: 26739 (WebCore::DeleteSelectionCommand::mergeParagraphs): Changed to call 26740 VisiblePosition::caretRect() instead of calling the RenderObject method. 26741 26742 * editing/SelectionController.cpp: 26743 (WebCore::caretY): Ditto. 26744 (WebCore::SelectionController::xPosForVerticalArrowNavigation): Ditto. 26745 (WebCore::SelectionController::layout): Ditto. 26746 26747 * editing/VisiblePosition.cpp: 26748 (WebCore::VisiblePosition::caretRect): Changed to call 26749 getInlineBoxAndOffset() to get the correct inline box and call the 26750 renderer for that box. 26751 26752 * editing/VisiblePosition.h: 26753 (WebCore::VisiblePosition::getInlineBoxAndOffset): Added convenience 26754 methods for getting the inline box and caret offset for a visible 26755 position, accounting for its affinity. 26756 26757 * editing/visible_units.cpp: 26758 (WebCore::rootBoxForLine): Changed to use getInlineBoxAndOffset() 26759 instead of RenderObject::inlineBox(). 26760 (WebCore::startPositionForLine): 26761 (WebCore::endPositionForLine): 26762 (WebCore::previousLinePosition): Ditto. 26763 (WebCore::nextLinePosition): Ditto. 26764 26765 * page/AccessibilityObject.cpp: 26766 (WebCore::updateAXLineStartForVisiblePosition): Ditto. 26767 26768 * page/Frame.cpp: 26769 (WebCore::Frame::firstRectForRange): Ditto. 26770 26771 * rendering/InlineBox.cpp: 26772 (WebCore::InlineBox::caretMinOffset): Changed to forward to the 26773 renderer. 26774 (WebCore::InlineBox::caretMaxOffset): Ditto. 26775 * rendering/InlineBox.h: Replaced the m_reversed bit, intended for use 26776 in InlineTextBox only, with six bits of the bidi level of the box, 26777 intended for use in all leaf inline boxes. 26778 (WebCore::InlineBox::InlineBox): Added missing initializer for 26779 m_dirOverride and initialized the bidi level. 26780 (WebCore::InlineBox::bidiLevel): Added this accessor. 26781 (WebCore::InlineBox::setBidiLevel): Ditto. 26782 (WebCore::InlineBox::direction): Ditto. 26783 (WebCore::InlineBox::caretLeftmostOffset): Added this convenience 26784 method. 26785 (WebCore::InlineBox::caretRightmostOffset): Ditto. 26786 26787 * rendering/InlineTextBox.cpp: Replaced all references to m_reversed 26788 with checking of direction(). 26789 (WebCore::InlineTextBox::selectionRect): 26790 (WebCore::InlineTextBox::placeEllipsisBox): 26791 (WebCore::InlineTextBox::paint): 26792 (WebCore::InlineTextBox::paintSelection): 26793 (WebCore::InlineTextBox::paintCompositionBackground): 26794 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 26795 (WebCore::InlineTextBox::paintTextMatchMarker): 26796 (WebCore::InlineTextBox::textPos): 26797 (WebCore::InlineTextBox::offsetForPosition): 26798 (WebCore::InlineTextBox::positionForOffset): 26799 26800 * rendering/RenderBR.cpp: Removed inlineBox(). 26801 * rendering/RenderBR.h: Ditto. 26802 26803 * rendering/RenderBox.cpp: 26804 (WebCore::RenderBox::caretRect): Changed to take an inline box and 26805 account for the direction of the box (or the renderer) in positioning 26806 the caret: in right-to-left boxes, the "before" position is to the right 26807 while "after" is to the left. 26808 * rendering/RenderBox.h: 26809 26810 * rendering/RenderFlow.cpp: 26811 (WebCore::RenderFlow::caretRect): Updated the signature. 26812 * rendering/RenderFlow.h: 26813 26814 * rendering/RenderObject.cpp: 26815 (WebCore::RenderObject::caretRect): Updated the signature. 26816 (WebCore::RenderObject::caretMaxOffset): Changed to return the child 26817 node count (or 1 if there are no children) for replaced elements, such 26818 as <select>s. 26819 * rendering/RenderObject.h: 26820 26821 * rendering/RenderReplaced.cpp: Removed caretMinOffset() and 26822 caretMaxOffset() because the base class implementation does the right 26823 thing for replaced objects now. 26824 * rendering/RenderReplaced.h: 26825 26826 * rendering/RenderSVGInlineText.cpp: 26827 (WebCore::RenderSVGInlineText::caretRect): Updated the signature. 26828 (WebCore::RenderSVGInlineText::positionForCoordinates): Updated for 26829 the change from m_reversed to direction(). 26830 * rendering/RenderSVGInlineText.h: 26831 26832 * rendering/RenderText.cpp: 26833 (WebCore::RenderText::caretRect): Changed to take an inline box and 26834 removed the code that used to find the inline for the given position. 26835 Changed use of m_reversed to use direction(). 26836 (WebCore::RenderText::position): Changed use of m_reversed to use 26837 direction(). 26838 * rendering/RenderText.h: 26839 26840 * rendering/RenderTextControl.cpp: 26841 (WebCore::RenderTextControl::textWithHardLineBreaks): Adjusted for the 26842 removal of RenderObject::inlineBox(). 26843 26844 * rendering/RenderTreeAsText.cpp: 26845 (WebCore::writeTextRun): Changed to use direction() instead of 26846 m_reversed. 26847 26848 * rendering/SVGInlineTextBox.cpp: Ditto. 26849 (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): 26850 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): 26851 (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): 26852 26853 * rendering/SVGRenderTreeAsText.cpp: Ditto. 26854 (WebCore::writeSVGInlineTextBox): 26855 26856 * rendering/SVGRootInlineBox.cpp: Ditto. 26857 (WebCore::svgTextRunForInlineTextBox): 26858 (WebCore::cummulatedWidthOrHeightOfTextChunk): 26859 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 26860 26861 * rendering/bidi.cpp: 26862 (WebCore::RenderBlock::constructLine): Made this function set the 26863 bidi level on all leaf boxes. 26864 26865 * svg/SVGTextContentElement.cpp: Changed to use direction() instead of 26866 m_reversed. 26867 (WebCore::cumulativeCharacterRangeLength): 26868 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): 26869 26870 2008-04-24 Sam Weinig <sam (a] webkit.org> 26871 26872 Fix the world. 26873 26874 * bindings/js/kjs_proxy.cpp: 26875 (WebCore::KJSProxy::clear): 26876 26877 2008-04-24 Darin Adler <darin (a] apple.com> 26878 26879 Reviewed by Geoff. 26880 26881 - fix crash in regression test where we'd ask a frame for a user agent string 26882 after the WebView was already closed 26883 26884 * loader/FrameLoader.cpp: 26885 (WebCore::FrameLoader::scheduleHTTPRedirection): Quietly do nothing if this is 26886 called on a frame that's already detached from its page. 26887 (WebCore::FrameLoader::scheduleLocationChange): Ditto. 26888 (WebCore::FrameLoader::scheduleRefresh): Ditto. 26889 (WebCore::FrameLoader::scheduleHistoryNavigation): Ditto. 26890 (WebCore::FrameLoader::redirectionTimerFired): Assert that this is never called 26891 for a frame that's already detached from its page. 26892 (WebCore::FrameLoader::scheduleRedirection): Ditto. 26893 (WebCore::FrameLoader::startRedirectionTimer): Ditto. 26894 26895 2008-04-23 Timothy Hatcher <timothy (a] apple.com> 26896 26897 Add a new callFunction helper function to remove duplicate code 26898 for calling JavaScript functions with arguments. 26899 26900 Reviewed by Darin Adler. 26901 26902 * page/InspectorController.cpp: 26903 (WebCore::InspectorController::callSimpleFunction): Call callFunction. 26904 (WebCore::InspectorController::callFunction): Extended version of the original 26905 callSimpleFunction, with script function arguments and an exception argument. 26906 (WebCore::InspectorController::focusNode): Use callFunction. 26907 (WebCore::InspectorController::addScriptResource): Ditto. 26908 (WebCore::InspectorController::removeScriptResource): Ditto. 26909 (WebCore::InspectorController::addDatabaseScriptResource): Ditto. 26910 (WebCore::InspectorController::removeDatabaseScriptResource): Ditto. 26911 (WebCore::InspectorController::addScriptConsoleMessage): Ditto. 26912 * page/InspectorController.h: Add callFunction. 26913 26914 2008-04-24 Anders Carlsson <andersca (a] apple.com> 26915 26916 Reviewed by Sam. 26917 26918 Change some String arguments to be const references instead. 26919 26920 * css/CSSRule.cpp: 26921 (WebCore::CSSRule::setCssText): 26922 * css/CSSRule.h: 26923 * html/HTMLFormElement.cpp: 26924 (WebCore::pathGetFilename): 26925 * html/HTMLMediaElement.cpp: 26926 (WebCore::parseTimeOffset): 26927 * page/EditorClient.h: 26928 * platform/SecurityOrigin.cpp: 26929 (WebCore::isDefaultPortForProtocol): 26930 * platform/graphics/MediaPlayer.cpp: 26931 (WebCore::MediaPlayer::load): 26932 * platform/graphics/MediaPlayer.h: 26933 * rendering/MediaControlElements.cpp: 26934 (WebCore::MediaControlInputElement::MediaControlInputElement): 26935 * rendering/MediaControlElements.h: 26936 * svg/animation/SVGSMILElement.cpp: 26937 (WebCore::SVGSMILElement::Condition::Condition): 26938 * svg/animation/SVGSMILElement.h: 26939 * svg/graphics/SVGImageEmptyClients.h: 26940 (WebCore::SVGEmptyEditorClient::shouldInsertText): 26941 * xml/XSLTProcessor.cpp: 26942 (WebCore::createFragmentFromSource): 26943 26944 2008-04-24 Justin Garcia <justin.garcia (a] apple.com> 26945 26946 Reviewed by Darin Adler. 26947 26948 <rdar://problem/5604313> FormatBlock to apply an h1 also inserts a style span around the first letter (16004) 26949 26950 * editing/TextIterator.cpp: 26951 (WebCore::TextIterator::advance): We emit an extra newline when leaving a 26952 block element that has atypical margin/padding. When we emit the extra newline, 26953 it needs to be positioned after that block's contents, not after the block. 26954 This is how we position the first newline, too, since the range for emitted newlines 26955 should start where the line break begins visually. 26956 26957 2008-04-24 Anders Carlsson <andersca (a] apple.com> 26958 26959 Reviewed by Adam. 26960 26961 Only avoid implicit entries when doing the initial caching. 26962 26963 * loader/appcache/ApplicationCacheGroup.cpp: 26964 (WebCore::ApplicationCacheGroup::didReceiveResponse): 26965 (WebCore::ApplicationCacheGroup::startLoadingEntry): 26966 26967 2008-04-24 Kevin McCullough <kmccullough (a] apple.com> 26968 26969 Reviewed by Adam and Sam. 26970 26971 -<rdar://problem/5770054> JavaScript profiler (10928) 26972 -Only profile the page group that starts profiling to avoid profiling 26973 tools that shouldn't be profiled unless explicitly requested to. 26974 26975 * bindings/js/kjs_proxy.cpp: When a new global object is created set its 26976 page group identifier. 26977 (WebCore::KJSProxy::clear): 26978 (WebCore::KJSProxy::initScript): 26979 * page/Console.cpp: When calling console.profile set the identifier of 26980 the page group being profiled. 26981 (WebCore::Console::profile): 26982 * page/PageGroup.cpp: Implement unique identifiers. 26983 (WebCore::getUniqueIdentifier): 26984 (WebCore::PageGroup::PageGroup): 26985 * page/PageGroup.h: Ditto. 26986 (WebCore::PageGroup::identifier): 26987 26988 2008-04-24 John Sullivan <sullivan (a] apple.com> 26989 26990 Mac buid fix 26991 26992 * page/mac/WebCoreViewFactory.h: 26993 add declarations of six new AX methods that were added to LocalizedStrings.h 26994 26995 * platform/mac/LocalizedStringsMac.mm: 26996 (WebCore::AXButtonActionVerb): 26997 implement by calling through to WebCoreViewFactory as we do with the other functions here 26998 (WebCore::AXRadioButtonActionVerb): 26999 ditto 27000 (WebCore::AXTextFieldActionVerb): 27001 ditto 27002 (WebCore::AXCheckedCheckBoxActionVerb): 27003 ditto 27004 (WebCore::AXUncheckedCheckBoxActionVerb): 27005 ditto 27006 (WebCore::AXLinkActionVerb): 27007 ditto 27008 27009 2008-04-24 Simon Hausmann <hausmann (a] webkit.org> 27010 27011 Rubber-stamped by Lars 27012 27013 Fix text rendering in -reverse mode on Qt/Mac. 27014 27015 For Font::width() don't use a plain QFontMetrics object but also the properly 27016 setup QTextLayout that has the RTL/LTR force flags set. 27017 27018 * platform/graphics/qt/FontQt.cpp: 27019 (WebCore::Font::width): 27020 27021 2008-04-24 Tor Arne Vestb <tavestbo (a] trolltech.com> 27022 27023 Reviewed by Simon. 27024 27025 Don't do anti-aliasing for arcs, lines and rects, but continue to anti-alias 27026 all drawing primitives in the HTML Canvas element. 27027 27028 This speeds up drawing of dashed outlines significantly. 27029 27030 Also preserve the anti-aliasing renderhint for transparency layers and 27031 get rid of the mostly unused device pointer. 27032 27033 * platform/graphics/qt/GraphicsContextQt.cpp: 27034 (WebCore::TransparencyLayer::TransparencyLayer): 27035 (WebCore::GraphicsContextPlatformPrivate::p): 27036 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 27037 (WebCore::GraphicsContext::beginTransparencyLayer): 27038 (WebCore::GraphicsContext::drawRect): 27039 (WebCore::GraphicsContext::drawLine): 27040 (WebCore::GraphicsContext::strokeArc): 27041 27042 2008-04-24 Paul Olav Tvete <paul (a] trolltech.com> 27043 27044 Reviewed by Simon. 27045 27046 Fix various compiler warnings related to QString(const char *) 27047 construction by using QLatin1String. 27048 27049 * bridge/qt/qt_instance.cpp: 27050 (KJS::Bindings::QtField::valueFromInstance): 27051 (KJS::Bindings::QtField::setValueToInstance): 27052 * dom/XMLTokenizer.cpp: 27053 * platform/graphics/qt/PathQt.cpp: 27054 (WebCore::Path::debugString): 27055 27056 2008-04-24 Morten Johan Srvig <msorvig (a] trolltech.com> 27057 27058 Reviewed by Simon. 27059 27060 Work around QMacStyle bug in repainting the vertical scrollbar. 27061 27062 We draw the scrollbar using HITheme but somehow the translation and the 27063 clipping we previously set using ClipCGContextToRegion is ignored. Drawing 27064 without the translation fixes the clip. 27065 27066 * platform/qt/PlatformScrollBarQt.cpp: 27067 (WebCore::PlatformScrollbar::paint): 27068 27069 2008-04-24 Holger Hans Peter Freyther <zecke (a] selfish.org> 27070 27071 Reviewed by Simon. 27072 27073 * Set an expiration date for local files as we do not know what will happen 27074 to these files (in contrast to a http server with max-age and other headers) 27075 * Remember the time when we started the job and use that for the expiration date 27076 * QNetworkManager does not handle expiration at all, we might want to set the 27077 expiration for all downloads but this will be a performance nightmare. 27078 27079 * platform/network/qt/QNetworkReplyHandler.cpp: 27080 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 27081 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 27082 (WebCore::QNetworkReplyHandler::start): 27083 * platform/network/qt/QNetworkReplyHandler.h: 27084 27085 2008-04-24 Simon Hausmann <hausmann (a] webkit.org> 27086 27087 Fix the Gtk and Qt builds. 27088 27089 Added missing localization stubs for accessibility. 27090 27091 * platform/gtk/LocalizedStringsGtk.cpp: 27092 (WebCore::AXButtonActionVerb): 27093 (WebCore::AXRadioButtonActionVerb): 27094 (WebCore::AXTextFieldActionVerb): 27095 (WebCore::AXCheckedCheckBoxActionVerb): 27096 (WebCore::AXUncheckedCheckBoxActionVerb): 27097 (WebCore::AXLinkActionVerb): 27098 * platform/qt/Localizations.cpp: 27099 (WebCore::AXButtonActionVerb): 27100 (WebCore::AXRadioButtonActionVerb): 27101 (WebCore::AXTextFieldActionVerb): 27102 (WebCore::AXCheckedCheckBoxActionVerb): 27103 (WebCore::AXUncheckedCheckBoxActionVerb): 27104 (WebCore::AXLinkActionVerb): 27105 27106 2008-04-24 Olivier Goffart <ogoffart (a] trolltech.com> 27107 27108 Reviewed by Simon 27109 27110 Fix various compiler warnings in the Qt port. 27111 27112 * platform/graphics/qt/ImageQt.cpp: 27113 (loadResourcePixmap): 27114 * platform/qt/CookieJarQt.cpp: 27115 (WebCore::cookies): 27116 * platform/qt/ScrollViewQt.cpp: 27117 (WebCore::ScrollView::wheelEvent): 27118 * plugins/qt/PluginDataQt.cpp: 27119 (WebCore::PluginData::initPlugins): 27120 27121 2008-04-24 Andre Poenitz <andre.poenitz (a] trolltech.com> 27122 27123 Reviewed by Simon. 27124 27125 Removed spurious QHideEvent forward declaration. 27126 27127 * platform/qt/QWebPopup.h: 27128 27129 2008-04-24 Tor Arne Vestb <tavestbo (a] trolltech.com> 27130 27131 Reviewed by Simon. 27132 27133 Render text areas using Qt (ensures proper style). 27134 27135 * platform/qt/RenderThemeQt.cpp: 27136 (WebCore::RenderThemeQt::paintTextField): 27137 (WebCore::RenderThemeQt::adjustTextFieldStyle): 27138 (WebCore::RenderThemeQt::paintTextArea): 27139 (WebCore::RenderThemeQt::supportsFocus): 27140 * platform/qt/RenderThemeQt.h: 27141 27142 2008-04-24 Tor Arne Vestb <tavestbo (a] trolltech.com> 27143 27144 Reviewed by Simon. 27145 27146 Make mouse wheel events over scrollbars behave the same as in Qt, i.e. both 27147 horizontal and vertical wheel events will scroll the view in the orientation 27148 of the scrollbar underneath the cursor. 27149 27150 * platform/qt/ScrollViewQt.cpp: 27151 (WebCore::ScrollView::paint): 27152 (WebCore::ScrollView::wheelEvent): 27153 27154 2008-04-23 Jon Honeycutt <jhoneycutt (a] apple.com> 27155 27156 Reviewed by Brady. 27157 27158 * page/AccessibilityObject.cpp: 27159 (WebCore::AccessibilityObject::press): Return false if this object 27160 doesn't have an action element associated with it. 27161 * page/AccessibilityObject.h: Added a performDefaultAction() method, 27162 which just calls press(). Marked press() const and changed its return 27163 type to bool. 27164 27165 2008-04-23 Jon Honeycutt <jhoneycutt (a] apple.com> 27166 27167 Reviewed by Adam. 27168 27169 Don't allow a hit test to return an AccessibilityObject that should be 27170 ignored. 27171 27172 * page/AccessibilityObject.cpp: 27173 (WebCore::AccessibilityObject::doAccessibilityHitTest): If this result 27174 object's accessibility is ignored, return the parent unignored object. 27175 27176 2008-04-23 Jon Honeycutt <jhoneycutt (a] apple.com> 27177 27178 Reviewed by Adam. 27179 27180 Fix a crash when performing a hit test on an AccessibilityObject with 27181 no layer (e.g., an AccessibilityObject for a RenderText object). 27182 27183 * page/AccessibilityObject.cpp: 27184 (WebCore::AccessibilityObject::doAccessibilityHitTest): Added a null 27185 check for layer. Removed a null check for m_renderer, which shouldn't 27186 occur. 27187 27188 2008-04-23 Jon Honeycutt <jhoneycutt (a] apple.com> 27189 27190 * page/AccessibilityObject.cpp: 27191 (WebCore::AccessibilityObject::boundingBoxRect): Added FIXME about this 27192 method not working correctly for objects with CSS transforms applied. 27193 27194 2008-04-23 Jon Honeycutt <jhoneycutt (a] apple.com> 27195 27196 Reviewed by Adam. 27197 27198 Implement contentsToScreen() and screenToContents() on Windows. 27199 27200 * platform/ScrollView.h: Make these declarations conditional on 27201 HAVE(ACCESSIBILITY) instead of PLATFORM(MAC). 27202 * platform/win/ScrollViewWin.cpp: 27203 (WebCore::ScrollView::contentsToScreen): Translate from coordinates 27204 relative to the ScrollView to coordinates relative to the screen. Do 27205 this by getting the offset of the ScrollView in screen coordinates and 27206 moving the rect by this amount. 27207 (WebCore::ScrollView::screenToContents): Translate from coordinates 27208 relative to the screen to coordinates relative to the ScrollView. 27209 27210 2008-04-23 Jon Honeycutt <jhoneycutt (a] apple.com> 27211 27212 Reviewed by Oliver. 27213 27214 Add a method to get a localized, human-readable string stating this 27215 object's default action, e.g., a button's default action is "press." 27216 27217 * page/AccessibilityObject.cpp: 27218 (WebCore::AccessibilityObject::actionVerb): Added. 27219 * page/AccessibilityObject.h: Added declaration for actionVerb(). 27220 * platform/LocalizedStrings.h: Added declarations for: 27221 AXButtonActionVerb() 27222 AXRadioButtonActionVerb() 27223 AXTextFieldActionVerb() 27224 AXCheckedCheckBoxActionVerb() 27225 AXUncheckedCheckBoxActionVerb() 27226 AXLinkActionVerb() 27227 27228 2008-04-24 Tor Arne Vestb <tavestbo (a] trolltech.com> 27229 27230 Reviewed by Simon. 27231 27232 Cleaned up copyright headers in the Qt port (removed misplaced class 27233 descriptions and fixed inconsistent whitespace and indentation). 27234 27235 * platform/graphics/qt/FontQt.cpp: 27236 * platform/qt/WheelEventQt.cpp: 27237 27238 2008-04-24 Tor Arne Vestb <tavestbo (a] trolltech.com> 27239 27240 Reviewed by Simon. 27241 27242 Disable vanlilla focus rings since Qt provides this as part of the style. 27243 27244 * platform/qt/RenderThemeQt.cpp: 27245 27246 2008-04-24 George Staikos <george.staikos (a] torchmobile.com> 27247 27248 Reviewed by Simon. 27249 27250 This optimization in BitmapImage::drawPattern for the identity 27251 transform is bogus and causes incorrect results on sites like youtube. 27252 27253 * platform/graphics/qt/ImageQt.cpp: 27254 (WebCore::BitmapImage::drawPattern): 27255 27256 2008-04-23 Brady Eidson <beidson (a] apple.com> 27257 27258 Reviewed by Jon Honeycutt 27259 27260 Preparing for making LocalStorageAreas persistent. 27261 27262 Since LocalStorageAreas will need to do a lot of additional work for each of the basic 27263 operations a Storage object supports, this patch makes the API entry points virtual so 27264 LocalStorageArea can override them. The behavior for both Local and Session StorageAreas 27265 is unchanged with this patch, but LocalStorageArea will override them in the future. 27266 27267 * storage/StorageArea.cpp: Rename the implementations to internalFoo 27268 (WebCore::StorageArea::internalLength): 27269 (WebCore::StorageArea::internalKey): 27270 (WebCore::StorageArea::internalGetItem): 27271 (WebCore::StorageArea::internalSetItem): 27272 (WebCore::StorageArea::internalRemoveItem): 27273 (WebCore::StorageArea::internalContains): 27274 27275 * storage/StorageArea.h: Call internalFoo variants 27276 (WebCore::StorageArea::length): 27277 (WebCore::StorageArea::key): 27278 (WebCore::StorageArea::getItem): 27279 (WebCore::StorageArea::setItem): 27280 (WebCore::StorageArea::removeItem): 27281 (WebCore::StorageArea::contains): 27282 27283 2008-04-23 David Hyatt <hyatt (a] apple.com> 27284 27285 Implement getComputedStyle for border-image. 27286 27287 Reviewed by Dan Bernstein 27288 27289 Added fast/css/getComputedStyle-border-image.html 27290 27291 * css/CSSComputedStyleDeclaration.cpp: 27292 (WebCore::valueForRepeatRule): 27293 (WebCore::valueForNinePieceImage): 27294 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 27295 27296 2008-04-22 Darin Adler <darin (a] apple.com> 27297 27298 Reviewed by Anders. 27299 27300 - simplify use of HashTraits to prepare for some upcoming hash table changes 27301 27302 * page/AXObjectCache.h: Removed uneeded AXIDHashTraits, which are no different 27303 from the default hash traits for unsigned. 27304 * page/mac/AXObjectCacheMac.mm: 27305 (WebCore::AXObjectCache::removeAXID): Remove assertion that's already done 27306 by HashTable that the value is not the deleted value. 27307 27308 * platform/graphics/StringTruncator.cpp: Removed unneeded include. 27309 * svg/SVGFontFaceElement.cpp: Removed unneeded include. 27310 27311 2008-04-23 Kevin Ollivier <kevino (a] theolliviers.com> 27312 27313 wx build fixes. Changing BackgroundLayer -> FillLayer and adding 27314 Frame::disconnectPlatformScriptObjects(). 27315 27316 * platform/wx/RenderThemeWx.cpp: 27317 (WebCore::RenderThemeWx::isControlStyled): 27318 * platform/wx/TemporaryLinkStubs.cpp: 27319 (Frame::disconnectPlatformScriptObjects): 27320 27321 2008-04-23 David Hyatt <hyatt (a] apple.com> 27322 27323 Add support for mask-box-image (similar to border-image). This property enables a single image 27324 to overlay the entire mask area (with nine-piece slicing rules similar to border image). 27325 27326 Reviewed by Dan Bernstein 27327 27328 Added inline-mask-overlay.html, block-mask-overlay.html 27329 27330 * css/CSSComputedStyleDeclaration.cpp: 27331 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 27332 * css/CSSParser.cpp: 27333 (WebCore::CSSParser::parseValue): 27334 (WebCore::CSSParser::parseBorderImage): 27335 * css/CSSPropertyNames.in: 27336 * css/CSSStyleSelector.cpp: 27337 (WebCore::CSSStyleSelector::applyProperty): 27338 * rendering/InlineFlowBox.cpp: 27339 (WebCore::InlineFlowBox::paintMask): 27340 * rendering/RenderBox.cpp: 27341 (WebCore::RenderBox::paintMask): 27342 * rendering/RenderFlow.cpp: 27343 (WebCore::RenderFlow::paintLines): 27344 * rendering/RenderObject.cpp: 27345 (WebCore::RenderObject::paintNinePieceImage): 27346 (WebCore::RenderObject::paintBorder): 27347 * rendering/RenderObject.h: 27348 * rendering/RenderStyle.cpp: 27349 (WebCore::NinePieceImage::operator==): 27350 * rendering/RenderStyle.h: 27351 (WebCore::NinePieceImage::m_verticalRule): 27352 (WebCore::NinePieceImage::horizontalRule): 27353 (WebCore::NinePieceImage::verticalRule): 27354 (WebCore::RenderStyle::borderImage): 27355 (WebCore::RenderStyle::maskOverlayImage): 27356 (WebCore::RenderStyle::hasMask): 27357 (WebCore::RenderStyle::resetBorderImage): 27358 (WebCore::RenderStyle::setBorderImage): 27359 (WebCore::RenderStyle::setMaskOverlayImage): 27360 (WebCore::RenderStyle::initialNinePieceImage): 27361 * rendering/RenderTable.cpp: 27362 (WebCore::RenderTable::paintMask): 27363 * rendering/RenderTableCell.cpp: 27364 (WebCore::RenderTableCell::paintMask): 27365 27366 2008-04-23 Justin Garcia <justin.garcia (a] apple.com> 27367 27368 Reviewed by Darin Adler. 27369 27370 <rdar://problem/5825350> OWA: Caret disappears when navigating with arrows keys in contenteditable div 27371 27372 * editing/htmlediting.cpp: 27373 (WebCore::firstEditablePositionAfterPositionInRoot): Return a null VisiblePosition if 27374 this function moves out of highestRoot. Re-wrote so as to not duplicate code inside 27375 and outside of the while loop. 27376 (WebCore::lastEditablePositionBeforePositionInRoot): Ditto. 27377 27378 2008-04-23 Daniel Zucker <zucker (a] wake3.com> 27379 27380 Reviewed by Adam Roben. 27381 27382 Fix build errors needed to compile Curl in Cairo build. Add stubs for 27383 didReceiveAuthenticationChallenge, receivedCredential, 27384 receivedRequestToContinueWithoutCredential, and receivedCancellation. 27385 <https://bugs.webkit.org/show_bug.cgi?id=18468> 27386 27387 * platform/network/ResourceHandle.h: 27388 * platform/network/curl/ResourceHandleCurl.cpp: 27389 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 27390 (WebCore::ResourceHandle::receivedCredential): 27391 (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): 27392 (WebCore::ResourceHandle::receivedCancellation): 27393 27394 2008-04-23 Dan Bernstein <mitz (a] apple.com> 27395 27396 Reviewed by Darin Adler. 27397 27398 - fix a bug where moving forward in bidirectional text skips over the 27399 position after the end of the line 27400 27401 Test: editing/selection/move-past-trailing-space.html 27402 27403 * dom/Position.cpp: 27404 (WebCore::Position::upstream): Changed the logic for identifying when a 27405 position is after the last character of a text box of a text node that 27406 continues on the next line, to make it work correctly when boxes are not 27407 laid out in logical order. 27408 (WebCore::Position::downstream): Ditto. 27409 27410 2008-04-23 Brad Hughes <bhughes (a] trolltech.com> 27411 27412 Reviewed by Simon. 27413 27414 Fix release build with the intel compiler 27415 27416 Intel compiler can't compile qtwebkit with -O2 or -O1, so we're left with -O0 27417 27418 * WebCore.pro: 27419 27420 2008-04-22 Dan Bernstein <mitz (a] apple.com> 27421 27422 Reviewed by Anders Carlsson. 27423 27424 - remove unused calls to Position::upstream() 27425 27426 * editing/InsertLineBreakCommand.cpp: 27427 (WebCore::InsertLineBreakCommand::insertNodeAfterPosition): 27428 (WebCore::InsertLineBreakCommand::insertNodeBeforePosition): 27429 27430 2008-04-22 Jon Honeycutt <jhoneycutt (a] apple.com> 27431 27432 Reviewed by Sam. 27433 27434 Add a method to query which modifier keys the platform uses for access 27435 key actions. 27436 27437 * page/EventHandler.cpp: 27438 (WebCore::EventHandler::handleAccessKey): Bitwise and the event's 27439 modifier keys with the platform's access key modifier mask to determine 27440 whether this event can perform an access key action. 27441 * page/EventHandler.h: Added s_accessKeyModifiers, a platform-defined 27442 mask of modifier keys used for access key actions, and a getter. 27443 * page/mac/EventHandlerMac.mm: Use PlatformKeyboardEvent::CtrlKey for 27444 access key actions. 27445 * page/qt/EventHandlerQt.cpp: Same. 27446 * page/gtk/EventHandlerGtk.cpp: Use AltKey. 27447 * page/win/EventHandlerWin.cpp: Same. 27448 * page/wx/EventHandlerWx.cpp: Same. 27449 * platform/PlatformKeyboardEvent.h: Added an enum, ModifierKey. 27450 (WebCore::PlatformKeyboardEvent::): 27451 (WebCore::PlatformKeyboardEvent::modifiers): Return which modifier keys 27452 were active, a combination of ModifierKey values. 27453 27454 2008-04-22 Sam Weinig <sam (a] webkit.org> 27455 27456 Reviewed by Maciej Stachowiak. 27457 27458 Make the KJSProxy and FrameLoader member variables instead of pointers 27459 in FramePrivate in a bid to do a little clean up before the last of the 27460 split window patches. Also, make the KJSProxy not lazily created, as the 27461 real benefit comes from lazily creating the JSDOMWindowWrapper, which we 27462 still do. 27463 27464 * page/Frame.cpp: 27465 (WebCore::Frame::~Frame): 27466 (WebCore::Frame::init): 27467 (WebCore::Frame::loader): 27468 (WebCore::Frame::scriptProxy): 27469 (WebCore::Frame::document): 27470 (WebCore::Frame::setDocument): 27471 (WebCore::Frame::clearScriptProxy): 27472 (WebCore::Frame::pageDestroyed): 27473 (WebCore::FramePrivate::FramePrivate): 27474 (WebCore::FramePrivate::~FramePrivate): 27475 * page/FramePrivate.h: 27476 27477 2008-04-22 Anatoli Papirovski <apapirovski (a] mac.com> 27478 27479 Reviewed by Dan Bernstein. 27480 27481 - fix https://bugs.webkit.org/show_bug.cgi?id=18584 27482 border-color, outline-color, column-color, -webkit-text-stroke-color, 27483 and -webkit-text-fill-color inheritance to correctly use parent's color 27484 if the parent's corresponding (border, outline, etc.)-color property 27485 wasn't set. 27486 27487 Test: fast/borders/border-color-inherit.html 27488 27489 * css/CSSStyleSelector.cpp: 27490 (WebCore::CSSStyleSelector::applyProperty): 27491 27492 2008-04-22 Alp Toker <alp (a] nuanti.com> 27493 27494 Rubber-stamped by Dave Hyatt. 27495 27496 Move GraphicsContext::clipToImageBuffer() notImplemented() stub to 27497 GraphicsContextCairo. 27498 27499 * platform/graphics/GraphicsContext.cpp: 27500 * platform/graphics/cairo/GraphicsContextCairo.cpp: 27501 (WebCore::GraphicsContext::clipToImageBuffer): 27502 27503 2008-04-22 David Hyatt <hyatt (a] apple.com> 27504 27505 Add support for mask-composite to match background-composite. 27506 27507 Reviewed by Sam Weinig 27508 27509 Added fast/backgrounds/mask-composite.html 27510 27511 * css/CSSComputedStyleDeclaration.cpp: 27512 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 27513 * css/CSSParser.cpp: 27514 (WebCore::CSSParser::parseValue): 27515 (WebCore::CSSParser::parseFillProperty): 27516 * css/CSSPropertyNames.in: 27517 * css/CSSStyleSelector.cpp: 27518 (WebCore::CSSStyleSelector::applyProperty): 27519 * rendering/InlineFlowBox.cpp: 27520 (WebCore::InlineFlowBox::paintMask): 27521 27522 2008-04-22 David Hyatt <hyatt (a] apple.com> 27523 27524 Fix for bug 18688, background-color stopped painting on inlines. Fix a virtual function 27525 misnaming that led to the derived class not getting called properly. 27526 27527 Reviewed by Mark Rowe 27528 27529 * ChangeLog: 27530 * rendering/InlineFlowBox.cpp: 27531 (WebCore::InlineFlowBox::paintFillLayer): 27532 * rendering/RenderObject.h: 27533 (WebCore::RenderObject::paintFillLayerExtended): 27534 27535 2008-04-22 Brady Eidson <beidson (a] apple.com> 27536 27537 Reviewed by Sam Weinig 27538 27539 <rdar://problem/5733282> and https://bugs.webkit.org/show_bug.cgi?id=18680 27540 Always loads default shortcut icon URL when an external <script> is referenced before the icon URL is set. 27541 27542 * dom/Document.cpp: 27543 (WebCore::Document::implicitClose): Call FrameLoader->startIconLoader() here, when the document is 27544 finished parsing. 27545 27546 * loader/FrameLoader.cpp: 27547 (WebCore::FrameLoader::endIfNotLoadingMainResource): Don't start the icon load here, when the 27548 document is finished parsing. This was often too early, as document parsing may be blocked 27549 on an external script and therefore the correct iconURL is not set yet. 27550 The isLoadingFromCachedPage() check was when we started the icon load based on *loading* instead parsing, 27551 and is now irrelevant. 27552 * loader/FrameLoader.h: Make startIconLoader() public 27553 27554 2008-04-22 Antti Koivisto <antti (a] apple.com> 27555 27556 Reviewed by Oliver. 27557 27558 Support keyPoints attribute of <animateMotion>. 27559 27560 Tested by SVG test suite test 27561 animate-elem-33-t.svg 27562 27563 * svg/SVGAnimateMotionElement.cpp: 27564 (WebCore::SVGAnimateMotionElement::parseMappedAttribute): 27565 * svg/SVGAnimationElement.cpp: 27566 (WebCore::parseKeyTimes): 27567 (WebCore::SVGAnimationElement::parseMappedAttribute): 27568 (WebCore::SVGAnimationElement::calculatePercentForSpline): 27569 (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints): 27570 (WebCore::SVGAnimationElement::currentValuesFromKeyPoints): 27571 (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): 27572 (WebCore::SVGAnimationElement::startedActiveInterval): 27573 (WebCore::SVGAnimationElement::updateAnimation): 27574 * svg/SVGAnimationElement.h: 27575 27576 2008-04-22 Holger Hans Peter Freyther <zecke (a] selfish.org> 27577 27578 Unreviewed build fix. 27579 27580 Update WebKit.qrc to catch up with the addition and removal of images 27581 from page/inspector/Images in recent commits. 27582 27583 * page/inspector/WebKit.qrc: 27584 27585 2008-04-22 David Hyatt <hyatt (a] apple.com> 27586 27587 Fix for <rdar://5589634>. 27588 27589 Implement CSS alpha masks. The syntax is very similar to that used for backgrounds. Multiple mask images 27590 can be specified, and each one can be tiled, positioned, etc. The following new properties have been 27591 added (all of which are analogous to their background-* counterparts). 27592 27593 mask, mask-image, mask-clip, mask-origin, mask-repeat, mask-attachment, mask-position 27594 27595 The alpha values in the final composite image are used to determine how the mask applies (alpha of 1 = show, 27596 alpha of 0 = don't show). 27597 27598 SVG images and CSS gradients can also be used as masks. 27599 27600 Reviewed by Dan 27601 27602 Added fast/backgrounds/repeat/mask-negative-offset-repeat.html, fast/backgrounds/svg-as-mask.html 27603 27604 * css/CSSMutableStyleDeclaration.cpp: 27605 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 27606 (WebCore::initShorthandMap): 27607 * css/CSSParser.cpp: 27608 (WebCore::CSSParser::parseFillProperty): 27609 (WebCore::CSSParser::parseTransformOrigin): 27610 * css/CSSStyleSelector.cpp: 27611 (WebCore::CSSStyleSelector::adjustRenderStyle): 27612 (WebCore::CSSStyleSelector::applyProperty): 27613 * rendering/InlineFlowBox.cpp: 27614 (WebCore::InlineFlowBox::paint): 27615 (WebCore::InlineFlowBox::paintFillLayers): 27616 (WebCore::InlineFlowBox::paintFillLayer): 27617 (WebCore::InlineFlowBox::paintBoxDecorations): 27618 (WebCore::InlineFlowBox::paintMask): 27619 * rendering/InlineFlowBox.h: 27620 * rendering/RenderBlock.cpp: 27621 (WebCore::RenderBlock::paint): 27622 (WebCore::RenderBlock::paintObject): 27623 * rendering/RenderBox.cpp: 27624 (WebCore::RenderBox::paintRootBoxDecorations): 27625 (WebCore::RenderBox::paintBoxDecorations): 27626 (WebCore::RenderBox::paintMask): 27627 (WebCore::RenderBox::paintFillLayers): 27628 (WebCore::RenderBox::paintFillLayer): 27629 (WebCore::RenderBox::paintFillLayerExtended): 27630 * rendering/RenderBox.h: 27631 * rendering/RenderFieldset.cpp: 27632 (WebCore::RenderFieldset::paintBoxDecorations): 27633 (WebCore::RenderFieldset::paintMask): 27634 * rendering/RenderFieldset.h: 27635 * rendering/RenderInline.cpp: 27636 (WebCore::RenderInline::requiresLayer): 27637 * rendering/RenderLayer.cpp: 27638 (WebCore::RenderLayer::isTransparent): 27639 (WebCore::RenderLayer::paintLayer): 27640 * rendering/RenderObject.cpp: 27641 (WebCore::RenderObject::requiresLayer): 27642 (WebCore::mustRepaintFillLayers): 27643 (WebCore::RenderObject::mustRepaintBackgroundOrBorder): 27644 (WebCore::RenderObject::setStyle): 27645 (WebCore::RenderObject::updateFillImages): 27646 * rendering/RenderObject.h: 27647 (WebCore::RenderObject::hasMask): 27648 (WebCore::RenderObject::paintMask): 27649 (WebCore::RenderObject::paintFillExtended): 27650 * rendering/RenderReplaced.cpp: 27651 (WebCore::RenderReplaced::paint): 27652 * rendering/RenderStyle.cpp: 27653 (WebCore::FillLayer::FillLayer): 27654 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 27655 * rendering/RenderStyle.h: 27656 (WebCore::FillLayer::initialFillComposite): 27657 (WebCore::FillLayer::initialFillSize): 27658 (WebCore::FillLayer::FillLayer): 27659 (WebCore::RenderStyle::hasMask): 27660 * rendering/RenderTable.cpp: 27661 (WebCore::RenderTable::paint): 27662 (WebCore::RenderTable::paintBoxDecorations): 27663 (WebCore::RenderTable::paintMask): 27664 * rendering/RenderTable.h: 27665 * rendering/RenderTableCell.cpp: 27666 (WebCore::RenderTableCell::requiresLayer): 27667 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 27668 (WebCore::RenderTableCell::paintMask): 27669 * rendering/RenderTableCell.h: 27670 * rendering/RenderWidget.cpp: 27671 (WebCore::RenderWidget::paint): 27672 * svg/graphics/SVGImage.cpp: 27673 (WebCore::SVGImage::draw): 27674 (WebCore::SVGImage::dataChanged): 27675 27676 2008-04-22 Sam Weinig <sam (a] webkit.org> 27677 27678 Reviewed by Geoffrey Garen. 27679 27680 Make DOMAbstractView have a weak reference to the Frame instead of ref'ing 27681 the DOMWindow. 27682 27683 To ensure that the WindowScriptObject (which is a DOMAbstractView) stays valid 27684 after a navigation once the split window is completed, the DOMAbstractView must 27685 wrap the Frame instead of a DOMWindow since the DOMWindow will change. 27686 27687 * WebCore.xcodeproj/project.pbxproj: 27688 * bindings/objc/DOMAbstractView.mm: Added. 27689 (-[DOMAbstractView dealloc]): 27690 (-[DOMAbstractView finalize]): 27691 (-[DOMAbstractView document]): 27692 (-[DOMAbstractView _disconnectFrame]): 27693 (-[DOMAbstractView WebCore::]): 27694 (-[DOMAbstractView _initWithFrame:WebCore::]): 27695 (+[DOMAbstractView _wrapAbstractView:WebCore::]): 27696 Add custom implementation to implement weak reference semantics. 27697 27698 * bindings/objc/DOMAbstractViewFrame.h: Added. 27699 Declare the [DOMAbstractView _disconectFrame] selector. 27700 * bindings/objc/DOMInternal.h: 27701 Remove DOMRGBColor Internal category since it is now generated. 27702 27703 * bindings/objc/DOMUtility.mm: 27704 (KJS::createDOMWrapper): 27705 Don't ever create a DOMAbstractView from a JSDOMWindow, only from JSDOMWindowWrapper. 27706 27707 * bindings/scripts/CodeGeneratorObjC.pm: 27708 Generate internal header for IDLs that want custom implementations. 27709 27710 * css/RGBColor.idl: 27711 Make this a PODType as it really is in the implementation. 27712 27713 * page/AbstractView.idl: 27714 This now needs a custom objective-c binding implementation. 27715 27716 * page/Frame.cpp: 27717 (WebCore::Frame::~Frame): 27718 disconnect the weak frame reference in the WindowScriptObject. 27719 27720 * page/Frame.h: 27721 * page/gtk/FrameGtk.cpp: 27722 (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation. 27723 * page/mac/FrameMac.mm: 27724 (WebCore::Frame::windowScriptObject): ASSERT that the windowScriptObject is a DOMAbstractView. 27725 (WebCore::Frame::disconnectPlatformScriptObjects): Disconnect the frame pointer from the windowScriptObject. 27726 * page/qt/FrameQt.cpp: 27727 (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation. 27728 * page/win/FrameWin.cpp: 27729 (WebCore::Frame::disconnectPlatformScriptObjects): Ditto. 27730 27731 2008-04-22 Dan Bernstein <mitz (a] apple.com> 27732 27733 Reviewed by Sam Weinig. 27734 27735 - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729 27736 <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text 27737 27738 * rendering/bidi.cpp: 27739 (WebCore::RenderBlock::layoutInlineChildren): Make sure to give the 27740 trailing white space a bidi level consistent with its position. 27741 27742 2008-04-22 Timothy Hatcher <timothy (a] apple.com> 27743 27744 Remove many unused Web Inspector images. 27745 27746 Rubber-stamped by Adam Roben and Sam Weinig. 27747 27748 * page/inspector/Images/attachedShadow.png: Removed. 27749 * page/inspector/Images/backNormal.png: Removed. 27750 * page/inspector/Images/bottomShadow.png: Removed. 27751 * page/inspector/Images/breadcrumbBackground.png: Removed. 27752 * page/inspector/Images/console.png: Removed. 27753 * page/inspector/Images/databaseBrowserViewNormal.png: Removed. 27754 * page/inspector/Images/databaseBrowserViewNormalSelected.png: Removed. 27755 * page/inspector/Images/databaseBrowserViewSmall.png: Removed. 27756 * page/inspector/Images/databaseBrowserViewSmallSelected.png: Removed. 27757 * page/inspector/Images/databaseQueryViewNormal.png: Removed. 27758 * page/inspector/Images/databaseQueryViewNormalSelected.png: Removed. 27759 * page/inspector/Images/databaseQueryViewSmall.png: Removed. 27760 * page/inspector/Images/databaseQueryViewSmallSelected.png: Removed. 27761 * page/inspector/Images/disclosureDownPressed.png: Removed. 27762 * page/inspector/Images/disclosureRightDown.png: Removed. 27763 * page/inspector/Images/disclosureRightPressed.png: Removed. 27764 * page/inspector/Images/document.png: Removed. 27765 * page/inspector/Images/domViewNormal.png: Removed. 27766 * page/inspector/Images/domViewNormalSelected.png: Removed. 27767 * page/inspector/Images/domViewSmall.png: Removed. 27768 * page/inspector/Images/domViewSmallSelected.png: Removed. 27769 * page/inspector/Images/downTriangle.png: Removed. 27770 * page/inspector/Images/folder.png: Removed. 27771 * page/inspector/Images/forwardNormal.png: Removed. 27772 * page/inspector/Images/gradient.png: Removed. 27773 * page/inspector/Images/gradientHighlight.png: Removed. 27774 * page/inspector/Images/gradientHighlightBottom.png: Removed. 27775 * page/inspector/Images/hideStatusWidget.png: Removed. 27776 * page/inspector/Images/hideStatusWidgetPressed.png: Removed. 27777 * page/inspector/Images/network.png: Removed. 27778 * page/inspector/Images/plainDocument.png: Removed. 27779 * page/inspector/Images/popupArrows.png: Removed. 27780 * page/inspector/Images/popupArrowsBlack.png: Removed. 27781 * page/inspector/Images/reload.png: Removed. 27782 * page/inspector/Images/rightTriangle.png: Removed. 27783 * page/inspector/Images/showStatusWidget.png: Removed. 27784 * page/inspector/Images/showStatusWidgetPressed.png: Removed. 27785 * page/inspector/Images/sidbarItemBackground.png: Removed. 27786 * page/inspector/Images/sidebarActionWidget.png: Removed. 27787 * page/inspector/Images/sidebarActionWidgetPressed.png: Removed. 27788 * page/inspector/Images/sidebarAttachWidget.png: Removed. 27789 * page/inspector/Images/sidebarAttachWidgetPressed.png: Removed. 27790 * page/inspector/Images/sidebarDetachWidget.png: Removed. 27791 * page/inspector/Images/sidebarDetachWidgetPressed.png: Removed. 27792 * page/inspector/Images/sidebarResizeWidget.png: Removed. 27793 * page/inspector/Images/sidebarStatusAreaBackground.png: Removed. 27794 * page/inspector/Images/sourceViewNormal.png: Removed. 27795 * page/inspector/Images/sourceViewNormalSelected.png: Removed. 27796 * page/inspector/Images/sourceViewSmall.png: Removed. 27797 * page/inspector/Images/sourceViewSmallSelected.png: Removed. 27798 * page/inspector/Images/tab.png: Removed. 27799 * page/inspector/Images/tabSelected.png: Removed. 27800 * page/inspector/Images/toggleDown.png: Removed. 27801 * page/inspector/Images/toggleUp.png: Removed. 27802 * page/inspector/Images/toolbarButtonNormal.png: Removed. 27803 * page/inspector/Images/toolbarButtonNormalInactive.png: Removed. 27804 * page/inspector/Images/toolbarButtonNormalPressed.png: Removed. 27805 * page/inspector/Images/toolbarButtonNormalSelected.png: Removed. 27806 * page/inspector/Images/toolbarButtonNormalSelectedInactive.png: Removed. 27807 * page/inspector/Images/toolbarButtonSmall.png: Removed. 27808 * page/inspector/Images/toolbarButtonSmallInactive.png: Removed. 27809 * page/inspector/Images/toolbarButtonSmallPressed.png: Removed. 27810 * page/inspector/Images/toolbarButtonSmallSelected.png: Removed. 27811 * page/inspector/Images/toolbarButtonSmallSelectedInactive.png: Removed. 27812 * page/inspector/Images/toolbarPopupButtonNormal.png: Removed. 27813 * page/inspector/Images/toolbarPopupButtonNormalInactive.png: Removed. 27814 * page/inspector/Images/toolbarPopupButtonNormalPressed.png: Removed. 27815 * page/inspector/Images/toolbarPopupButtonSmall.png: Removed. 27816 * page/inspector/Images/toolbarPopupButtonSmallInactive.png: Removed. 27817 * page/inspector/Images/toolbarPopupButtonSmallPressed.png: Removed. 27818 * page/inspector/Images/toolbarSplitButtonDividerNormal.png: Removed. 27819 * page/inspector/Images/toolbarSplitButtonDividerNormalInactive.png: Removed. 27820 * page/inspector/Images/toolbarSplitButtonDividerSmall.png: Removed. 27821 * page/inspector/Images/toolbarSplitButtonDividerSmallInactive.png: Removed. 27822 * page/inspector/Images/treeLeftTriangleBlack.png: Removed. 27823 27824 2008-04-22 Anders Carlsson <andersca (a] apple.com> 27825 27826 Reviewed by Darin. 27827 27828 Add NPN_Construct and NPN_PluginThreadAsyncCall declarations. 27829 27830 * bridge/npapi.h: 27831 * bridge/npruntime.h: 27832 * plugins/npfunctions.h: 27833 27834 2008-04-22 Alice Liu <alice.liu (a] apple.com> 27835 27836 Reviewed by John Sullivan and Adam Roben. 27837 27838 Test: fast/events/tabindex-focus-chain.html 27839 27840 * dom/Document.cpp: 27841 (WebCore::Document::nextFocusableNode): 27842 (WebCore::Document::previousFocusableNode): 27843 If the focused node has been removed from the normal tabbing order, 27844 advancing focus from this node should advance to the next focusable 27845 node in tree order, and not start over at the beginning of the focus 27846 chain. 27847 27848 2008-04-22 Timothy Hatcher <timothy (a] apple.com> 27849 27850 Adds a debugger toggle button to the scripts status bar that will start 27851 and stop debugging of the inspected page. 27852 27853 Reviewed by Adam Roben. 27854 27855 * English.lproj/InspectorLocalizedStrings.js: Adds the two new tooltip strings. 27856 * page/InspectorController.cpp: 27857 (WebCore::debuggerAttached): Call InspectorController::debuggerAttached. 27858 (WebCore::InspectorController::InspectorController): Initialize 27859 m_debuggerAttached to false. 27860 (WebCore::InspectorController::windowScriptObjectAvailable): Add the debuggerAttached 27861 property to the InspectorController class. 27862 (WebCore::InspectorController::startDebuggingAndReloadInspectedPage): 27863 Set m_debuggerAttached to true. 27864 (WebCore::InspectorController::stopDebugging): Set m_debuggerAttached to false. 27865 * page/InspectorController.h: 27866 * page/inspector/Images/debuggingButtons.png: Added. 27867 * page/inspector/ScriptsPanel.js: 27868 (WebInspector.ScriptsPanel): Disable the pause button. Create the debugging 27869 button and setup the id, className and event listener. Call reset. 27870 (WebInspector.ScriptsPanel.prototype.get statusBarItems): Return an array 27871 (WebInspector.ScriptsPanel.prototype.reset): Call _updateDebuggerButtons. 27872 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Adjust the title of 27873 the debugging button to match what will happen when clicked. Change the style class, 27874 and toggle the disabled state of the pause button. 27875 (WebInspector.ScriptsPanel.prototype._toggleDebugging): Start or stop debugging 27876 depending on InspectorController.debuggerAttached(). 27877 * page/inspector/inspector.css: Added style rules for the debugger button. 27878 27879 2008-04-21 Adam Roben <aroben (a] apple.com> 27880 27881 Change PlatformWheelEvent to use GET_WHEEL_DELTA_WPARAM 27882 27883 Reviewed by Dan Bernstein. 27884 27885 * platform/win/WheelEventWin.cpp: 27886 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use 27887 GET_WHEEL_DELTA_WPARAM, which is documented way of getting the wheel 27888 delta (it is equivalent to what we were previously doing, however). 27889 27890 2008-04-22 Simon Hausmann <hausmann (a] webkit.org> 27891 27892 Qt build fix. 27893 27894 Adjust the Qt resource file to removed image files. 27895 27896 * page/inspector/WebKit.qrc: 27897 27898 2008-04-21 Timothy Hatcher <timothy (a] apple.com> 27899 27900 Use CSS gradients to replace many image files in the Web Inspector. 27901 27902 Rubber-stamped by Adam Roben. 27903 27904 * page/inspector/Images/alternateTableRows.png: Removed. 27905 * page/inspector/Images/darkShadow.png: Removed. 27906 * page/inspector/Images/paneHeader.png: Removed. 27907 * page/inspector/Images/paneHeaderActive.png: Removed. 27908 * page/inspector/Images/sidebarSelection.png: Removed. 27909 * page/inspector/Images/sidebarSelectionBackground.png: Removed. 27910 * page/inspector/Images/sidebarSelectionBackgroundFocused.png: Removed. 27911 * page/inspector/Images/sidebarSelectionBackgroundInactive.png: Removed. 27912 * page/inspector/Images/sidebarSelectionBlurred.png: Removed. 27913 * page/inspector/Images/sidebarSelectionBlurredTall.png: Removed. 27914 * page/inspector/Images/sidebarSelectionGray.png: Removed. 27915 * page/inspector/Images/sidebarSelectionGrayTall.png: Removed. 27916 * page/inspector/Images/sidebarSelectionTall.png: Removed. 27917 * page/inspector/Images/sidebarSmallSelectionBackground.png: Removed. 27918 * page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Removed. 27919 * page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Removed. 27920 * page/inspector/Images/toolbarBackground.png: Removed. 27921 * page/inspector/Images/toolbarBackgroundInactive.png: Removed. 27922 * page/inspector/inspector.css: 27923 27924 2008-04-22 Andre Poenitz <andre.poenitz (a] trolltech.com> 27925 27926 Reviewed by Simon. 27927 27928 Remove compiler warnings on string literals used to construct QStrings 27929 in webkit. 27930 27931 * bridge/qt/qt_instance.cpp: 27932 (KJS::Bindings::QtField::valueFromInstance): 27933 (KJS::Bindings::QtField::setValueToInstance): 27934 * bridge/qt/qt_runtime.cpp: 27935 (KJS::Bindings::convertValueToQVariant): 27936 (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction): 27937 27938 2008-04-22 Tor Arne Vestb <tavestbo (a] trolltech.com> 27939 27940 Reviewed by Simon. 27941 27942 Fall back to last path component for suggested filename if the HTTP content disposition is not set. 27943 27944 * platform/network/qt/QNetworkReplyHandler.cpp: 27945 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 27946 27947 2008-04-22 Tor Arne Vestb <tavestbo (a] trolltech.com> 27948 27949 Reviewed by Simon. 27950 27951 Implemented the generation of the title string for images. 27952 27953 * platform/qt/Localizations.cpp: 27954 27955 2008-04-22 Simon Hausmann <hausmann (a] webkit.org> 27956 27957 Qt build fix. 27958 27959 * platform/qt/RenderThemeQt.cpp: Adjust isControlStyled signature to 27960 the signature in the base class. 27961 * platform/qt/RenderThemeQt.h: Ditto. 27962 27963 2008-04-19 Jon Honeycutt <jhoneycutt (a] apple.com> 27964 27965 Reviewed by Darin. 27966 27967 Add a method to get the AccessibilityObject's access key, 27968 27969 * page/AccessibilityObject.cpp: 27970 (WebCore::AccessibilityObject::accessKey): Added; returns the object's 27971 access key attribute. 27972 * page/AccessibilityObject.h: Added declaration for accessKey(). 27973 27974 2008-04-21 Sam Weinig <sam (a] webkit.org> 27975 27976 Reviewed by Anders Carlsson. 27977 27978 Fix numerous crashing tests. 27979 27980 * html/HTMLHtmlElement.cpp: 27981 (WebCore::HTMLHtmlElement::insertedIntoDocument): Null check document->frame(). 27982 27983 2008-04-21 Dan Bernstein <mitz (a] apple.com> 27984 27985 Reviewed by Darin Adler. 27986 27987 Tests: fast/media/implicit-media-all.html 27988 fast/media/monochrome.html 27989 27990 - allow implicit "all" media in media queries 27991 - use a value of 0 for the monochrome media feature on color displays 27992 27993 * css/CSSGrammar.y: 27994 * css/CSSParser.cpp: 27995 (WebCore::CSSParser::createFloatingMediaQuery): 27996 * css/CSSParser.h: 27997 * css/MediaQueryEvaluator.cpp: 27998 (WebCore::monochromeMediaFeatureEval): 27999 28000 2008-04-21 Brady Eidson <beidson (a] apple.com> 28001 28002 Rockingly reviewed by Adele 28003 28004 Small StorageArea cleanups 28005 28006 * storage/SessionStorageArea.cpp: 28007 (WebCore::SessionStorageArea::copy): Pass "this" instead of the StorageMap belonging to this 28008 (WebCore::SessionStorageArea::SessionStorageArea): 28009 * storage/SessionStorageArea.h: 28010 28011 * storage/StorageArea.cpp: Changed to not expose the StorageMap at all - it's dangerous to expose 28012 it since we rely explicitly on its ref-count 28013 (WebCore::StorageArea::StorageArea): Take another StorageArea as the c'tor argument and get the 28014 StorageMap from that. 28015 (WebCore::StorageArea::setItem): The previous comment/code here was bogus. All JS objects passed in 28016 to this API are stringified, so there's no such thing as "null" for setItem() 28017 * storage/StorageArea.h: 28018 28019 2008-04-21 Justin Garcia <justin.garcia (a] apple.com> 28020 28021 Reviewed by John Sullivan. 28022 28023 <rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460) 28024 28025 If we're doing InsertParagraphSeparator at the end of a header element, do not clone it. 28026 Renamed m_useDefaultParagraphElement to m_mustUseDefaultParagraphElement, since now, 28027 when it is false, that does not necessarily mean that a default paragraph element 28028 will not be used. Callers that passed false for this argument are OK with this. 28029 28030 * editing/InsertParagraphSeparatorCommand.cpp: 28031 (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): 28032 (WebCore::InsertParagraphSeparatorCommand::shouldUseDefaultParagraphElement): 28033 (WebCore::InsertParagraphSeparatorCommand::doApply): 28034 * editing/InsertParagraphSeparatorCommand.h: 28035 28036 2008-04-21 Anders Carlsson <andersca (a] apple.com> 28037 28038 Reviewed by Adam. 28039 28040 Perform cache selection. If a main resource has a URL that exists in a cache, load it from there. 28041 28042 * html/HTMLAttributeNames.in: 28043 Add manifest attribute. 28044 28045 * html/HTMLHtmlElement.cpp: 28046 (WebCore::HTMLHtmlElement::insertedIntoDocument): 28047 * html/HTMLHtmlElement.h: 28048 Perform cache selection. 28049 28050 * loader/MainResourceLoader.cpp: 28051 (WebCore::MainResourceLoader::load): 28052 * loader/appcache/ApplicationCacheGroup.cpp: 28053 (WebCore::cacheHostSet): 28054 (WebCore::urlHostHash): 28055 (WebCore::ApplicationCacheGroup::cacheForRequest): 28056 (WebCore::ApplicationCacheGroup::selectCache): 28057 * loader/appcache/ApplicationCacheGroup.h: 28058 * platform/KURL.h: 28059 (WebCore::KURL::hostStart): 28060 (WebCore::KURL::hostEnd): 28061 28062 2008-04-21 Mike Belshe <mike (a] belshe.com> 28063 28064 Reviewed by eseidel and darin. Landed by eseidel. 28065 28066 Fix broken optimization in createStrippingNullCharacters. 28067 28068 * platform/text/StringImpl.cpp: 28069 (WebCore::StringImpl::createStrippingNullCharacters): 28070 28071 2008-04-21 David Hyatt <hyatt (a] apple.com> 28072 28073 Make the back end parsing of background properties generic. Rename all the parsing functions from 28074 background -> fill. 28075 28076 Add a new set of properties for doing masks. The code is now refactored so that the mask properties 28077 and the background properties share parsing routines. 28078 28079 Reviewed by Dan 28080 28081 * css/CSSComputedStyleDeclaration.cpp: 28082 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 28083 * css/CSSParser.cpp: 28084 (WebCore::CSSParser::parseValue): 28085 (WebCore::CSSParser::addFillValue): 28086 (WebCore::CSSParser::parseFillShorthand): 28087 (WebCore::CSSParser::parseFillImage): 28088 (WebCore::CSSParser::parseFillPositionXY): 28089 (WebCore::CSSParser::parseFillPosition): 28090 (WebCore::CSSParser::parseFillSize): 28091 (WebCore::CSSParser::parseFillProperty): 28092 (WebCore::CSSParser::parseTransformOrigin): 28093 * css/CSSParser.h: 28094 * css/CSSPropertyNames.in: 28095 * css/CSSStyleSelector.cpp: 28096 (WebCore::CSSStyleSelector::CSSStyleSelector): 28097 (WebCore::CSSStyleSelector::mapFillAttachment): 28098 (WebCore::CSSStyleSelector::mapFillClip): 28099 (WebCore::CSSStyleSelector::mapFillComposite): 28100 (WebCore::CSSStyleSelector::mapFillOrigin): 28101 (WebCore::CSSStyleSelector::mapFillImage): 28102 (WebCore::CSSStyleSelector::mapFillRepeat): 28103 (WebCore::CSSStyleSelector::mapFillSize): 28104 (WebCore::CSSStyleSelector::mapFillXPosition): 28105 (WebCore::CSSStyleSelector::mapFillYPosition): 28106 * rendering/RenderStyle.cpp: 28107 (WebCore::FillLayer::FillLayer): 28108 (WebCore::FillLayer::operator=): 28109 (WebCore::FillLayer::operator==): 28110 (WebCore::StyleBackgroundData::StyleBackgroundData): 28111 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 28112 (WebCore::StyleRareNonInheritedData::operator==): 28113 (WebCore::RenderStyle::diff): 28114 * rendering/RenderStyle.h: 28115 (WebCore::LengthSize::LengthSize): 28116 (WebCore::FillLayer::type): 28117 (WebCore::FillLayer::initialFillAttachment): 28118 (WebCore::FillLayer::initialFillClip): 28119 (WebCore::FillLayer::initialFillOrigin): 28120 (WebCore::FillLayer::initialFillRepeat): 28121 (WebCore::FillLayer::initialFillComposite): 28122 (WebCore::FillLayer::initialFillSize): 28123 (WebCore::FillLayer::initialFillXPosition): 28124 (WebCore::FillLayer::initialFillYPosition): 28125 (WebCore::FillLayer::initialFillImage): 28126 (WebCore::RenderStyle::maskImage): 28127 (WebCore::RenderStyle::maskRepeat): 28128 (WebCore::RenderStyle::maskComposite): 28129 (WebCore::RenderStyle::maskAttachment): 28130 (WebCore::RenderStyle::maskClip): 28131 (WebCore::RenderStyle::maskOrigin): 28132 (WebCore::RenderStyle::maskXPosition): 28133 (WebCore::RenderStyle::maskYPosition): 28134 (WebCore::RenderStyle::maskSize): 28135 (WebCore::RenderStyle::accessMaskLayers): 28136 (WebCore::RenderStyle::maskLayers): 28137 (WebCore::RenderStyle::clearBackgroundLayers): 28138 (WebCore::RenderStyle::clearMaskLayers): 28139 (WebCore::RenderStyle::inheritMaskLayers): 28140 28141 2008-04-21 Timothy Hatcher <timothy (a] apple.com> 28142 28143 Fixes the issue were a Database view could still be visible after navigating to a new page. 28144 28145 Reviewed by Darin Adler. 28146 28147 * page/inspector/DatabasesPanel.js: 28148 (WebInspector.DatabasesPanel.prototype.reset): Delete the _tableViews and _queryView properties 28149 from all databases. Remove all the children from databaseViews. 28150 28151 2008-04-21 Timothy Hatcher <timothy (a] apple.com> 28152 28153 Adds the ability to enter multi-line commands in the console by holding the 28154 alt/option key when pressing enter/return. 28155 28156 https://bugs.webkit.org/show_bug.cgi?id=18454 28157 28158 Reviewed by Darin Adler. 28159 28160 * page/inspector/Console.js: 28161 (WebInspector.Console.prototype._enterKeyPressed): Return early if the 28162 alt/option key is held when enter is pressed. 28163 * page/inspector/inspector.css: 28164 (.console-message-text): Added. Set white-space: pre-wrap. 28165 28166 2008-04-21 Timothy Hatcher <timothy (a] apple.com> 28167 28168 Fixes the bug where the Database table names do not update when 28169 running the CREATE TABLE or DROP TABLE queries. Also makes the 28170 table names update every time the database is collapsed and expanded. 28171 28172 https://bugs.webkit.org/show_bug.cgi?id=18453 28173 28174 Reviewed by Darin Adler. 28175 28176 * page/inspector/DatabasesPanel.js: 28177 (WebInspector.DatabasesPanel.prototype.updateDatabaseTables): 28178 Set shouldRefreshChildren to true on the Database's tree element. 28179 The refreshChildren property was renamed to shouldRefreshChildren. 28180 (WebInspector.DatabaseSidebarTreeElement.prototype.oncollapse): 28181 Request a refresh after every collapse so the next expand will 28182 have an updated table list. 28183 28184 2008-04-21 Timothy Hatcher <timothy (a] apple.com> 28185 28186 Adds INDEX to the list of completion words for the Databases query view. 28187 28188 https://bugs.webkit.org/show_bug.cgi?id=18452 28189 28190 Reviewed by Darin Adler. 28191 28192 * page/inspector/DatabaseQueryView.js: 28193 (WebInspector.DatabaseQueryView.prototype.completions): Split up "CREATE TABLE " 28194 and "DROP TABLE " into "CREATE ", "DROP ", "TABLE ". And added "INDEX ". 28195 28196 2008-04-21 Timothy Hatcher <timothy (a] apple.com> 28197 28198 Adds the UI portions of the Scripts panel to the Web Inspector. 28199 The Scripts panel has not been added to the toolbar yet. 28200 28201 https://bugs.webkit.org/show_bug.cgi?id=18601 28202 28203 Reviewed by Adam Roben. 28204 28205 * English.lproj/InspectorLocalizedStrings.js: Changed "Show inherited properties" 28206 to "Show inherited". Adds new strings for the Scripts' panel tooltips. 28207 * page/inspector/BreakpointsSidebarPane.js: Added. 28208 * page/inspector/CallStackSidebarPane.js: Added. 28209 * page/inspector/Images/back.png: Added. 28210 * page/inspector/Images/debuggerContinue.png: Added. 28211 * page/inspector/Images/debuggerPause.png: Added. 28212 * page/inspector/Images/debuggerStepInto.png: Added. 28213 * page/inspector/Images/debuggerStepOut.png: Added. 28214 * page/inspector/Images/debuggerStepOver.png: Added. 28215 * page/inspector/Images/forward.png: Added. 28216 * page/inspector/Images/statusbarResizerHorizontal.png: Added. 28217 * page/inspector/PropertiesSection.js: 28218 (WebInspector.PropertiesSection): Flip the order the subtile is appended 28219 so it can float right in the CSS. 28220 * page/inspector/ScriptsPanel.js: Added. 28221 * page/inspector/StylesSidebarPane.js: 28222 (WebInspector.StylePropertiesSection): Changed "Show inherited properties" 28223 to "Show inherited". 28224 * page/inspector/inspector.css: Added new CSS rules for the Scripts panel. 28225 Also changes the look of the section to match the mockup, this affects 28226 Styles and Properties in Elements. 28227 * page/inspector/inspector.html: Import new files. 28228 * page/inspector/inspector.js: 28229 (Preferences.minScriptsSidebarWidth): Added. 28230 28231 2008-04-21 Kevin McCullough <kmccullough (a] apple.com> 28232 28233 Reviewed by Adam. 28234 28235 <rdar://problem/5770054> JavaScript profiler (10928) 28236 Took out debugging printing since we really want to hook into the 28237 inspector and not to print to the terminal. 28238 28239 * page/Console.cpp: 28240 (WebCore::Console::profileEnd): 28241 28242 2008-04-21 Sam Weinig <sam (a] webkit.org> 28243 28244 Reviewed by Alexey Proskuryakov. 28245 28246 Fix up XMLHttpRequestProgressEvent. 28247 28248 * bindings/js/JSEventCustom.cpp: 28249 (WebCore::toJS): 28250 * xml/XMLHttpRequestProgressEvent.cpp: 28251 * xml/XMLHttpRequestProgressEvent.h: 28252 28253 2008-04-21 Adam Roben <aroben (a] apple.com> 28254 28255 Fix Bug 18615: Crash in PluginPackage::hash 28256 28257 <https://bugs.webkit.org/show_bug.cgi?id=18615> 28258 28259 Reviewed by Anders Carlsson. 28260 28261 * plugins/PluginDatabase.cpp: 28262 (WebCore::PluginDatabase::refresh): Don't pass a null PluginPackage* 28263 to add(). 28264 28265 2008-04-21 Anders Carlsson <andersca (a] apple.com> 28266 28267 Reviewed by Adam. 28268 28269 Add cache group implementation. 28270 28271 * loader/DocumentLoader.cpp: 28272 (WebCore::DocumentLoader::scheduleApplicationCacheLoad): 28273 * loader/appcache/ApplicationCache.cpp: 28274 (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet): 28275 (WebCore::ApplicationCache::resourceForRequest): 28276 * loader/appcache/ApplicationCache.h: 28277 * loader/appcache/ApplicationCacheGroup.cpp: 28278 (WebCore::cacheGroupMap): 28279 (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): 28280 (WebCore::ApplicationCacheGroup::selectCache): 28281 (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL): 28282 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): 28283 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): 28284 (WebCore::ApplicationCacheGroup::cacheDestroyed): 28285 (WebCore::ApplicationCacheGroup::update): 28286 (WebCore::ApplicationCacheGroup::didReceiveResponse): 28287 (WebCore::ApplicationCacheGroup::didReceiveData): 28288 (WebCore::ApplicationCacheGroup::didFinishLoading): 28289 (WebCore::ApplicationCacheGroup::didFail): 28290 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): 28291 (WebCore::ApplicationCacheGroup::didReceiveManifestData): 28292 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): 28293 (WebCore::ApplicationCacheGroup::cacheUpdateFailed): 28294 (WebCore::ApplicationCacheGroup::didFailToLoadManifest): 28295 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): 28296 (WebCore::ApplicationCacheGroup::startLoadingEntry): 28297 (WebCore::ApplicationCacheGroup::addEntry): 28298 (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): 28299 (WebCore::ApplicationCacheGroup::callListenersOnAssociatedDocuments): 28300 (WebCore::ApplicationCacheGroup::callListeners): 28301 * loader/appcache/ApplicationCacheGroup.h: 28302 (WebCore::ApplicationCacheGroup::status): 28303 (WebCore::ApplicationCacheGroup::newestCache): 28304 * platform/KURL.h: 28305 (WebCore::KURL::hostStart): 28306 (WebCore::KURL::hostEnd): 28307 28308 2008-04-21 David Hyatt <hyatt (a] apple.com> 28309 28310 Rename BackgroundLayer -> FillLayer in preparation for it being used for other types of fills. 28311 28312 Reviewed by Dan 28313 28314 * css/CSSComputedStyleDeclaration.cpp: 28315 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 28316 * css/CSSPrimitiveValueMappings.h: 28317 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 28318 (WebCore::CSSPrimitiveValue::operator EFillBox): 28319 (WebCore::CSSPrimitiveValue::operator EFillRepeat): 28320 * css/CSSStyleSelector.cpp: 28321 (WebCore::CSSStyleSelector::applyProperty): 28322 (WebCore::CSSStyleSelector::mapFillAttachment): 28323 (WebCore::CSSStyleSelector::mapFillClip): 28324 (WebCore::CSSStyleSelector::mapFillComposite): 28325 (WebCore::CSSStyleSelector::mapFillOrigin): 28326 (WebCore::CSSStyleSelector::mapFillImage): 28327 (WebCore::CSSStyleSelector::mapFillRepeat): 28328 (WebCore::CSSStyleSelector::mapFillSize): 28329 (WebCore::CSSStyleSelector::mapFillXPosition): 28330 (WebCore::CSSStyleSelector::mapFillYPosition): 28331 (WebCore::CSSStyleSelector::mapTransitionDuration): 28332 (WebCore::CSSStyleSelector::mapTransitionRepeatCount): 28333 (WebCore::CSSStyleSelector::mapTransitionTimingFunction): 28334 (WebCore::CSSStyleSelector::mapTransitionProperty): 28335 * css/CSSStyleSelector.h: 28336 * page/AnimationController.cpp: 28337 (WebCore::ImplicitAnimation::ImplicitAnimation): 28338 (WebCore::CompositeImplicitAnimation::animate): 28339 * rendering/InlineFlowBox.cpp: 28340 (WebCore::InlineFlowBox::paintBackgrounds): 28341 (WebCore::InlineFlowBox::paintBackground): 28342 * rendering/InlineFlowBox.h: 28343 * rendering/RenderBox.cpp: 28344 (WebCore::RenderBox::paintRootBoxDecorations): 28345 (WebCore::RenderBox::paintBackgrounds): 28346 (WebCore::RenderBox::paintBackground): 28347 (WebCore::RenderBox::calculateBackgroundSize): 28348 (WebCore::RenderBox::imageChanged): 28349 (WebCore::RenderBox::calculateBackgroundImageGeometry): 28350 (WebCore::RenderBox::paintBackgroundExtended): 28351 * rendering/RenderBox.h: 28352 * rendering/RenderObject.cpp: 28353 (WebCore::RenderObject::mustRepaintBackgroundOrBorder): 28354 (WebCore::RenderObject::updateBackgroundImages): 28355 (WebCore::RenderObject::arenaDelete): 28356 * rendering/RenderObject.h: 28357 (WebCore::RenderObject::paintBackgroundExtended): 28358 * rendering/RenderStyle.cpp: 28359 (WebCore::FillLayer::FillLayer): 28360 (WebCore::FillLayer::~FillLayer): 28361 (WebCore::FillLayer::operator=): 28362 (WebCore::FillLayer::operator==): 28363 (WebCore::FillLayer::fillUnsetProperties): 28364 (WebCore::FillLayer::cullEmptyLayers): 28365 (WebCore::Transition::fillUnsetProperties): 28366 * rendering/RenderStyle.h: 28367 (WebCore::FillLayer::image): 28368 (WebCore::FillLayer::xPosition): 28369 (WebCore::FillLayer::yPosition): 28370 (WebCore::FillLayer::attachment): 28371 (WebCore::FillLayer::clip): 28372 (WebCore::FillLayer::origin): 28373 (WebCore::FillLayer::repeat): 28374 (WebCore::FillLayer::composite): 28375 (WebCore::FillLayer::size): 28376 (WebCore::FillLayer::next): 28377 (WebCore::FillLayer::isImageSet): 28378 (WebCore::FillLayer::isXPositionSet): 28379 (WebCore::FillLayer::isYPositionSet): 28380 (WebCore::FillLayer::isAttachmentSet): 28381 (WebCore::FillLayer::isClipSet): 28382 (WebCore::FillLayer::isOriginSet): 28383 (WebCore::FillLayer::isRepeatSet): 28384 (WebCore::FillLayer::isCompositeSet): 28385 (WebCore::FillLayer::isSizeSet): 28386 (WebCore::FillLayer::setImage): 28387 (WebCore::FillLayer::setXPosition): 28388 (WebCore::FillLayer::setYPosition): 28389 (WebCore::FillLayer::setAttachment): 28390 (WebCore::FillLayer::setClip): 28391 (WebCore::FillLayer::setOrigin): 28392 (WebCore::FillLayer::setRepeat): 28393 (WebCore::FillLayer::setComposite): 28394 (WebCore::FillLayer::setSize): 28395 (WebCore::FillLayer::clearImage): 28396 (WebCore::FillLayer::clearXPosition): 28397 (WebCore::FillLayer::clearYPosition): 28398 (WebCore::FillLayer::clearAttachment): 28399 (WebCore::FillLayer::clearClip): 28400 (WebCore::FillLayer::clearOrigin): 28401 (WebCore::FillLayer::clearRepeat): 28402 (WebCore::FillLayer::clearComposite): 28403 (WebCore::FillLayer::clearSize): 28404 (WebCore::FillLayer::setNext): 28405 (WebCore::FillLayer::operator!=): 28406 (WebCore::FillLayer::hasFixedImage): 28407 (WebCore::Transition::isDurationSet): 28408 (WebCore::Transition::isRepeatCountSet): 28409 (WebCore::Transition::isTimingFunctionSet): 28410 (WebCore::Transition::isPropertySet): 28411 (WebCore::Transition::clearDuration): 28412 (WebCore::Transition::clearRepeatCount): 28413 (WebCore::Transition::clearTimingFunction): 28414 (WebCore::Transition::clearProperty): 28415 (WebCore::Transition::duration): 28416 (WebCore::Transition::repeatCount): 28417 (WebCore::Transition::timingFunction): 28418 (WebCore::Transition::property): 28419 (WebCore::Transition::setDuration): 28420 (WebCore::Transition::setRepeatCount): 28421 (WebCore::Transition::setTimingFunction): 28422 (WebCore::Transition::setProperty): 28423 (WebCore::RenderStyle::NonInheritedFlags::operator==): 28424 (WebCore::RenderStyle::setBitDefaults): 28425 (WebCore::RenderStyle::backgroundRepeat): 28426 (WebCore::RenderStyle::backgroundComposite): 28427 (WebCore::RenderStyle::backgroundAttachment): 28428 (WebCore::RenderStyle::backgroundClip): 28429 (WebCore::RenderStyle::backgroundOrigin): 28430 (WebCore::RenderStyle::backgroundSize): 28431 (WebCore::RenderStyle::accessBackgroundLayers): 28432 (WebCore::RenderStyle::backgroundLayers): 28433 (WebCore::RenderStyle::clearBackgroundLayers): 28434 (WebCore::RenderStyle::inheritBackgroundLayers): 28435 (WebCore::RenderStyle::initialFillAttachment): 28436 (WebCore::RenderStyle::initialFillClip): 28437 (WebCore::RenderStyle::initialFillOrigin): 28438 (WebCore::RenderStyle::initialFillRepeat): 28439 (WebCore::RenderStyle::initialFillComposite): 28440 (WebCore::RenderStyle::initialFillSize): 28441 (WebCore::RenderStyle::initialFillXPosition): 28442 (WebCore::RenderStyle::initialFillYPosition): 28443 (WebCore::RenderStyle::initialFillImage): 28444 (WebCore::RenderStyle::initialWhiteSpace): 28445 (WebCore::RenderStyle::initialColor): 28446 * rendering/RenderTableCell.cpp: 28447 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 28448 * rendering/RenderTheme.cpp: 28449 (WebCore::RenderTheme::adjustStyle): 28450 (WebCore::RenderTheme::isControlStyled): 28451 * rendering/RenderTheme.h: 28452 * rendering/RenderThemeMac.h: 28453 * rendering/RenderThemeMac.mm: 28454 (WebCore::RenderThemeMac::isControlStyled): 28455 28456 2008-04-21 Julien Chaffraix <jchaffraix (a] webkit.org> 28457 28458 Rubber-stamped by Ap. 28459 28460 Add 2 explicit casts. 28461 Fixes built on 64-bit machines (64-bit to 32-bit conversion warning). 28462 28463 * xml/XMLHttpRequest.cpp: 28464 (WebCore::XMLHttpRequest::dispatchProgressEvent): 28465 28466 2008-04-21 Anders Carlsson <andersca (a] apple.com> 28467 28468 Reviewed by Adam. 28469 28470 Make it possible to load resources from the cache. 28471 (Currently no documents are ever associated with a cache though.) 28472 28473 * loader/DocumentLoader.cpp: 28474 (WebCore::DocumentLoader::setPrimaryLoadComplete): 28475 (WebCore::DocumentLoader::mainResourceApplicationCache): 28476 (WebCore::DocumentLoader::scheduleApplicationCacheLoad): 28477 * loader/DocumentLoader.h: 28478 * loader/MainResourceLoader.cpp: 28479 (WebCore::MainResourceLoader::didFinishLoading): 28480 (WebCore::MainResourceLoader::load): 28481 * loader/MainResourceLoader.h: 28482 (WebCore::MainResourceLoader::applicationCache): 28483 * loader/ResourceLoader.cpp: 28484 (WebCore::ResourceLoader::ResourceLoader): 28485 (WebCore::ResourceLoader::load): 28486 * loader/ResourceLoader.h: 28487 * loader/appcache/ApplicationCacheGroup.h: 28488 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): 28489 28490 2008-04-21 Darin Fisher <darin (a] chromium.org> 28491 28492 Reviewed by eseidel. Landed by eseidel. 28493 28494 Add FrameLoader::policyDocumentLoader, and change 28495 provisionalDocumentLoader to have a const signature to be 28496 consistent with documentLoader and activeDocumentLoader. 28497 28498 * WebCore.base.exp: 28499 * WebCore.order: 28500 * loader/FrameLoader.cpp: 28501 (WebCore::FrameLoader::policyDocumentLoader): 28502 (WebCore::FrameLoader::provisionalDocumentLoader): 28503 * loader/FrameLoader.h: 28504 28505 2008-04-21 Julien Chaffraix <jchaffraix (a] webkit.org> 28506 28507 Not reviewed, add missing files in my previous commit. 28508 28509 Test: http/tests/xmlhttprequest/infoOnProgressEvent.html 28510 28511 * xml/XMLHttpRequestProgressEvent.cpp: Added. 28512 (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent): 28513 (WebCore::XMLHttpRequestProgressEvent::position): 28514 (WebCore::XMLHttpRequestProgressEvent::totalSize): 28515 * xml/XMLHttpRequestProgressEvent.h: Added. 28516 (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent): 28517 (WebCore::XMLHttpRequestProgressEvent::isProgressEvent): 28518 (WebCore::XMLHttpRequestProgressEvent::lengthComputable): 28519 (WebCore::XMLHttpRequestProgressEvent::loaded): 28520 (WebCore::XMLHttpRequestProgressEvent::total): 28521 * xml/XMLHttpRequestProgressEvent.idl: Added. 28522 28523 2008-04-21 Julien Chaffraix <jchaffraix (a] webkit.org> 28524 28525 Reviewed by Ap. 28526 28527 Bug 13596: Implement .onprogress handler on XMLHttpRequest objects to support 28528 progressive download content length information. 28529 28530 - Add the onprogress attribute to XMLHttpRequest and the necessary bindings. 28531 28532 - We use a custom event XMLHttpRequestProgressEvent that is derived from ProgressEvent 28533 (as specified by the XHR2 specification) but also implement LSProgressEvent interface 28534 (to be compliant with Firefox event). 28535 28536 Test: http/tests/xmlhttprequest/infoOnProgressEvent.html 28537 28538 * DerivedSources.make: 28539 * GNUmakefile.am: 28540 * WebCore.pro: 28541 * WebCore.vcproj/WebCore.vcproj: 28542 * WebCore.xcodeproj/project.pbxproj: 28543 * WebCoreSources.bkl: 28544 * bindings/js/JSEventCustom.cpp: 28545 (WebCore::toJS): 28546 * bindings/js/JSXMLHttpRequestCustom.cpp: 28547 (WebCore::JSXMLHttpRequest::mark): 28548 (WebCore::JSXMLHttpRequest::onprogress): 28549 (WebCore::JSXMLHttpRequest::setOnprogress): 28550 * dom/Event.cpp: 28551 (WebCore::Event::isXMLHttpRequestProgressEvent): 28552 * dom/Event.h: 28553 * dom/ProgressEvent.h: Replaced 'private' by 'protected' to enable derivation. 28554 * xml/XMLHttpRequest.cpp: 28555 (WebCore::XMLHttpRequest::onProgressListener): onprogress getter. 28556 (WebCore::XMLHttpRequest::setOnProgressListener): onprogress setter. 28557 (WebCore::XMLHttpRequest::XMLHttpRequest): initialize m_receivedLength. 28558 (WebCore::XMLHttpRequest::internalAbort): reset m_receivedLength on abort. 28559 (WebCore::XMLHttpRequest::didReceiveData): add updateAndDispatchOnProgress call. 28560 (WebCore::XMLHttpRequest::updateAndDispatchOnProgress): 28561 (WebCore::XMLHttpRequest::dispatchProgressEvent): 28562 * xml/XMLHttpRequest.h: 28563 * xml/XMLHttpRequest.idl: Add onprogress event handler. 28564 * xml/XMLHttpRequestProgressEvent.cpp: Added. 28565 (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent): 28566 (WebCore::XMLHttpRequestProgressEvent::position): 28567 (WebCore::XMLHttpRequestProgressEvent::totalSize): 28568 The two previous methods are used for Firefox compatibility and map to the 28569 same value as the ProgressEvent methods (but they are deprecated and display 28570 28571 * xml/XMLHttpRequestProgressEvent.h: Added. 28572 (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent): 28573 (WebCore::XMLHttpRequestProgressEvent::isProgressEvent): 28574 (WebCore::XMLHttpRequestProgressEvent::lengthComputable): 28575 (WebCore::XMLHttpRequestProgressEvent::loaded): 28576 (WebCore::XMLHttpRequestProgressEvent::total): 28577 * xml/XMLHttpRequestProgressEvent.idl: Added. 28578 28579 2008-04-21 Michael Goddard <michael.goddard (a] trolltech.com> 28580 28581 Reviewed by Simon. 28582 28583 Better handle Qt binding object lifetime in JS. 28584 Add explicit marking of JS objects created for Qt 28585 bindings, and remove the gcProtect calls. 28586 28587 * bridge/qt/qt_class.cpp: 28588 (KJS::Bindings::QtClass::fallbackObject): 28589 * bridge/qt/qt_instance.cpp: 28590 (KJS::Bindings::QtRuntimeObjectImp::mark): 28591 (KJS::Bindings::QtInstance::~QtInstance): 28592 (KJS::Bindings::QtInstance::mark): 28593 (KJS::Bindings::QtInstance::invokeDefaultMethod): 28594 (KJS::Bindings::QtField::valueFromInstance): 28595 * bridge/qt/qt_instance.h: 28596 28597 2008-04-21 Michael Goddard <michael.goddard (a] trolltech.com> 28598 28599 Reviewed by Simon. 28600 28601 Add better support for RuntimeArray type conversions. 28602 It seems that RuntimeArray claims to inherit ArrayInstance 28603 (in the JS sense), but the C++ class doesn't, so properly 28604 access RuntimeArrays. Also, properly support turning 28605 a JS object into a QVariantMap, since we support the 28606 reverse. 28607 28608 * bridge/qt/qt_runtime.cpp: 28609 (KJS::Bindings::): 28610 (KJS::Bindings::operator<<): 28611 (KJS::Bindings::valueRealType): 28612 (KJS::Bindings::convertValueToQVariant): 28613 (KJS::Bindings::convertQVariantToValue): 28614 28615 2008-04-21 Simon Hausmann <hausmann (a] webkit.org> 28616 28617 Reviewed by Holger. 28618 28619 Fix painting of text fields in the CleanLooks style. 28620 28621 The CleanLooks style calls painter->drawRect() and expects a painter 28622 that has no brush set. This is a fairly common assumption and therefore 28623 we now always set the brush to NoBrush before calling a style. This 28624 is done by centralizing the painter setup code into StylePainter 28625 and restore the old brush in the StylePainter destructor. 28626 28627 In addition for textfields it is not necessary anymore to draw 28628 PE_FrameLineEdit as we set the lineWidth in the style option correctly 28629 and it's the style responsibility (QCommonStyle usually) to draw 28630 PE_FrameLineEdit. 28631 28632 * platform/qt/RenderThemeQt.cpp: 28633 (WebCore::RenderThemeQt::paintButton): 28634 (WebCore::RenderThemeQt::paintTextField): 28635 (WebCore::RenderThemeQt::paintMenuList): 28636 (WebCore::StylePainter::StylePainter): 28637 (WebCore::StylePainter::~StylePainter): 28638 * platform/qt/RenderThemeQt.h: 28639 (WebCore::StylePainter::isValid): 28640 (WebCore::StylePainter::drawPrimitive): 28641 (WebCore::StylePainter::drawControl): 28642 (WebCore::StylePainter::drawComplexControl): 28643 28644 2008-04-21 Olivier Goffart <ogoffart (a] trolltech.com> 28645 28646 Reviewed by Simon. 28647 28648 Fixes copy and paste of international characters. 28649 28650 When exporting HTML to the clipboard we need meta tags for now that confirm the 28651 conversion to utf-8 done inside QClipboard. 28652 28653 * platform/qt/PasteboardQt.cpp: 28654 (WebCore::Pasteboard::writeSelection): 28655 28656 2008-04-21 Olivier Goffart <ogoffart (a] trolltech.com> 28657 28658 Reviewed by Simon. 28659 28660 Fixes: Copying on X11 doesn't always work in webkit 28661 28662 Calling QClipboard::clear right before QClipboard::setData create a race condition with klipper. So don't call QClipboard::clear since it's not required. 28663 28664 * platform/qt/PasteboardQt.cpp: 28665 28666 2008-04-21 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 28667 28668 Reviewed by Simon. 28669 28670 * Assume that our lineedit has a frame. This is needed for the motif style 28671 28672 * platform/qt/RenderThemeQt.cpp: 28673 (WebCore::RenderThemeQt::paintTextField): 28674 28675 2008-04-21 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 28676 28677 Reviewed by Simon. 28678 28679 * Follow the windows render theme when determining whether to style 28680 listboxes or not. 28681 28682 * platform/qt/RenderThemeQt.cpp: 28683 (WebCore::RenderThemeQt::isControlStyled): 28684 28685 2008-04-21 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 28686 28687 Reviewed by Simon. 28688 28689 * Try to bring the notImplemented implementations closer together. This will 28690 print each unimplemted method name only once. 28691 28692 * We might want to change wtf/Assertions.cpp to use qDebug 28693 28694 * platform/NotImplemented.h: 28695 28696 2008-04-21 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 28697 28698 Reviewed by Simon. 28699 28700 * Remove the special Qt ctor of BitmapImage as it did not work. The Bitmap returned 28701 0 as width and after intialising drawing would fail. BitmapImage relies on a proper 28702 ImageSource. 28703 * Instead of adding more special cases to BitmapImage create a new class called StillImage 28704 which is getting one QPixmap and is implementing Image::draw and Image::size. This is 28705 working well for the images created using Image::loadPlatformResource. 28706 28707 * platform/graphics/BitmapImage.h: 28708 * platform/graphics/qt/ImageQt.cpp: 28709 (WebCore::BitmapImage::initPlatformData): 28710 (WebCore::BitmapImage::getPixmap): 28711 (WebCore::StillImage::StillImage): 28712 (WebCore::StillImage::size): 28713 (WebCore::StillImage::getPixmap): 28714 (WebCore::StillImage::draw): 28715 28716 2008-04-21 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 28717 28718 Reviewed by Simon. 28719 28720 * Package the Resources into a qrc 28721 28722 * Resources/WebKitResources.qrc: Added. 28723 * WebCore.pro: 28724 28725 2008-04-21 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 28726 28727 Reviewed by Simon. 28728 28729 * Make sure every resource is available als png as well. 28730 28731 * Resources/deleteButton.png: Added. 28732 * Resources/deleteButtonPressed.png: Added. 28733 * Resources/missingImage.png: Added. 28734 * Resources/nullPlugin.png: Copied from WebKit/win/WebKit.vcproj/nullplugin.png. 28735 * Resources/textAreaResizeCorner.png: Added. 28736 * Resources/urlIcon.png: Copied from WebKit/win/WebKit.vcproj/urlIcon.png. 28737 28738 2008-04-20 Sriram Neelakandan <sriram.neelakandan (a] gmail.com> 28739 28740 Reviewed by Alp Toker. 28741 28742 Implement FileSystemGtk's getFileModificationTime() with GLib. 28743 28744 * platform/gtk/FileSystemGtk.cpp: 28745 (WebCore::getFileModificationTime): 28746 28747 2008-04-20 Christian Persch <chpe (a] gnome.org> 28748 28749 Reviewed by Alp Toker. 28750 28751 Bundle GTK+ Xt compatibility code from Mozilla. These files are used 28752 by all currently proposed GTK+ plugin patches and will make the 28753 proposed patches smaller and easier to review. 28754 28755 These files should be kept as close to the upstream versions as 28756 possible so fixes can be shared between projects and to ensure 28757 compatibility with the reference implementation. 28758 28759 * plugins/gtk/gtk2xtbin.c: Added. 28760 (xt_event_prepare): 28761 (xt_event_check): 28762 (xt_event_dispatch): 28763 (xt_event_polling_timer_callback): 28764 (gtk_xtbin_get_type): 28765 (gtk_xtbin_class_init): 28766 (gtk_xtbin_init): 28767 (gtk_xtbin_realize): 28768 (gtk_xtbin_new): 28769 (gtk_xtbin_set_position): 28770 (gtk_xtbin_resize): 28771 (gtk_xtbin_unrealize): 28772 (gtk_xtbin_destroy): 28773 (xt_client_init): 28774 (xt_client_create): 28775 (xt_client_unrealize): 28776 (xt_client_destroy): 28777 (xt_client_set_info): 28778 (xt_client_handle_xembed_message): 28779 (xt_client_event_handler): 28780 (send_xembed_message): 28781 (error_handler): 28782 (trap_errors): 28783 (untrap_error): 28784 (xt_client_focus_listener): 28785 (xt_add_focus_listener): 28786 (xt_remove_focus_listener): 28787 (xt_add_focus_listener_tree): 28788 * plugins/gtk/gtk2xtbin.h: Added. 28789 28790 2008-04-20 Dirk Schulze <vbs85 (a] gmx.de> 28791 28792 Reviewed by Alp Toker. 28793 28794 http://bugs.webkit.org/show_bug.cgi?id=15449 28795 [CAIRO] SVG gradients do not work properly 28796 28797 Fixed SVG-gradients in Cairo. 28798 28799 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: 28800 (WebCore::SVGPaintServerGradient::setup): 28801 28802 2008-04-20 Simon Hausmann <hausmann (a] webkit.org> 28803 28804 Reviewed by Alp Toker. 28805 28806 http://bugs.webkit.org/show_bug.cgi?id=18578 28807 Share the printing code between the Gtk and the Qt port 28808 28809 Share the printing code between the Gtk and the Qt port 28810 and added printing to the Qt WebKit API. 28811 28812 * GNUmakefile.am: 28813 * WebCore.pro: 28814 * page/PrintContext.cpp: Added. 28815 (WebCore::PrintContext::PrintContext): 28816 (WebCore::PrintContext::~PrintContext): 28817 (WebCore::PrintContext::pageCount): 28818 (WebCore::PrintContext::computePageRects): 28819 (WebCore::PrintContext::begin): 28820 (WebCore::PrintContext::spoolPage): 28821 * page/PrintContext.h: Added. 28822 28823 2008-04-19 Alp Toker <alp (a] nuanti.com> 28824 28825 Reviewed by Mark Rowe. 28826 28827 Complete the Cairo (CSS) gradient implementation. 28828 28829 * platform/graphics/Gradient.h: 28830 * platform/graphics/cairo/GradientCairo.cpp: 28831 (WebCore::Gradient::platformDestroy): 28832 (WebCore::Gradient::fill): 28833 28834 2008-04-19 Alp Toker <alp (a] nuanti.com> 28835 28836 Reviewed by Dave Hyatt. 28837 28838 Restore Cairo canvas support following the recent changes in 28839 BitmapImage and ImageBuffer integrating canvas with CSS. Some 28840 drawing regressions remain unfixed. 28841 28842 * platform/graphics/BitmapImage.h: 28843 * platform/graphics/ImageBuffer.h: 28844 * platform/graphics/cairo/ImageBufferCairo.cpp: 28845 (WebCore::ImageBuffer::image): 28846 * platform/graphics/cairo/ImageCairo.cpp: 28847 (WebCore::BitmapImage::BitmapImage): 28848 (WebCore::BitmapImage::draw): 28849 * platform/graphics/cairo/ImageSourceCairo.cpp: 28850 (WebCore::ImageSource::createFrameAtIndex): 28851 28852 2008-04-19 Dan Bernstein <mitz (a] apple.com> 28853 28854 Reviewed by Dave Hyatt. 28855 28856 - fix additional cases of https://bugs.webkit.org/show_bug.cgi?id=17921 28857 namely cases where the trailing white space is already in a separate 28858 run but still needs to be re-ordered. 28859 28860 Test: fast/text/trailing-white-space-2.html 28861 28862 * platform/text/BidiResolver.h: 28863 (WebCore::::moveRunToEnd): 28864 (WebCore::::moveRunToBeginning): 28865 * rendering/bidi.cpp: 28866 (WebCore::RenderBlock::layoutInlineChildren): 28867 28868 2008-04-19 Alp Toker <alp (a] nuanti.com> 28869 28870 Reviewed by Nikolas. 28871 28872 Add text shadow support for simple text in FontCairo. 28873 28874 * platform/graphics/cairo/FontCairo.cpp: 28875 (WebCore::Font::drawGlyphs): 28876 28877 2008-04-19 David Hyatt <hyatt (a] apple.com> 28878 28879 Fix a minor typo in CSSGradientValue's cssText() method. 28880 28881 Reviewed by olliej 28882 28883 * css/CSSGradientValue.cpp: 28884 (WebCore::CSSGradientValue::cssText): 28885 28886 2008-04-19 Brady Eidson <beidson (a] apple.com> 28887 28888 Reviewed by Tim Hatcher 28889 28890 Add LocalStorageDatabasePath to the settings for the location of persistent local storage. 28891 28892 * WebCore.base.exp: 28893 28894 * page/Settings.cpp: 28895 (WebCore::Settings::setLocalStorageDatabasePath): 28896 * page/Settings.h: 28897 (WebCore::Settings::localStorageDatabasePath): 28898 28899 2008-04-18 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 28900 28901 Reviewed by Alp Toker. 28902 28903 http://bugs.webkit.org/show_bug.cgi?id=16620 28904 [GTK] Autotools make dist and make check support 28905 28906 Cleanups. 28907 28908 * GNUmakefile.am: 28909 28910 2008-04-18 Jon Honeycutt <jhoneycutt (a] apple.com> 28911 28912 Reviewed by Ollie. 28913 28914 Change when AccessibilityObject children are added. 28915 28916 Children are now added when children() is called if the children vector 28917 is not up to date. This removes the need for addChildren() and 28918 hasChildren() to be called from outside of AccessibilityObject. 28919 28920 * page/AccessibilityObject.cpp: 28921 (WebCore::AccessibilityObject::AccessibilityObject): Initialize 28922 m_haveChildren to false. 28923 (WebCore::AccessibilityObject::clearChildren): Set m_haveChildren to 28924 false. 28925 (WebCore::AccessibilityObject::children): If m_haveChildren is false, 28926 call addChildren(). 28927 (WebCore::AccessibilityObject::addChildren): Set m_haveChildren to true. 28928 * page/AccessibilityObject.h: Removed hasChildren(). Made addChildren() 28929 private and const. Added m_haveChildren. Made m_children mutable so 28930 children() could modify it. 28931 * page/mac/AccessibilityObjectWrapper.mm: 28932 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Don't 28933 call hasChildren() or addChildren(). 28934 28935 2008-04-18 Marco Barisione <marco.barisione (a] collabora.co.uk> 28936 28937 Reviewed by Alexey. 28938 28939 http://bugs.webkit.org/show_bug.cgi?id=18357 28940 [GTK] Enter on buttons doesn't work 28941 28942 * platform/gtk/KeyEventGtk.cpp: 28943 (WebCore::singleCharacterString): Set the text of a keyboard event for 28944 GDK_ISO_Enter, GDK_KP_Enter, GDK_Return to "\r" instead of an empty 28945 string. 28946 28947 2008-04-18 Marco Barisione <marco (a] barisione.org> 28948 28949 Reviewed by Alp Toker. 28950 28951 https://bugs.webkit.org/show_bug.cgi?id=18576 28952 [GTK] windowsKeyCodeForKeyEvent doesn't handle GDK_ISO_Enter and 28953 GDK_KP_Enter 28954 28955 * platform/gtk/KeyEventGtk.cpp: 28956 (WebCore::windowsKeyCodeForKeyEvent): handle GDK_ISO_Enter and 28957 GDK_KP_Enter in windowsKeyCodeForKeyEvent. 28958 28959 2008-04-18 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 28960 28961 Reviewed by Mark Rowe. 28962 28963 Gtk build fix. Profiler.h does not live inside the kjs directory of JavaScriptCore 28964 so it doesn't make sense to include it as kjs/Profiler.h from WebCore. 28965 28966 * ForwardingHeaders/profiler/Profiler.h: Renamed from WebCore/ForwardingHeaders/kjs/Profiler.h. 28967 * page/Console.cpp: 28968 28969 2008-04-18 Antti Koivisto <antti (a] apple.com> 28970 28971 Reviewed by Oliver. 28972 28973 Implement path animation for <animateMotion>. 28974 28975 SVG test suite tests 28976 animate-elem-07-t.svg 28977 animate-elem-08-t.svg 28978 animate-elem-24-t.svg 28979 animate-elem-30-t.svg 28980 28981 * svg/SVGAnimateMotionElement.cpp: 28982 (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement): 28983 (WebCore::SVGAnimateMotionElement::hasValidTarget): 28984 (WebCore::SVGAnimateMotionElement::parseMappedAttribute): 28985 (WebCore::SVGAnimateMotionElement::rotateMode): 28986 (WebCore::SVGAnimateMotionElement::animationPath): 28987 (WebCore::SVGAnimateMotionElement::calculateAnimatedValue): 28988 (WebCore::SVGAnimateMotionElement::applyResultsToTarget): 28989 * svg/SVGAnimateMotionElement.h: 28990 (WebCore::SVGAnimateMotionElement::): 28991 * svg/SVGAnimationElement.cpp: 28992 (WebCore::SVGAnimationElement::animationMode): 28993 (WebCore::SVGAnimationElement::startedActiveInterval): 28994 * svg/SVGAnimationElement.h: 28995 (WebCore::SVGAnimationElement::): 28996 (WebCore::SVGAnimationElement::calculateDistance): 28997 (WebCore::SVGAnimationElement::animationPath): 28998 28999 2008-04-11 Mark Rowe <mrowe (a] apple.com> 29000 29001 Rubber-stamped by Antti Koivisto. 29002 29003 Silence GCC 4.3 warnings by removing extraneous consts. 29004 29005 * platform/graphics/Font.h: 29006 * platform/network/ResourceRequestBase.cpp: 29007 * platform/network/ResourceRequestBase.h: 29008 29009 2008-04-18 Brady Eidson <beidson (a] apple.com> 29010 29011 Rubberstamped by Mark Rowe 29012 29013 Roll out http://trac.webkit.org/projects/webkit/changeset/32204 as it was an incorrect build fix. 29014 The feature in question was NOT database support. 29015 29016 The proper build fix was later applied by Mark in http://trac.webkit.org/projects/webkit/changeset/32225 29017 29018 * page/PageGroup.cpp: 29019 (WebCore::PageGroup::localStorage): 29020 29021 2008-04-18 Brady Eidson <beidson (a] apple.com> 29022 29023 Reviewed by Darin and Sam 29024 29025 Don't forget PageGroups when their last Page goes away, as this hurts visited links and anything 29026 else that will be per-PageGroup in the future (such as LocalStorage). 29027 29028 This also fixes a leak, since PageGroups are ref-counted and therefore clearing the raw pointer out 29029 of the PageGroups map without manual deletion leaked it! 29030 29031 * page/Page.cpp: 29032 (WebCore::Page::setGroupName): 29033 29034 2008-04-18 Dan Bernstein <mitz (a] apple.com> 29035 29036 Reviewed by Brady Eidson. 29037 29038 - fix <rdar://problem/5872671> REGRESSION (3.1.1-TOT): Repro crash going to Ortega Park home page 29039 29040 Test: fast/dynamic/5872671.html 29041 29042 * rendering/bidi.cpp: 29043 (WebCore::RenderBlock::layoutInlineChildren): Added a missing null 29044 check. 29045 29046 2008-04-18 Sam Weinig <sam (a] webkit.org> 29047 29048 Rubber-stamped by Mark Rowe. 29049 29050 responseText and responseXML don't throw exceptions so they don't need an ExceptionCode parameter. 29051 29052 * bindings/js/JSXMLHttpRequestCustom.cpp: 29053 * xml/XMLHttpRequest.cpp: 29054 (WebCore::XMLHttpRequest::responseText): 29055 (WebCore::XMLHttpRequest::responseXML): 29056 * xml/XMLHttpRequest.h: 29057 * xml/XMLHttpRequest.idl: 29058 29059 2008-04-18 Kevin McCullough <kmccullough (a] apple.com> 29060 29061 Reviewed by Sam. 29062 29063 - Build fix. 29064 29065 * page/Console.cpp: 29066 (WebCore::Console::profile): 29067 * page/Console.h: 29068 * page/Console.idl: 29069 29070 2008-04-18 Eric Seidel <eric (a] webkit.org> 29071 29072 Reviewed by darin. 29073 29074 Fix probable crasher caused by invalid static_cast 29075 https://bugs.webkit.org/show_bug.cgi?id=18585 29076 29077 * page/Frame.cpp: 29078 (WebCore::Frame::contentRenderer): 29079 (WebCore::Frame::ownerRenderer): 29080 * rendering/RenderObject.h: sort the "is*" functions 29081 (WebCore::RenderObject::isApplet): 29082 (WebCore::RenderObject::isBR): 29083 (WebCore::RenderObject::isBlockFlow): 29084 (WebCore::RenderObject::isCounter): 29085 (WebCore::RenderObject::isFrame): 29086 (WebCore::RenderObject::isFrameSet): 29087 (WebCore::RenderObject::isImage): 29088 (WebCore::RenderObject::isInlineBlockOrInlineTable): 29089 (WebCore::RenderObject::isInlineFlow): 29090 (WebCore::RenderObject::isListBox): 29091 (WebCore::RenderObject::isListItem): 29092 (WebCore::RenderObject::isListMarker): 29093 (WebCore::RenderObject::isMedia): 29094 (WebCore::RenderObject::isMenuList): 29095 (WebCore::RenderObject::isRenderBlock): 29096 (WebCore::RenderObject::isRenderImage): 29097 (WebCore::RenderObject::isRenderInline): 29098 (WebCore::RenderObject::isRenderPart): 29099 (WebCore::RenderObject::isRenderView): 29100 (WebCore::RenderObject::isSlider): 29101 (WebCore::RenderObject::isTable): 29102 (WebCore::RenderObject::isTableCell): 29103 (WebCore::RenderObject::isTableCol): 29104 (WebCore::RenderObject::isTableRow): 29105 (WebCore::RenderObject::isTableSection): 29106 (WebCore::RenderObject::isTextArea): 29107 * rendering/RenderPart.h: 29108 29109 2008-04-17 Eric Seidel <eric (a] webkit.org> 29110 29111 Reviewed by beth. 29112 29113 Rename Frame::renderer() to contentRenderer() and fix uses. 29114 29115 * WebCore.base.exp: 29116 * editing/Editor.cpp: 29117 (WebCore::Editor::respondToChangedContents): 29118 * loader/FrameLoader.cpp: 29119 (WebCore::FrameLoader::gotoAnchor): 29120 * page/DragController.cpp: 29121 (WebCore::DragController::canProcessDrag): 29122 (WebCore::DragController::mayStartDragAtEventLocation): 29123 (WebCore::DragController::startDrag): 29124 * page/EventHandler.cpp: 29125 (WebCore::EventHandler::eventMayStartDrag): 29126 (WebCore::EventHandler::updateSelectionForMouseDrag): 29127 (WebCore::EventHandler::hitTestResultAtPoint): 29128 (WebCore::EventHandler::hoverTimerFired): 29129 (WebCore::EventHandler::handleDrag): 29130 * page/Frame.cpp: 29131 (WebCore::Frame::selectionLayoutChanged): 29132 (WebCore::Frame::contentRenderer): 29133 (WebCore::Frame::paint): 29134 (WebCore::Frame::markAllMatchesForText): 29135 (WebCore::Frame::documentAtPoint): 29136 * page/Frame.h: 29137 * page/FrameView.cpp: 29138 (WebCore::FrameView::~FrameView): 29139 (WebCore::FrameView::adjustViewSize): 29140 (WebCore::FrameView::layout): 29141 (WebCore::FrameView::scheduleRelayoutOfSubtree): 29142 (WebCore::FrameView::needsLayout): 29143 (WebCore::FrameView::setNeedsLayout): 29144 (WebCore::FrameView::updateControlTints): 29145 * rendering/RenderTreeAsText.cpp: 29146 (WebCore::write): 29147 * svg/graphics/SVGImage.cpp: 29148 (WebCore::SVGImage::nativeImageForCurrentFrame): 29149 29150 2008-04-18 Antti Koivisto <antti (a] apple.com> 29151 29152 Reviewed by Oliver. 29153 29154 https://bugs.webkit.org/show_bug.cgi?id=18551 29155 REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests 29156 29157 Fix for test svg/W3C-SVG-1.1/animate-elem-62-t.svg which was still 29158 crashing under guard malloc after the previous fix. 29159 29160 If the event base element was a parent of the current element, dereffing it during 29161 removedFromDocument() would cause problems. Avoid this by not holding ref pointer 29162 to the event base but instead checking from the ref count of the event listener whether 29163 it is still alive and in need for unregistering. 29164 29165 This shold not be a problem for syncbase pointers since those are always animation elements 29166 and leaf nodes. 29167 29168 * svg/animation/SVGSMILElement.cpp: 29169 (WebCore::ConditionEventListener::ConditionEventListener): 29170 (WebCore::ConditionEventListener::unregister): 29171 (WebCore::ConditionEventListener::handleEvent): 29172 (WebCore::SVGSMILElement::connectConditions): 29173 (WebCore::SVGSMILElement::disconnectConditions): 29174 (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase): 29175 * svg/animation/SVGSMILElement.h: 29176 29177 2008-04-18 Kevin McCullough <kmccullough (a] apple.com> 29178 29179 Reviewed by Sam and Adam. 29180 29181 -<rdar://problem/5770054> JavaScript profiler (10928) 29182 - Added support for console.profile() and console.profileEnd(). 29183 29184 * ForwardingHeaders/kjs/FunctionCallProfile.h: Added. 29185 * ForwardingHeaders/kjs/Profiler.h: Added. 29186 * page/Console.cpp: 29187 (WebCore::Console::profile): 29188 (WebCore::Console::profileEnd): 29189 * page/Console.h: 29190 * page/Console.idl: 29191 29192 2008-04-18 Kevin Ollivier <kevino (a] theolliviers.com> 29193 29194 wx build fix. Add the new loader/appcache files. 29195 29196 * WebCoreSources.bkl: 29197 29198 2008-04-18 Dan Bernstein <mitz (a] apple.com> 29199 29200 Reviewed by Darin Adler. 29201 29202 - fix https://bugs.webkit.org/show_bug.cgi?id=17921 29203 Extra white space at the end of right-aligned or justified text with -webkit-line-break: after-white-space 29204 29205 Test: fast/text/trailing-white-space.html 29206 29207 Made trailing white space on the line always behave like it has the base 29208 bidi level of the block, meaning it will always go on the right (left) 29209 of the line in a left-to-right (right-to-left) block. Made the trailing 29210 white space vanish when it is next to a margin that the text should 29211 be touching, and made its width not count when computing the center 29212 point for center alignment. 29213 29214 * platform/text/BidiResolver.h: 29215 (WebCore::::prependRun): Added. 29216 * rendering/RenderBlock.h: 29217 * rendering/bidi.cpp: 29218 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed the 29219 logicallyLastRun parameter to an optional trailingSpaceRun and changed 29220 the alignment logic to implement the above rules. 29221 (WebCore::RenderBlock::layoutInlineChildren): Added code to identify 29222 when there is trailing white space that needs to be split into its own 29223 run and optionally re-ordered. 29224 (WebCore::RenderBlock::findNextLineBreak): Removed code that split some 29225 trailing space into a separate run in one special case. 29226 29227 2008-04-10 Mark Rowe <mrowe (a] apple.com> 29228 29229 Rubber-stamped by Brady Eidson. 29230 29231 Fix builds that do not have DOM storage enabled. 29232 29233 * page/DOMWindow.cpp: 29234 * page/Page.cpp: 29235 * page/PageGroup.cpp: 29236 * page/PageGroup.h: 29237 29238 2008-04-18 Timothy Hatcher <timothy (a] apple.com> 29239 29240 Fixes the regression where style rules in the Inspector always show "inline stylesheet" 29241 for the source of the rule and not the URL or other sources. 29242 29243 https://bugs.webkit.org/show_bug.cgi?id=18592 29244 29245 Reviewed by Dan Bernstein. 29246 29247 * page/inspector/StylesSidebarPane.js: 29248 (WebInspector.StylesSidebarPane.prototype.update): Add parentStyleSheet to the anonymous obejct 29249 that we make for each matched rule. The parentStyleSheet property is used later to make the subtitle. 29250 29251 2008-04-18 Dean Jackson <dino (a] apple.com> 29252 29253 Fixed marquee suspension on wrong document. Passes current 29254 document into Frame::clearTimers. 29255 29256 Reviewed by hyatt. 29257 29258 * history/CachedPage.cpp: 29259 (WebCore::CachedPage::clear): 29260 * page/Frame.cpp: 29261 (WebCore::Frame::clearTimers): 29262 * page/Frame.h: 29263 29264 2008-04-18 Dean Jackson <dino (a] apple.com> 29265 29266 Add 'ease' timing function to transitions and 29267 make it the default. See latest specification proposal at: 29268 http://webkit.org/specs/CSSVisualEffects/CSSTransitions.html 29269 29270 Reviewed by hyatt. 29271 29272 NOTE: still working on a way to test animating/transitioning content 29273 29274 * css/CSSParser.cpp: 29275 (WebCore::CSSParser::parseTransitionTimingFunction): 29276 * css/CSSStyleSelector.cpp: 29277 (WebCore::CSSStyleSelector::mapTransitionTimingFunction): 29278 * css/CSSValueKeywords.in: 29279 29280 2008-04-18 Adam Roben <aroben (a] apple.com> 29281 29282 Change JavaScriptDebugListener to use KJS::UString instead of 29283 WebCore::String 29284 29285 This should reduce the number of string allocations performed while 29286 debugging. 29287 29288 Reviewed by Tim Hatcher. 29289 29290 * page/InspectorController.cpp: Updated JavaScriptDebugListener 29291 functions. 29292 * page/InspectorController.h: Ditto. 29293 * page/JavaScriptDebugListener.h: Changed to use KJS::UString instead 29294 of WebCore::String. 29295 * page/JavaScriptDebugServer.cpp: Ditto. 29296 * platform/win/BString.cpp: 29297 (WebCore::BString::BString): Added a constructor that takes a 29298 KJS::UString. 29299 * platform/win/BString.h: 29300 29301 2008-04-18 Adam Roben <aroben (a] apple.com> 29302 29303 Mac build fix 29304 29305 * WebCore.xcodeproj/project.pbxproj: Mark JavaScriptDebugListener.h 29306 private. 29307 29308 2008-04-18 Adam Roben <aroben (a] apple.com> 29309 29310 Make InspectorController a JavaScriptDebugListener 29311 29312 I added two new functions to the InspectorController JS object: 29313 reloadInspectedPageAndStartDebugging and stopDebugging. These control 29314 when the InspectorController adds/removes itself to/from the 29315 JavaScriptDebugServer. 29316 29317 Reviewed by Tim Hatcher. 29318 29319 * page/InspectorController.cpp: 29320 (WebCore::reloadInspectedPageAndStartDebugging): Added. Just calls 29321 through to InspectorController. 29322 (WebCore::stopDebugging): Ditto. 29323 (WebCore::InspectorController::~InspectorController): Make sure we 29324 stop debugging before we are destroyed so the JavaScriptDebugServer 29325 won't be left with a stale pointer. 29326 (WebCore::InspectorController::windowScriptObjectAvailable): Added two 29327 new functions to our JS object. 29328 (WebCore::InspectorController::closeWindow): Stop debugging when the 29329 window closes. 29330 (WebCore::InspectorController::reloadInspectedPageAndStartDebugging): 29331 Added. 29332 (WebCore::InspectorController::stopDebugging): Added. 29333 29334 (WebCore::InspectorController::didParseSource): 29335 (WebCore::InspectorController::failedToParseSource): 29336 (WebCore::InspectorController::didEnterCallFrame): 29337 (WebCore::InspectorController::willExecuteStatement): 29338 (WebCore::InspectorController::willLeaveCallFrame): 29339 Added empty implementations of the JavaScriptDebugListener functions. 29340 29341 * page/InspectorController.h: 29342 29343 2008-04-17 Adam Roben <aroben (a] apple.com> 29344 29345 Rename ExecState* instances from state to exec 29346 29347 Requested by Darin Adler and Sam Weinig. 29348 29349 * bindings/js/JSConsoleCustom.cpp: 29350 29351 2008-04-17 Adam Roben <aroben (a] apple.com> 29352 29353 Clean up InspectorController's use of JSStringRef 29354 29355 All JSStringRef creation now happens through a helper function, 29356 jsStringRef, which takes either a const char* or a const String& and 29357 returns a JSRetainPtr<JSStringRef>. 29358 29359 Reviewed by Mitz Pettel. 29360 29361 * page/InspectorController.cpp: 29362 Added jsStringRef and converted all callers to 29363 JSStringCreateWithUTF8CString or JSStringCreateWithCharacters to use 29364 it. 29365 29366 2008-04-17 Adam Roben <aroben (a] apple.com> 29367 29368 Add wrappers around InspectorClient::{show,close}Window 29369 29370 This will let us perform actions when the window is actually 29371 showing/closing (InspectorController::show doesn't always directly 29372 show the window). 29373 29374 Reviewed by Tim Hatcher. 29375 29376 * page/InspectorController.cpp: 29377 (WebCore::InspectorController::scriptObjectReady): Call showWindow() 29378 instead of m_client->showWindow(). 29379 (WebCore::InspectorController::show): Ditto. 29380 (WebCore::InspectorController::close): Ditto for closeWindow(). 29381 (WebCore::InspectorController::showWindow): 29382 (WebCore::InspectorController::closeWindow): 29383 * page/InspectorController.h: 29384 29385 2008-04-18 Simon Hausmann <hausmann (a] webkit.org> 29386 29387 Reviewed by Holger. 29388 29389 Adapt to the API changes in WebKit/qt/ 29390 29391 * platform/graphics/qt/ImageQt.cpp: 29392 (loadResourcePixmap): 29393 29394 2008-04-18 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 29395 29396 Reviewed by Adam Roben. 29397 29398 https://bugs.webkit.org/show_bug.cgi?id=18477 29399 29400 No resize indication is shown when moving/hovering over the frame 29401 border/splitter. 29402 29403 * page/EventHandler.cpp: 29404 (WebCore::EventHandler::selectCursor): 29405 29406 2008-04-18 Adam Roben <aroben (a] apple.com> 29407 29408 Windows build fix 29409 29410 Same as before, but for fabs/fabsf. 29411 29412 * svg/SVGAnimateTransformElement.cpp: 29413 (WebCore::SVGAnimateTransformElement::calculateDistance): Changed to 29414 use fabsf and removed narrowPrecisionToFloat. 29415 29416 2008-04-18 Adam Roben <aroben (a] apple.com> 29417 29418 Windows build fix 29419 29420 In MSVC, sqrt() has three overloads: float, double, and long 29421 double. In GCC, sqrt() is only for doubles. Both MSVC and GCC have 29422 sqrtf() to operate explicitly on floats. 29423 29424 * svg/SVGAnimateMotionElement.cpp: 29425 (WebCore::SVGAnimateMotionElement::calculateDistance): Changed to use 29426 sqrtf and removed narrowPrecisionToFloat. 29427 * svg/SVGAnimateTransformElement.cpp: 29428 (WebCore::SVGAnimateTransformElement::calculateDistance): Ditto. 29429 29430 2008-04-18 Simon Hausmann <hausmann (a] webkit.org> 29431 29432 Fix the build without Database support (fixes the Qt/win build). 29433 29434 * page/PageGroup.cpp: 29435 (WebCore::PageGroup::localStorage): 29436 29437 2008-04-18 Simon Hausmann <hausmann (a] webkit.org> 29438 29439 Fix the Gtk build on the build bot. 29440 29441 * GNUmakefile.am: Back out the previous LocalStorage, etc. additions 29442 as they're already listed in another sources group that wasn't used 29443 due to a local configure error. 29444 29445 2008-04-18 Simon Hausmann <hausmann (a] webkit.org> 29446 29447 Prospective wx build fix. 29448 29449 * webcore-base.bkl: Add loader/appcache to include paths. 29450 29451 2008-04-18 Simon Hausmann <hausmann (a] webkit.org> 29452 29453 Build fix. Back out previous #include fix for PageGroup.h as it broke 29454 the Mac build due to forwarding headers. 29455 29456 * page/PageGroup.h: 29457 29458 2008-04-18 Simon Hausmann <hausmann (a] webkit.org> 29459 29460 Build fix for Qt and gcc 4.3. 29461 29462 * WebCore.pro: Added missing files and include paths, re-ordered 29463 the storage/ include path to avoid conflict of storage/LocalStorage.h 29464 with kjs/LocalStorage.h 29465 * page/PageGroup.h: Include LocalStorage.h instead of forward 29466 declaration to fix compilation with gcc 4.3. 29467 29468 2008-04-18 Simon Hausmann <hausmann (a] webkit.org> 29469 29470 Build fix for Gtk and gcc 4.3. 29471 29472 * GNUmakefile.am: Added missing files and include paths. 29473 * storage/LocalStorage.h: Include LocalStorageArea.h instead of 29474 forward declaring it due to the HashMap use where gcc 4.3 needs to 29475 see the class. 29476 29477 2008-04-17 Antti Koivisto <antti (a] apple.com> 29478 29479 Reviewed by Oliver. 29480 29481 https://bugs.webkit.org/show_bug.cgi?id=18573 29482 29483 Implement supplemental transforms and use them for <animateMotion> instead of the transform list. 29484 This will allow <animateTransform> and <animateMotion> combine properly. 29485 29486 * svg/SVGAnimateMotionElement.cpp: 29487 (WebCore::SVGAnimateMotionElement::resetToBaseValue): 29488 (WebCore::SVGAnimateMotionElement::calculateAnimatedValue): 29489 (WebCore::SVGAnimateMotionElement::applyResultsToTarget): 29490 * svg/SVGElement.h: 29491 (WebCore::SVGElement::supplementalTransform): 29492 * svg/SVGStyledTransformableElement.cpp: 29493 (WebCore::SVGStyledTransformableElement::animatedLocalTransform): 29494 * svg/SVGStyledTransformableElement.h: 29495 (WebCore::SVGStyledTransformableElement::supplementalTransform): 29496 * svg/SVGTextElement.cpp: 29497 (WebCore::SVGTextElement::animatedLocalTransform): 29498 * svg/SVGTextElement.h: 29499 (WebCore::SVGTextElement::supplementalTransform): 29500 29501 2008-04-17 Antti Koivisto <antti (a] apple.com> 29502 29503 Reviewed by Oliver. 29504 29505 Implement calcMode=paced. 29506 29507 Tested by SVG testsuite tests 29508 animate-elem-11-t.svg 29509 animate-elem-15-t.svg 29510 animate-elem-82-t.svg 29511 29512 * svg/SVGAnimateElement.cpp: 29513 (WebCore::SVGAnimateElement::calculateDistance): 29514 * svg/SVGAnimateElement.h: 29515 * svg/SVGAnimateMotionElement.cpp: 29516 (WebCore::SVGAnimateMotionElement::calculateDistance): 29517 * svg/SVGAnimateMotionElement.h: 29518 * svg/SVGAnimateTransformElement.cpp: 29519 (WebCore::SVGAnimateTransformElement::calculateDistance): 29520 * svg/SVGAnimateTransformElement.h: 29521 * svg/SVGAnimationElement.cpp: 29522 (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced): 29523 (WebCore::SVGAnimationElement::startedActiveInterval): 29524 * svg/SVGAnimationElement.h: 29525 (WebCore::SVGAnimationElement::calculateDistance): 29526 29527 2008-04-17 David Hyatt <hyatt (a] apple.com> 29528 29529 Fix a leak in ImageBuffer's clearImage method. 29530 29531 Reviewed by olliej 29532 29533 * platform/graphics/ImageBuffer.h: 29534 (WebCore::ImageBuffer::clearImage): 29535 29536 2008-04-17 Antti Koivisto <antti (a] apple.com> 29537 29538 Reviewed by Eric. 29539 29540 https://bugs.webkit.org/show_bug.cgi?id=12438 29541 29542 More SVG animation: 29543 29544 - Make multiple additive animations work 29545 - Support animating <use> instance trees 29546 29547 * svg/SVGAnimateColorElement.cpp: 29548 (WebCore::SVGAnimateColorElement::SVGAnimateColorElement): 29549 * svg/SVGAnimateColorElement.h: 29550 29551 Made this AnimateElement subclass. All functionality is now provided by AnimateElement. 29552 29553 * svg/SVGAnimateElement.cpp: 29554 (WebCore::SVGAnimateElement::determinePropertyType): 29555 (WebCore::SVGAnimateElement::calculateAnimatedValue): 29556 (WebCore::SVGAnimateElement::calculateFromAndToValues): 29557 (WebCore::SVGAnimateElement::calculateFromAndByValues): 29558 (WebCore::SVGAnimateElement::resetToBaseValue): 29559 (WebCore::SVGAnimateElement::applyResultsToTarget): 29560 * svg/SVGAnimateElement.h: 29561 * svg/SVGAnimateMotionElement.cpp: 29562 (WebCore::SVGAnimateMotionElement::resetToBaseValue): 29563 (WebCore::SVGAnimateMotionElement::calculateAnimatedValue): 29564 (WebCore::SVGAnimateMotionElement::applyResultsToTarget): 29565 * svg/SVGAnimateMotionElement.h: 29566 * svg/SVGAnimateTransformElement.cpp: 29567 (WebCore::SVGAnimateTransformElement::resetToBaseValue): 29568 (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): 29569 (WebCore::SVGAnimateTransformElement::calculateFromAndByValues): 29570 (WebCore::SVGAnimateTransformElement::applyResultsToTarget): 29571 * svg/SVGAnimateTransformElement.h: 29572 29573 Switch to new model where 29574 - resetToBaseValue() resets the animated value back to the base value 29575 - calculateAnimatedValue() computes the value and adds it to the element used for accumulation 29576 - applyResultsToTarget() sets the computed value the target element 29577 29578 * svg/SVGAnimationElement.cpp: 29579 (WebCore::SVGAnimationElement::fromValue): 29580 (WebCore::SVGAnimationElement::attributeIsCSS): 29581 (WebCore::SVGAnimationElement::targetAttributeIsCSS): 29582 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): 29583 29584 Update instances too. 29585 29586 (WebCore::SVGAnimationElement::startedActiveInterval): 29587 (WebCore::SVGAnimationElement::updateAnimation): 29588 (WebCore::SVGAnimationElement::endedActiveInterval): 29589 * svg/SVGAnimationElement.h: 29590 * svg/SVGSVGElement.cpp: 29591 (WebCore::SVGSVGElement::SVGSVGElement): 29592 * svg/SVGSetElement.cpp: 29593 (WebCore::SVGSetElement::SVGSetElement): 29594 * svg/SVGSetElement.h: 29595 29596 Made this AnimateElement subclass. All functionality is now provided by AnimateElement. 29597 29598 * svg/animation/SMILTimeContainer.cpp: 29599 (WebCore::SMILTimeContainer::SMILTimeContainer): 29600 (WebCore::SMILTimeContainer::unschedule): 29601 (WebCore::SMILTimeContainer::updateDocumentOrderIndexes): 29602 (WebCore::PriorityCompare::PriorityCompare): 29603 (WebCore::PriorityCompare::operator()): 29604 (WebCore::SMILTimeContainer::sortByPriority): 29605 (WebCore::applyOrderSortFunction): 29606 (WebCore::sortByApplyOrder): 29607 (WebCore::SMILTimeContainer::baseValueFor): 29608 (WebCore::SMILTimeContainer::updateAnimations): 29609 * svg/animation/SMILTimeContainer.h: 29610 (WebCore::SMILTimeContainer::create): 29611 (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty): 29612 29613 Do additive animation with the following steps 29614 - sort active animations based on their priority (begin time, document order). 29615 - if not yet saved for each (element, attribute) pair save the base value. 29616 - lowest priority animation for each (element, attribute) acts as the result element. 29617 - animation results are resolved in priority order and results are accumulated to the result element. 29618 - after all active animations have been processed the values in result elements are applied to the target elements. 29619 29620 * svg/animation/SVGSMILElement.cpp: 29621 (WebCore::SVGSMILElement::SVGSMILElement): 29622 (WebCore::SVGSMILElement::insertedIntoDocument): 29623 29624 Invalidate document order index. 29625 29626 (WebCore::SVGSMILElement::attributeName): 29627 (WebCore::SVGSMILElement::isInactive): 29628 (WebCore::SVGSMILElement::isFrozen): 29629 (WebCore::SVGSMILElement::beginListChanged): 29630 (WebCore::SVGSMILElement::determineActiveState): 29631 (WebCore::SVGSMILElement::isContributing): 29632 (WebCore::SVGSMILElement::progress): 29633 29634 Take care that animations in frozen state still contribute to the total. Since we now build the result starting 29635 from the base value, fill="replace" works magically simply by not contributing anything. 29636 29637 * svg/animation/SVGSMILElement.h: 29638 (WebCore::SVGSMILElement::previousIntervalBegin): 29639 (WebCore::SVGSMILElement::documentOrderIndex): 29640 (WebCore::SVGSMILElement::setDocumentOrderIndex): 29641 29642 2008-04-17 Jon Honeycutt <jhoneycutt (a] apple.com> 29643 29644 Reviewed by Darin, Alice. 29645 29646 Implement AXObjectCache::detachWrapper() on Windows. 29647 29648 * page/win/AXObjectCacheWin.cpp: 29649 (WebCore::AXObjectCache::detachWrapper): If this object has a wrapper, 29650 call its detach() method. 29651 29652 2008-04-17 Jon Honeycutt <jhoneycutt (a] apple.com> 29653 29654 Reviewed by mrowe. 29655 29656 Define HAVE_ACCESSIBILITY in a way that WebKit and WebCore can see it. 29657 29658 * config.h: Remove HAVE_ACCESSIBILITY. 29659 * page/AccessibilityObject.h: Include wtf/Platform.h to pick up 29660 HAVE_ACCESSIBILITY. 29661 29662 2008-04-17 Jon Honeycutt <jhoneycutt (a] apple.com> 29663 29664 Reviewed by aliu. 29665 29666 * page/AccessibilityObject.cpp: 29667 (WebCore::AccessibilityObject::layoutCount): Check isRenderView() before 29668 casting to RenderView. 29669 29670 2008-04-17 Antti Koivisto <antti (a] apple.com> 29671 29672 Reviewed by Oliver. 29673 29674 Fix https://bugs.webkit.org/show_bug.cgi?id=18551 29675 Bug 18551: REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests under guard malloc 29676 29677 Freeing a RefPtr that is the last ref to the parent from removedFromDocument() is a bad idea. 29678 29679 Caching the target element is too dangerous, let's simply not do it. Getting it is very cheap anyway. 29680 29681 * svg/animation/SVGSMILElement.cpp: 29682 (WebCore::SVGSMILElement::removedFromDocument): 29683 (WebCore::SVGSMILElement::attributeChanged): 29684 (WebCore::SVGSMILElement::targetElement): 29685 * svg/animation/SVGSMILElement.h: 29686 29687 2008-04-17 Sam Weinig <sam (a] webkit.org> 29688 29689 Reviewed by Anders Carlsson. 29690 29691 Autogenerate the XMLHttpRequest javascript binding. 29692 29693 * GNUmakefile.am: 29694 * WebCore.pro: 29695 * WebCore.vcproj/WebCore.vcproj: 29696 * WebCoreSources.bkl: 29697 * DerivedSources.make: 29698 * WebCore.xcodeproj/project.pbxproj: 29699 * bindings/js/JSDOMWindowBase.cpp: 29700 * bindings/js/JSXMLHttpRequest.cpp: Removed. 29701 * bindings/js/JSXMLHttpRequest.h: Removed. 29702 * bindings/js/JSXMLHttpRequestConstructor.cpp: Added. 29703 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 29704 (WebCore::JSXMLHttpRequestConstructor::implementsConstruct): 29705 (WebCore::JSXMLHttpRequestConstructor::construct): 29706 * bindings/js/JSXMLHttpRequestConstructor.h: Added. 29707 (WebCore::JSXMLHttpRequestConstructor::classInfo): 29708 * bindings/js/JSXMLHttpRequestCustom.cpp: Added. 29709 (WebCore::JSXMLHttpRequest::mark): 29710 (WebCore::JSXMLHttpRequest::onreadystatechange): 29711 (WebCore::JSXMLHttpRequest::setOnreadystatechange): 29712 (WebCore::JSXMLHttpRequest::onload): 29713 (WebCore::JSXMLHttpRequest::setOnload): 29714 (WebCore::JSXMLHttpRequest::responseXML): 29715 (WebCore::JSXMLHttpRequest::open): 29716 (WebCore::JSXMLHttpRequest::setRequestHeader): 29717 (WebCore::JSXMLHttpRequest::send): 29718 (WebCore::JSXMLHttpRequest::getResponseHeader): 29719 (WebCore::JSXMLHttpRequest::overrideMimeType): 29720 (WebCore::JSXMLHttpRequest::addEventListener): 29721 (WebCore::JSXMLHttpRequest::removeEventListener): 29722 (WebCore::JSXMLHttpRequest::dispatchEvent): 29723 * xml/XMLHttpRequest.cpp: 29724 (WebCore::XMLHttpRequest::readyState): 29725 (WebCore::XMLHttpRequest::responseText): 29726 * xml/XMLHttpRequest.h: 29727 * xml/XMLHttpRequest.idl: Added. 29728 29729 2008-04-17 Brady Eidson <beidson (a] apple.com> 29730 29731 Reviewed by Anders 29732 29733 The SessionStorage for a Page has to be copied every time a new Page is created. 29734 29735 I thought I had the right choke point for creating new Pages at FrameLoader::createWindow(), 29736 but it just so happens there was another - in the ContextMenuController. 29737 29738 The *real* choke point for this, then, is in the Chrome itself. 29739 29740 * loader/FrameLoader.cpp: 29741 (WebCore::FrameLoader::createWindow): Don't do the SessionStorage copy here... 29742 29743 * page/Chrome.cpp: 29744 (WebCore::Chrome::createWindow): Do it here, instead! 29745 29746 2008-04-17 Alice Liu <alice.liu (a] apple.com> 29747 29748 Reviewed by Jon Honeycutt. 29749 29750 Added some asserts to catch undesirable usage of setWrapper and addChildren. 29751 * page/AccessibilityObject.cpp: 29752 (WebCore::AccessibilityObject::addChildren): 29753 * page/AccessibilityObject.h: 29754 (WebCore::AccessibilityObject::setWrapper): 29755 29756 2008-04-17 Brady Eidson <beidson (a] apple.com> 29757 29758 Reviewed by the Mitzpettel 29759 29760 Before things get much more intertwined, move away from a global LocalStorage model 29761 to a per-PageGroup LocalStorage model. 29762 29763 * page/DOMWindow.cpp: 29764 (WebCore::DOMWindow::localStorage): Get it from the current PageGroup, not the global 29765 LocalStorage (which doesn't exist anymore). 29766 29767 * page/Page.cpp: 29768 * page/PageGroup.cpp: 29769 (WebCore::PageGroup::localStorage): Create a LocalStorage object on demand. 29770 * page/PageGroup.h: 29771 29772 * storage/LocalStorage.cpp: 29773 (WebCore::LocalStorage::LocalStorage): Hold a back pointer to the owning PageGroup. 29774 (WebCore::LocalStorage::storageArea): 29775 * storage/LocalStorage.h: 29776 (WebCore::LocalStorage::create): 29777 29778 * storage/LocalStorageArea.cpp: 29779 (WebCore::LocalStorageArea::LocalStorageArea): Hold a back pointer to the owning LocalStorage. 29780 * storage/LocalStorageArea.h: 29781 (WebCore::LocalStorageArea::create): 29782 29783 2008-04-17 Anders Carlsson <andersca (a] apple.com> 29784 29785 Fix indentation. 29786 29787 * loader/DocumentLoader.cpp: 29788 (WebCore::DocumentLoader::scheduleArchiveLoad): 29789 29790 2008-04-17 Anders Carlsson <andersca (a] apple.com> 29791 29792 Reviewed by Brady. 29793 29794 When in the web archive debug mode, don't call didFail immediately. Instead, 29795 add the loader to the substitute resource map, but with a null resource, which 29796 indicates to substituteResourceDeliveryTimerFired that the load should fail. 29797 29798 * loader/DocumentLoader.cpp: 29799 (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired): 29800 (WebCore::DocumentLoader::scheduleArchiveLoad): 29801 * loader/ResourceLoader.cpp: 29802 (WebCore::ResourceLoader::load): 29803 29804 2008-04-17 Anders Carlsson <andersca (a] apple.com> 29805 29806 Reviewed by Sam. 29807 29808 Add JS bindings for the DOMApplicationCache object. 29809 29810 * bindings/js/JSDOMApplicationCacheCustom.cpp: 29811 (WebCore::JSDOMApplicationCache::add): 29812 (WebCore::JSDOMApplicationCache::remove): 29813 (WebCore::JSDOMApplicationCache::addEventListener): 29814 (WebCore::JSDOMApplicationCache::removeEventListener): 29815 (WebCore::JSDOMApplicationCache::dispatchEvent): 29816 (WebCore::JSDOMApplicationCache::setOnchecking): 29817 (WebCore::JSDOMApplicationCache::onchecking): 29818 (WebCore::JSDOMApplicationCache::setOnerror): 29819 (WebCore::JSDOMApplicationCache::onerror): 29820 (WebCore::JSDOMApplicationCache::setOnnoupdate): 29821 (WebCore::JSDOMApplicationCache::onnoupdate): 29822 (WebCore::JSDOMApplicationCache::setOndownloading): 29823 (WebCore::JSDOMApplicationCache::ondownloading): 29824 (WebCore::JSDOMApplicationCache::setOnprogress): 29825 (WebCore::JSDOMApplicationCache::onprogress): 29826 (WebCore::JSDOMApplicationCache::setOnupdateready): 29827 (WebCore::JSDOMApplicationCache::onupdateready): 29828 (WebCore::JSDOMApplicationCache::setOncached): 29829 (WebCore::JSDOMApplicationCache::oncached): 29830 (WebCore::JSDOMApplicationCache::mark): 29831 * bindings/js/JSDOMWindowCustom.cpp: 29832 (WebCore::JSDOMWindow::mark): 29833 * bindings/js/JSEventTargetBase.cpp: 29834 (WebCore::toJS): 29835 * loader/appcache/DOMApplicationCache.idl: 29836 * page/DOMWindow.idl: 29837 29838 2008-04-17 Eric Carlson <eric.carlson (a] apple.com> 29839 29840 Reviewed by Adele. 29841 29842 Fix for <rdar://problem/5861642> QTMovieWin returns uninitialized values 29843 29844 * platform/graphics/win/QTMovieWin.cpp: 29845 (QTMovieWin::rate): 29846 (QTMovieWin::setRate): 29847 (QTMovieWin::setVolume): 29848 (QTMovieWin::getNaturalSize): 29849 29850 2008-04-17 Marco Barisione <marco.barisione (a] collabora.co.uk> 29851 29852 Reviewed by Alp Toker. 29853 29854 http://bugs.webkit.org/show_bug.cgi?id=18335 29855 Pango font backend unable to display japanese properly 29856 29857 Different fonts can have different glyph indices, so we need to pass 29858 the right font when retrieving a glyph index. 29859 29860 * platform/graphics/gtk/GlyphPageTreeNodePango.cpp: 29861 (WebCore::pango_font_get_glyph): Temporarily override the font in the 29862 PangoAnalysis passed to pango_shape. 29863 29864 2008-04-17 Anders Carlsson <andersca (a] apple.com> 29865 29866 According to Sam and David, it's "topLevel", not "toplevel". 29867 29868 * loader/DocumentLoader.cpp: 29869 (WebCore::DocumentLoader::topLevelApplicationCache): 29870 * loader/DocumentLoader.h: 29871 * loader/appcache/DOMApplicationCache.cpp: 29872 (WebCore::DOMApplicationCache::associatedCache): 29873 29874 2008-04-17 Anders Carlsson <andersca (a] apple.com> 29875 29876 Reviewed by Sam. 29877 29878 Add DOMApplicationCache implementation. 29879 29880 * dom/EventNames.h: 29881 Add new event names. 29882 29883 * dom/EventTarget.cpp: 29884 (WebCore::EventTarget::toDOMApplicationCache): 29885 * dom/EventTarget.h: 29886 Add EventTarget conversion method. 29887 29888 * loader/appcache/ApplicationCacheGroup.h: 29889 (WebCore::ApplicationCacheGroup::): 29890 (WebCore::ApplicationCacheGroup::status): 29891 (WebCore::ApplicationCacheGroup::update): 29892 (WebCore::ApplicationCacheGroup::newestCache): 29893 Add more stubs. 29894 29895 * loader/appcache/DOMApplicationCache.cpp: 29896 * loader/appcache/DOMApplicationCache.h: 29897 29898 * page/DOMWindow.cpp: 29899 (WebCore::DOMWindow::clear): 29900 (WebCore::DOMWindow::applicationCache): 29901 * page/DOMWindow.h: 29902 (WebCore::DOMWindow::optionalApplicationCache): 29903 Add ApplicationCache member. 29904 29905 2008-04-17 Anders Carlsson <andersca (a] apple.com> 29906 29907 Build fix. 29908 29909 * WebCore.vcproj/WebCore.vcproj: 29910 29911 2008-04-17 Dean Jackson <dino (a] apple.com> 29912 29913 Reviewed by Hyatt. 29914 29915 Fix for <rdar://problem/5849968> translate method should have Y=0 when only X is present 29916 29917 Test: fast/css/transform-default-parameter.html 29918 29919 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): 29920 translate function with only X parameter now leaves the Y parameter as zero. 29921 29922 2008-04-17 Anders Carlsson <andersca (a] apple.com> 29923 29924 Reviewed by Sam. 29925 29926 Add plumbing for associating document loaders with application caches. 29927 29928 * loader/DocumentLoader.cpp: 29929 (WebCore::DocumentLoader::DocumentLoader): 29930 (WebCore::DocumentLoader::~DocumentLoader): 29931 (WebCore::DocumentLoader::originalURL): 29932 (WebCore::DocumentLoader::requestURL): 29933 (WebCore::DocumentLoader::responseURL): 29934 (WebCore::DocumentLoader::responseMIMEType): 29935 (WebCore::DocumentLoader::setCandidateApplicationCacheGroup): 29936 (WebCore::DocumentLoader::setApplicationCache): 29937 (WebCore::DocumentLoader::toplevelApplicationCache): 29938 * loader/DocumentLoader.h: 29939 (WebCore::DocumentLoader::candidateApplicationCacheGroup): 29940 (WebCore::DocumentLoader::applicationCache): 29941 * loader/appcache/ApplicationCacheGroup.h: 29942 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): 29943 29944 2008-04-17 Adam Roben <aroben (a] apple.com> 29945 29946 Fix Bug 18544: REGRESSION (r31951): Two fast/xsl tests crash 29947 29948 <https://bugs.webkit.org/show_bug.cgi?id=18544> 29949 29950 r31951 changed XSLTProcessor::parseErrorFunc to expect a Console* as 29951 the context parameter. The caller in XSLTProcessor was changed, but 29952 the one in XSLStyleSheet was missed. 29953 29954 Reviewed by Alexey Proskuryakov. 29955 29956 * xml/XSLStyleSheet.cpp: 29957 (WebCore::XSLStyleSheet::parseString): Pass the Console as the context 29958 to parseErrorFunc. 29959 29960 2008-04-17 Adam Roben <aroben (a] apple.com> 29961 29962 Windows build fix after r31981 29963 29964 * dom/Document.idl: Omit getCSSCanvasContext from the COM bindings. 29965 29966 2008-04-17 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 29967 29968 Reviewed by Simon. 29969 29970 Implemented getFileModificationTime and pathGetFileName for the Qt port. 29971 29972 * platform/qt/FileSystemQt.cpp: 29973 (WebCore::getFileModificationTime): 29974 29975 2008-04-17 Mark Rowe <mrowe (a] apple.com> 29976 29977 Fix the non-Mac builds that I broke with my Mac build fix. 29978 29979 * css/CSSMutableStyleDeclaration.cpp: 29980 (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Explicitly use the size_t version of max 29981 to avoid making assumptions about sizeof(size_t). 29982 29983 2008-04-17 Mark Rowe <mrowe (a] apple.com> 29984 29985 Rubber-stamped by Dan Bernstein. 29986 29987 Fix the Mac build. 29988 29989 * css/CSSMutableStyleDeclaration.cpp: 29990 (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Update to use size_t in place of unsigned. 29991 * dom/NamedNodeMap.h: Ditto. 29992 * page/AccessibilityObject.h: Forward-declare AccessibilityObjectWrapper in the non-Objective-C case too. 29993 29994 2008-04-16 Jon Honeycutt <jhoneycutt (a] apple.com> 29995 29996 Reviewed by Darin. 29997 29998 Use size_t instead of unsigned where appropriate. 29999 30000 * css/CSSValueList.h: 30001 * dom/NamedAttrMap.h: 30002 * rendering/RenderStyle.h: 30003 30004 2008-04-15 Jon Honeycutt <jhoneycutt (a] apple.com> 30005 30006 Reviewed by Darin. 30007 30008 Add some methods to check AccessibilityObject state. 30009 30010 * page/AccessibilityObject.cpp: 30011 (WebCore::AccessibilityObject::AccessibilityObject): Assert that the 30012 passed renderer is not null. 30013 (WebCore::AccessibilityObject::isPasswordField): Refactored to use early 30014 return. 30015 (WebCore::AccessibilityObject::isPressed): Return true if this is a 30016 button in the pressed state. 30017 (WebCore::AccessibilityObject::isIndeterminate): Return true if this is 30018 a tri-state checkbox in the indeterminate state. 30019 (WebCore::AccessibilityObject::isChecked): True if this is a radio 30020 button or checkbox in the checked state. 30021 (WebCore::AccessibilityObject::isHovered): True if object is currently 30022 under the mouse cursor. 30023 (WebCore::AccessibilityObject::isMultiSelect): True if this is a select 30024 element capable of multi-select. 30025 (WebCore::AccessibilityObject::isReadOnly): False if this object has 30026 editable content. 30027 (WebCore::AccessibilityObject::isOffScreen): True if this object is not 30028 in the visible portion of the view. 30029 * page/AccessibilityObject.h: Grouped methods into is-state and is-kind. 30030 30031 2008-04-15 Jon Honeycutt <jhoneycutt (a] apple.com> 30032 30033 Reviewed by Darin. 30034 30035 Add AccessibilityObjectWrapper to Windows. 30036 30037 * WebCore.vcproj/WebCore.vcproj: Add AccessibilityObjectWrapperWin.h 30038 * page/AccessibilityObject.h: Include COMPtr.h, 30039 AccessibilityObjectWrapperWin.h on Windows. Define wrapper() and 30040 setWrapper() if accessibility is present. Add an m_wrapper on Windows. 30041 * page/AccessibilityObject.cpp: 30042 (WebCore::AccessibilityObject::detach): Clear m_wrapper if 30043 accessibility is present. 30044 * page/win/AccessibilityObjectWrapperWin.h: Added; defines a wrapper for 30045 AccessibilityObjects on Windows. 30046 (WebCore::AccessibilityObjectWrapper::attached): Return true if attached 30047 to an object. 30048 (WebCore::AccessibilityObjectWrapper::accessibilityObject): Return the 30049 wrapped object. 30050 (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): 30051 30052 2008-04-15 Jon Honeycutt <jhoneycutt (a] apple.com> 30053 30054 Reviewed by Darin. 30055 30056 Add AXObjectCache to Windows. 30057 30058 * WebCore.vcproj/WebCore.vcproj: Add AXObjectCacheWin.cpp. 30059 * page/AXObjectCache.h: Add handleFocusedUIElementChanged definition to 30060 non-Mac platforms, and added stub for it. Replace PLATFORM(MAC) 30061 conditional with HAVE(ACCESSIBILITY) for stubs. 30062 (WebCore::AXObjectCache::enableAccessibility): 30063 (WebCore::AXObjectCache::accessibilityEnabled): 30064 * page/win/AXObjectCacheWin.cpp: Added; contains stubs for the methods 30065 below. 30066 (WebCore::AXObjectCache::detachWrapper): 30067 (WebCore::AXObjectCache::attachWrapper): 30068 (WebCore::AXObjectCache::postNotification): 30069 (WebCore::AXObjectCache::postNotificationToElement): 30070 * config.h: Define HAVE_ACCESSIBILITY on Mac and Windows. 30071 30072 2008-04-15 Jon Honeycutt <jhoneycutt (a] apple.com> 30073 30074 Reviewed by Darin. 30075 30076 * WebCore.vcproj/WebCore.vcproj: Fix path to AXObjectCache.h. 30077 30078 2008-04-16 Brady Eidson <beidson (a] apple.com> 30079 30080 Reviewed by Darin Adler 30081 30082 Merge the StorageAreaClient into the StorageArea class itself as pure virtual methods. 30083 Add "LocalStorageArea" and "SessionStorageArea" implementations, and have SessionStorage 30084 and LocalStorage instantiate the appropriate type of StorageArea object. 30085 30086 This purpose of this change is because while adding the persistent store to LocalStorage, 30087 it became obvious that the client approach wasn't scaling well. Additionally, a StorageArea 30088 backing a local storage area required vastly different data members compared to one backing 30089 a session storage area. 30090 30091 This will be much cleaner going forward. 30092 30093 * GNUmakefile.am: 30094 * WebCore.pro: 30095 * WebCore.vcproj/WebCore.vcproj: 30096 * WebCore.xcodeproj/project.pbxproj: 30097 * WebCoreSources.bkl: 30098 30099 * storage/LocalStorage.cpp: 30100 (WebCore::LocalStorage::storageArea): 30101 * storage/LocalStorage.h: 30102 30103 * storage/LocalStorageArea.cpp: Added. 30104 (WebCore::LocalStorageArea::LocalStorageArea): 30105 (WebCore::LocalStorageArea::itemChanged): 30106 (WebCore::LocalStorageArea::itemRemoved): 30107 (WebCore::LocalStorageArea::dispatchStorageEvent): 30108 * storage/LocalStorageArea.h: Added. 30109 (WebCore::LocalStorageArea::create): 30110 30111 * storage/SessionStorage.cpp: 30112 (WebCore::SessionStorage::copy): 30113 (WebCore::SessionStorage::storageArea): 30114 * storage/SessionStorage.h: 30115 30116 * storage/SessionStorageArea.cpp: Added. 30117 (WebCore::SessionStorageArea::copy): 30118 (WebCore::SessionStorageArea::SessionStorageArea): 30119 (WebCore::SessionStorageArea::itemChanged): 30120 (WebCore::SessionStorageArea::itemRemoved): 30121 (WebCore::SessionStorageArea::dispatchStorageEvent): 30122 * storage/SessionStorageArea.h: Added. 30123 (WebCore::SessionStorageArea::create): 30124 (WebCore::SessionStorageArea::page): 30125 30126 * storage/StorageArea.cpp: 30127 (WebCore::StorageArea::StorageArea): 30128 (WebCore::StorageArea::setItem): 30129 (WebCore::StorageArea::removeItem): 30130 (WebCore::StorageArea::storageMap): 30131 * storage/StorageArea.h: 30132 30133 * storage/StorageAreaClient.h: Removed. 30134 30135 2008-04-16 David Hyatt <hyatt (a] apple.com> 30136 30137 Add support for the ability to draw directly into CSS images using CanvasRenderingContext2D. 30138 30139 Reviewed by olliej 30140 30141 Added fast/canvas/canvas-bg.html 30142 30143 * GNUmakefile.am: 30144 * WebCore.pro: 30145 * WebCore.vcproj/WebCore.vcproj: 30146 * WebCore.xcodeproj/project.pbxproj: 30147 * WebCoreSources.bkl: 30148 * css/CSSCanvasValue.cpp: Added. 30149 (WebCore::CSSCanvasValue::~CSSCanvasValue): 30150 (WebCore::CSSCanvasValue::cssText): 30151 (WebCore::CSSCanvasValue::canvasChanged): 30152 (WebCore::CSSCanvasValue::canvasResized): 30153 (WebCore::CSSCanvasValue::fixedSize): 30154 (WebCore::CSSCanvasValue::element): 30155 (WebCore::CSSCanvasValue::image): 30156 * css/CSSCanvasValue.h: Added. 30157 (WebCore::CSSCanvasValue::CSSCanvasValue): 30158 (WebCore::CSSCanvasValue::isFixedSize): 30159 (WebCore::CSSCanvasValue::setName): 30160 * css/CSSGradientValue.cpp: 30161 * css/CSSGradientValue.h: 30162 * css/CSSImageGeneratorValue.cpp: 30163 (WebCore::CSSImageGeneratorValue::generatedImage): 30164 * css/CSSImageGeneratorValue.h: 30165 (WebCore::CSSImageGeneratorValue::isFixedSize): 30166 (WebCore::CSSImageGeneratorValue::fixedSize): 30167 * css/CSSParser.cpp: 30168 (WebCore::CSSParser::parseContent): 30169 (WebCore::CSSParser::parseBackgroundImage): 30170 (WebCore::CSSParser::parseBorderImage): 30171 (WebCore::CSSParser::parseCanvas): 30172 * css/CSSParser.h: 30173 * dom/Document.cpp: 30174 (WebCore::Document::getCSSCanvasContext): 30175 (WebCore::Document::getCSSCanvasElement): 30176 * dom/Document.h: 30177 * dom/Document.idl: 30178 * html/HTMLCanvasElement.cpp: 30179 (WebCore::HTMLCanvasElement::HTMLCanvasElement): 30180 (WebCore::HTMLCanvasElement::reset): 30181 * html/HTMLCanvasElement.h: 30182 (WebCore::HTMLCanvasElement::setSize): 30183 * rendering/RenderBox.cpp: 30184 (WebCore::RenderBox::calculateBackgroundSize): 30185 (WebCore::RenderBox::imageChanged): 30186 * rendering/RenderBox.h: 30187 * rendering/RenderImage.cpp: 30188 (WebCore::RenderImage::imageChanged): 30189 * rendering/RenderImage.h: 30190 (WebCore::RenderImage::imagePtr): 30191 (WebCore::RenderImage::intrinsicSizeChanged): 30192 * rendering/RenderImageGeneratedContent.h: 30193 (WebCore::RenderImageGeneratedContent::imageSize): 30194 (WebCore::RenderImageGeneratedContent::imagePtr): 30195 * rendering/RenderListMarker.cpp: 30196 (WebCore::RenderListMarker::layout): 30197 (WebCore::RenderListMarker::imageChanged): 30198 (WebCore::RenderListMarker::calcPrefWidths): 30199 (WebCore::RenderListMarker::getRelativeMarkerRect): 30200 * rendering/RenderListMarker.h: 30201 * rendering/RenderObject.cpp: 30202 (WebCore::RenderObject::paintBorderImage): 30203 (WebCore::RenderObject::imageChanged): 30204 * rendering/RenderObject.h: 30205 (WebCore::RenderObject::imageChanged): 30206 * rendering/RenderSVGImage.cpp: 30207 (WebCore::RenderSVGImage::imageChanged): 30208 * rendering/RenderSVGImage.h: 30209 * rendering/RenderStyle.cpp: 30210 (WebCore::StyleCachedImage::imageSize): 30211 (WebCore::StyleGeneratedImage::imageSize): 30212 * rendering/RenderStyle.h: 30213 (WebCore::StyleCachedImage::data): 30214 (WebCore::StyleGeneratedImage::StyleGeneratedImage): 30215 (WebCore::StyleGeneratedImage::data): 30216 (WebCore::StyleGeneratedImage::imageHasRelativeWidth): 30217 (WebCore::StyleGeneratedImage::imageHasRelativeHeight): 30218 (WebCore::StyleGeneratedImage::usesImageContainerSize): 30219 * rendering/RenderTableCol.cpp: 30220 (WebCore::RenderTableCol::imageChanged): 30221 * rendering/RenderTableCol.h: 30222 * rendering/RenderTableRow.cpp: 30223 (WebCore::RenderTableRow::imageChanged): 30224 * rendering/RenderTableRow.h: 30225 * rendering/RenderTableSection.cpp: 30226 (WebCore::RenderTableSection::imageChanged): 30227 * rendering/RenderTableSection.h: 30228 30229 2008-04-16 Anders Carlsson <andersca (a] apple.com> 30230 30231 Reviewed by Darin. 30232 30233 Add manifest parser. 30234 30235 * loader/appcache/ManifestParser.cpp: 30236 (WebCore::parseManifest): 30237 * loader/appcache/ManifestParser.h: 30238 * platform/text/CharacterNames.h: 30239 30240 2008-04-16 Darin Adler <darin (a] apple.com> 30241 30242 Reviewed by Mitz. 30243 30244 - fix <rdar://problem/5858617> REGRESSION (r21452-Safari 3.1): 30245 Safari does not find words containing (German letter sharp-s) 30246 30247 Test: fast/text/find-case-folding.html 30248 30249 * platform/text/StringImpl.cpp: 30250 (WebCore::StringImpl::foldCase): 30251 Pass the folded length to foldCase rather than the original string length. 30252 Without this, we get an error code every time. 30253 30254 2008-04-16 Anders Carlsson <andersca (a] apple.com> 30255 30256 Fix build. 30257 30258 * loader/appcache/ApplicationCache.cpp: 30259 (WebCore::ApplicationCache::ApplicationCache): 30260 (WebCore::ApplicationCache::setManifestResource): 30261 (WebCore::ApplicationCache::addResource): 30262 30263 2008-04-16 Anders Carlsson <andersca (a] apple.com> 30264 30265 Reviewed by Darin. 30266 30267 Add new protocolHostAndPortAreEqual function. 30268 30269 * platform/KURL.cpp: 30270 (WebCore::KURL::host): 30271 (WebCore::KURL::setHost): 30272 (WebCore::KURL::setHostAndPort): 30273 (WebCore::protocolHostAndPortAreEqual): 30274 * platform/KURL.h: 30275 (WebCore::KURL::hostStart): 30276 30277 2008-04-16 Anders Carlsson <andersca (a] apple.com> 30278 30279 Reviewed by Sam. 30280 30281 Fix some style nits. 30282 30283 * loader/appcache/ApplicationCache.cpp: 30284 (WebCore::ApplicationCache::ApplicationCache): 30285 (WebCore::ApplicationCache::setManifestResource): 30286 (WebCore::ApplicationCache::addResource): 30287 (WebCore::ApplicationCache::removeResource): 30288 (WebCore::ApplicationCache::dump): 30289 * loader/appcache/ApplicationCacheGroup.h: 30290 30291 2008-04-16 Anders Carlsson <andersca (a] apple.com> 30292 30293 Reviewed by Brady and Sam. 30294 30295 Add ApplicationCache implementation. Stub out ApplicationCacheGroup methods 30296 needed by ApplicationCache. 30297 30298 * loader/appcache/ApplicationCache.cpp: 30299 (WebCore::ApplicationCache::ApplicationCache): 30300 (WebCore::ApplicationCache::~ApplicationCache): 30301 (WebCore::ApplicationCache::setManifestResource): 30302 (WebCore::ApplicationCache::addResource): 30303 (WebCore::ApplicationCache::removeResource): 30304 (WebCore::ApplicationCache::resourceForURL): 30305 (WebCore::ApplicationCache::resourceForRequest): 30306 (WebCore::ApplicationCache::numDynamicEntries): 30307 (WebCore::ApplicationCache::dynamicEntry): 30308 (WebCore::ApplicationCache::addDynamicEntry): 30309 (WebCore::ApplicationCache::removeDynamicEntry): 30310 (WebCore::ApplicationCache::setOnlineWhitelist): 30311 (WebCore::ApplicationCache::isURLInOnlineWhitelist): 30312 (WebCore::ApplicationCache::dump): 30313 * loader/appcache/ApplicationCache.h: 30314 (WebCore::ApplicationCache::create): 30315 (WebCore::ApplicationCache::manifestResource): 30316 (WebCore::ApplicationCache::group): 30317 (WebCore::ApplicationCache::begin): 30318 (WebCore::ApplicationCache::end): 30319 * loader/appcache/ApplicationCacheGroup.h: 30320 (WebCore::ApplicationCacheGroup::manifestURL): 30321 (WebCore::ApplicationCacheGroup::cacheDestroyed): 30322 30323 2008-04-16 Adam Roben <aroben (a] apple.com> 30324 30325 Fix Bug 18505: REGRESSION: Search is disabled and not functional 30326 30327 <https://bugs.webkit.org/show_bug.cgi?id=18505> 30328 30329 Reviewed by Tim Hatcher. 30330 30331 * page/inspector/ResourcesPanel.js: 30332 (WebInspector.ResourcesPanel.sourceFrameForResource): Added. 30333 * page/inspector/inspector.css: Added back rules for the search field 30334 that were removed in r31736. 30335 * page/inspector/inspector.html: 30336 - Removed the disabled attribute from the search field 30337 - Added back the #searchResults and #searchResultsResizer divs which 30338 were removed in r31736 30339 * page/inspector/inspector.js: 30340 (WebInspector.set showingSearchResults): Updated for class rename 30341 panels -> main-panels. 30342 (WebInspector.loaded): Added back the mousedown event listener for the 30343 search results resizer that was removed in r31736. 30344 (WebInspector.searchResultsResizerDrag): Updated for class rename 30345 panels -> main-panels. 30346 (WebInspector.performSearch): 30347 - Changed to use sourceFrameForResource 30348 - Changed to use showResource 30349 - Changed to save/restore the focused element around the setting of 30350 the current panel 30351 - Changed to get the source document from the match range instead of 30352 by crawling back up to the source view 30353 - Changed to bind the onselect handlers to this so that we can 30354 access the Elements/Resources panels 30355 30356 2008-04-16 Brady Eidson <beidson (a] apple.com> 30357 30358 Reviewed by Sam Weinig 30359 30360 Changing ThreadSafeShared to start with a ref count of 1, so updating all users to 30361 adoptRef() that initial reference. 30362 30363 * bindings/js/JSCustomSQLStatementCallback.h: 30364 (WebCore::JSCustomSQLStatementCallback::create): 30365 * bindings/js/JSCustomSQLStatementErrorCallback.h: 30366 (WebCore::JSCustomSQLStatementErrorCallback::create): 30367 * bindings/js/JSCustomSQLTransactionCallback.h: 30368 (WebCore::JSCustomSQLTransactionCallback::create): 30369 * bindings/js/JSCustomSQLTransactionErrorCallback.h: 30370 (WebCore::JSCustomSQLTransactionErrorCallback::create): 30371 30372 * bindings/js/JSDatabaseCustom.cpp: 30373 (WebCore::JSDatabase::changeVersion): 30374 (WebCore::JSDatabase::transaction): 30375 30376 * bindings/js/JSSQLTransactionCustom.cpp: 30377 (WebCore::JSSQLTransaction::executeSql): 30378 30379 * dom/Document.cpp: 30380 (WebCore::Document::databaseThread): 30381 30382 * platform/SecurityOrigin.cpp: 30383 (WebCore::SecurityOrigin::create): 30384 30385 * platform/sql/SQLiteAuthorizer.h: 30386 (WebCore::SQLiteAuthorizer::create): 30387 (WebCore::SQLiteAuthorizer::SQLiteAuthorizer): 30388 30389 * storage/ChangeVersionWrapper.cpp: 30390 (WebCore::ChangeVersionWrapper::performPreflight): 30391 (WebCore::ChangeVersionWrapper::performPostflight): 30392 * storage/ChangeVersionWrapper.h: 30393 (WebCore::ChangeVersionWrapper::create): 30394 30395 * storage/Database.cpp: 30396 (WebCore::Database::openAndVerifyVersion): 30397 (WebCore::Database::markAsDeletedAndClose): 30398 (WebCore::Database::changeVersion): 30399 (WebCore::Database::transaction): 30400 (WebCore::Database::scheduleTransaction): 30401 (WebCore::Database::scheduleTransactionStep): 30402 (WebCore::Database::tableNames): 30403 30404 * storage/DatabaseAuthorizer.h: 30405 (WebCore::DatabaseAuthorizer::create): 30406 30407 * storage/DatabaseTask.h: 30408 (WebCore::DatabaseOpenTask::create): 30409 (WebCore::DatabaseCloseTask::create): 30410 (WebCore::DatabaseTransactionTask::create): 30411 (WebCore::DatabaseTableNamesTask::create): 30412 30413 * storage/DatabaseThread.cpp: 30414 (WebCore::DatabaseThread::scheduleTask): Change to take a PassRefPtr instead of raw 30415 (WebCore::DatabaseThread::scheduleImmediateTask): Ditto 30416 * storage/DatabaseThread.h: 30417 (WebCore::DatabaseThread::create): 30418 30419 * storage/SQLError.h: 30420 (WebCore::SQLError::create): 30421 (WebCore::SQLError::SQLError): 30422 30423 * storage/SQLResultSet.h: 30424 (WebCore::SQLResultSet::create): 30425 30426 * storage/SQLStatement.cpp: 30427 (WebCore::SQLStatement::create): 30428 (WebCore::SQLStatement::execute): 30429 (WebCore::SQLStatement::setDatabaseDeletedError): 30430 (WebCore::SQLStatement::setVersionMismatchedError): 30431 (WebCore::SQLStatement::setFailureDueToQuota): 30432 * storage/SQLStatement.h: 30433 30434 * storage/SQLTransaction.cpp: 30435 (WebCore::SQLTransaction::create): 30436 (WebCore::SQLTransaction::executeSQL): 30437 (WebCore::SQLTransaction::openTransactionAndPreflight): 30438 (WebCore::SQLTransaction::deliverTransactionCallback): 30439 (WebCore::SQLTransaction::handleCurrentStatementError): 30440 (WebCore::SQLTransaction::deliverStatementCallback): 30441 (WebCore::SQLTransaction::postflightAndCommit): 30442 * storage/SQLTransaction.h: 30443 30444 2008-04-16 Anders Carlsson <andersca (a] apple.com> 30445 30446 Reviewed by Adam and Brady. 30447 30448 Add implementation of ApplicationCacheResource. 30449 30450 * loader/appcache/ApplicationCacheResource.cpp: 30451 (WebCore::ApplicationCacheResource::ApplicationCacheResource): 30452 (WebCore::ApplicationCacheResource::dumpType): 30453 * loader/appcache/ApplicationCacheResource.h: 30454 (WebCore::ApplicationCacheResource::): 30455 (WebCore::ApplicationCacheResource::create): 30456 (WebCore::ApplicationCacheResource::type): 30457 (WebCore::ApplicationCacheResource::addType): 30458 30459 2008-04-16 Timothy Hatcher <timothy (a] apple.com> 30460 30461 Fixes an issue where the source for a resource that had errors would 30462 not be shown because the view was created before the resource load 30463 finished. The right view is now created, even if the resource isn't 30464 finished. The SourceView just makes sure to not load the source until 30465 the resource is finished. Only if the category changes, does the view 30466 need to be recreated. 30467 30468 Reviewed by Adam Roben. 30469 30470 * page/inspector/Resource.js: 30471 (WebInspector.Resource.prototype.set category): Call recreateViewForResourceIfNeeded. 30472 * page/inspector/ResourcesPanel.js: 30473 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): 30474 Added. Tries to make a new view, if the view is the same prototype of the 30475 previous view, return early. If they differ, close and detach the old view 30476 and associate the resource with the new view. Calling updateErrorsAndWarnings 30477 is needed, because the errors and warnings that might have been added to the 30478 previous view will be lost, so make the tree element match. 30479 (WebInspector.Resource.prototype._createResourceView): Always create a view 30480 that matches the resource category. Ignore the loading and failed status. 30481 * page/inspector/SourceView.js: 30482 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Don't setup the 30483 frame if the resource hasn't finished or if the load failed. 30484 30485 2008-04-16 Timothy Hatcher <timothy (a] apple.com> 30486 30487 Adds a console formatter for Error objects. So typing a expression in the 30488 console that ends in an exception will print meaningful info. Also calling 30489 console.{log,error,warn,info} with an error object will output nicely. 30490 30491 Reviewed by Adam Roben. 30492 30493 * page/inspector/Console.js: 30494 (WebInspector.Console.prototype._formaterror): Added. Formats an error 30495 object by showing it like other exceptions, with a clickable file URL. 30496 30497 2008-04-16 Timothy Hatcher <timothy (a] apple.com> 30498 30499 Refactors code that updates the errors and warnings count in the 30500 resources sidebar so other functions can easily trigger updates. 30501 30502 Reviewed by Adam Roben. 30503 30504 * page/inspector/ResourcesPanel.js: 30505 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Call updateErrorsAndWarnings. 30506 Removes code that updates the bubbleText and class names. 30507 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto. 30508 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): 30509 Added. Updates the bubbleText and adds or removes the class names 30510 depending on if the values are zero. 30511 30512 2008-04-16 Antti Koivisto <antti (a] apple.com> 30513 30514 Reviewed by Alexey. 30515 30516 Fix <rdar://problem/5863728> 30517 REGRESSION: Garbage character shown in temperatures in the Weather widget (encoding issue with degree symbol) 30518 30519 Parse the encoding attribute in PreloadScanner. 30520 30521 Test: fast/encoding/script-preload-encoding.html 30522 30523 * html/PreloadScanner.cpp: 30524 (WebCore::PreloadScanner::processAttribute): 30525 (WebCore::PreloadScanner::emitTag): 30526 (WebCore::PreloadScanner::emitCSSRule): 30527 * html/PreloadScanner.h: 30528 * loader/DocLoader.cpp: 30529 (WebCore::DocLoader::preload): 30530 * loader/DocLoader.h: 30531 30532 2008-04-16 Anders Carlsson <andersca (a] apple.com> 30533 30534 Reviewed by Adam. 30535 30536 Generate the DOMApplicationCache JS wrapper, add JSDOMApplicationCacheCustom.cpp and 30537 fix typos in the #if line. 30538 30539 * DerivedSources.make: 30540 * WebCore.vcproj/WebCore.vcproj: 30541 * WebCore.xcodeproj/project.pbxproj: 30542 * bindings/js/JSDOMApplicationCacheCustom.cpp: Added. 30543 * loader/appcache/ApplicationCache.cpp: 30544 * loader/appcache/ApplicationCache.h: 30545 * loader/appcache/ApplicationCacheGroup.cpp: 30546 * loader/appcache/ApplicationCacheGroup.h: 30547 * loader/appcache/ApplicationCacheResource.cpp: 30548 * loader/appcache/ApplicationCacheResource.h: 30549 * loader/appcache/DOMApplicationCache.cpp: 30550 * loader/appcache/DOMApplicationCache.h: 30551 * loader/appcache/DOMApplicationCache.idl: 30552 * loader/appcache/ManifestParser.cpp: 30553 * loader/appcache/ManifestParser.h: 30554 30555 2008-04-16 Sam Weinig <sam (a] webkit.org> 30556 30557 Reviewed by Geoffrey Garen. 30558 30559 - To keep the behavior of the WebKit and JavaScriptCore API's the same, 30560 we need to hide the fact that the global object and the window object 30561 are no longer the same thing, and the the global object now changes on 30562 navigations. To do this, only the wrapper should ever be exposed. This 30563 fixes the two remaining spots where the internal global object is exposed, 30564 the windowScriptObject returned from [WebFrame windowObject] and the object 30565 return by calling JSContextGetGlobalObject on [WebFrame globalContext] 30566 30567 * bindings/js/JSDOMWindowWrapper.cpp: 30568 (WebCore::JSDOMWindowWrapper::putWithAttributes): 30569 * bindings/js/JSDOMWindowWrapper.h: 30570 Forward this new method so that JSObjectSetProperty doesn't set properties on the 30571 wrapper. 30572 30573 * page/mac/FrameMac.mm: 30574 (WebCore::Frame::windowScriptObject): 30575 Return the wrapper instead of the global object. 30576 30577 2008-04-16 David Hyatt <hyatt (a] apple.com> 30578 30579 Eliminate the paintBuffer and drawImage(ImageBuffer*) methods from GraphicsContext* in favor of just 30580 snagging an Image* from the ImageBuffer and drawing that instead. 30581 30582 Enhance canvas with a CanvasObserver so that notifications of dirtying or resizing can be tracked by 30583 a consumer. 30584 30585 Reviewed by olliej 30586 30587 * html/CanvasRenderingContext2D.cpp: 30588 (WebCore::CanvasRenderingContext2D::drawImage): 30589 * html/HTMLCanvasElement.cpp: 30590 (WebCore::HTMLCanvasElement::HTMLCanvasElement): 30591 (WebCore::HTMLCanvasElement::willDraw): 30592 (WebCore::HTMLCanvasElement::reset): 30593 (WebCore::HTMLCanvasElement::paint): 30594 * html/HTMLCanvasElement.h: 30595 (WebCore::CanvasObserver::~CanvasObserver): 30596 (WebCore::HTMLCanvasElement::setSize): 30597 (WebCore::HTMLCanvasElement::setObserver): 30598 * platform/graphics/GraphicsContext.cpp: 30599 (WebCore::GraphicsContext::drawImage): 30600 (WebCore::GraphicsContext::drawTiledImage): 30601 * platform/graphics/GraphicsContext.h: 30602 * platform/graphics/ImageBuffer.h: 30603 (WebCore::ImageBuffer::clearImage): 30604 * platform/graphics/cairo/GraphicsContextCairo.cpp: 30605 * platform/graphics/cg/GraphicsContextCG.cpp: 30606 * platform/graphics/cg/ImageCG.cpp: 30607 (WebCore::BitmapImage::draw): 30608 (WebCore::Image::drawPattern): 30609 * platform/graphics/cg/ImageSourceCG.cpp: 30610 (WebCore::ImageSource::createFrameAtIndex): 30611 * platform/graphics/qt/GraphicsContextQt.cpp: 30612 * platform/graphics/wx/GraphicsContextWx.cpp: 30613 30614 2008-04-16 Steve Falkenburg <sfalken (a] apple.com> 30615 30616 Improve timer latency/resolution. 30617 30618 The primary timing mechanism is now CreateTimerQueueTimer, with a PostMessage from 30619 the callback proc. This event will be delivered sooner than if we used SetTimer(), 30620 since it is higher priority than other messages. 30621 30622 If there is an input message pending, we'll use we SetTimer() based timers to avoid 30623 starving user input. 30624 30625 Don't call PostMessage immediately on all timers < 10ms. Only call immediately if 30626 timer is already expired. This avoids the case where no timers would be processed, 30627 causing the timer to be re-posted via the slower SetTimer method. 30628 30629 Don't call PostMessage immediately if there's a pending WM_PAINT, since 30630 we don't want to starve all paints when bombarded with a continuous stream of low 30631 duration timers. 30632 30633 Removed reentrancy check, since we're now looking for specific starvation cases, 30634 and will typically defer non-expired timers through CreateTimerQueueTimer. 30635 30636 The reason Windows wouldn't starve paints in favor of timers with the old code: 30637 When we went to reset the timer when it fired, the timer reset code treated this as a 30638 reentrant timer, causing us to hit the slow SetTimer code rather than calling PostMessage, 30639 even for timers expiring in < 10ms. I corrected that, exposing the paint starvation problem. 30640 30641 Use timeBeginPeriod/timeEndPeriod to improve resolution of system timers. 30642 Limit this resolution change to within 20ms of the last high resolution timer request. 30643 30644 Corrected GetQueueStatus to check for specific input (and paint) messages rather than 30645 checking QS_ALLINPUT. Contrary to its name, QS_ALLINPUT actually indicates interest 30646 in ALL queued messages, not just input messages. 30647 30648 Fix SetTimer/KillTimer calls to pass our window handle. 30649 30650 Reviewed by Brady. 30651 30652 * platform/win/SharedTimerWin.cpp: 30653 (WebCore::TimerWindowWndProc): 30654 (WebCore::queueTimerProc): 30655 (WebCore::setSharedTimerFireTime): 30656 (WebCore::stopSharedTimer): 30657 30658 2008-04-16 Adam Roben <aroben (a] apple.com> 30659 30660 Fix console-log-formatting to truly test formatting an undefined value 30661 30662 Exceptions thrown by the test will also now be shown as errors. 30663 30664 Reviewed by Tim Hatcher. 30665 30666 * manual-tests/inspector/console-log-formatting.html: 30667 (test): Use console.error to report exceptions. 30668 (runTests): Use window.noSuchVariable instead of just noSuchVariable 30669 to avoid an exception. 30670 30671 2008-04-16 Anatoli Papirovski <apapirovski (a] mac.com> 30672 30673 Reviewed by David. 30674 30675 Optimized the calculation of background-size. 30676 30677 * rendering/RenderBox.cpp: 30678 (WebCore::RenderBox::calculateBackgroundSize): 30679 30680 2008-04-16 Adam Roben <aroben (a] apple.com> 30681 30682 Fix Bug 17228: console.{log,warn,info,error} should support format 30683 strings, variable arguments 30684 30685 <https://bugs.webkit.org/show_bug.cgi?id=17228> 30686 <rdar://problem/5732828> 30687 30688 Reviewed by Tim Hatcher. 30689 30690 Test: manual-tests/inspector/console-log-formatting.html 30691 30692 * page/inspector/Console.js: 30693 (WebInspector.ConsoleMessage): Pass any extra arguments down to 30694 _format. 30695 (WebInspector.ConsoleMessage._format): This method constructs 30696 this.formattedMessage. We treat the first parameter as a format 30697 string. Any parameters that have not been used after substituting into 30698 the format string are concatenated together, separated by spaces. 30699 (WebInspector.ConsoleMessage.toMessageElement): Updated to use 30700 this.formattedMessage. 30701 (WebInspector.ConsoleMessage.toString): Ditto. 30702 30703 2008-04-15 Adam Roben <aroben (a] apple.com> 30704 30705 Make String.format return an array of unused substitutions 30706 30707 String.format now returns an object with two properties: 30708 formattedResult and unusedSubstitutions. 30709 30710 Reviewed by Tim Hatcher. 30711 30712 * page/inspector/utilities.js: 30713 (String.vsprintf): Updated for changes to String.format. We throw away 30714 the array of unused substitutions. 30715 (String.format): Changed to keep track of which substitutions are used 30716 when formatting. We then return both the formatted result and the 30717 array of unused substitutions. 30718 30719 2008-04-15 Adam Roben <aroben (a] apple.com> 30720 30721 Generalize String.format some more 30722 30723 String.format now takes an initial value and an append function which 30724 it uses to build the result. Each time a token is processed, 30725 append(valueSoFar, newValue) is called. 30726 30727 Reviewed by Tim Hatcher. 30728 30729 * page/inspector/utilities.js: 30730 (String.vsprintf): Pass the empty string for the initial value, and 30731 a function that concatenates two strings as the append function. 30732 (String.format): Use initialValue and append to build the result 30733 instead of only working with strings. 30734 30735 2008-04-15 Adam Roben <aroben (a] apple.com> 30736 30737 Add String.format 30738 30739 String.format is a more generic form of String.vsprintf that takes a 30740 set of formatter functions, one for each supported format specifier. 30741 Each formatter function is passed the relevant token and substitution 30742 value, and returns the formatted result. 30743 30744 Reviewed by Tim Hatcher. 30745 30746 * page/inspector/utilities.js: 30747 (String.standardFormatters): Added. 30748 (String.vsprintf): Changed to call through to String.format. 30749 (String.format): Added. Most of the code came from String.vsprintf, 30750 except that we use the passed-in formatters to format the 30751 substitutions rather than hard-coding how to handle each format 30752 specifier. 30753 30754 2008-04-15 Adam Roben <aroben (a] apple.com> 30755 30756 Refactor String.vsprintf to separate tokenizing and substituting 30757 30758 This will eventually be useful for the various console methods that 30759 take a format string. 30760 30761 Reviewed by Tim Hatcher. 30762 30763 * page/inspector/utilities.js: 30764 (String.tokenizeFormatString): Added. This uses the format parsing 30765 code from String.vsprintf but just returns an array of "string" and 30766 "specifier" tokens. 30767 (String.vsprintf): Now calls String.tokenizeFormatString and processes 30768 the tokens one at a time. 30769 30770 2008-04-15 Adam Roben <aroben (a] apple.com> 30771 30772 Pass all arguments to console.{log,warn,info,error} into the Inspector's JS 30773 30774 Part of Bug 17228: console.{log,warn,info,error} should support format 30775 strings, variable arguments 30776 <http://bugs.webkit.org/show_bug.cgi?id=17228> 30777 <rdar://problem/5732828> 30778 30779 We don't use the extra arguments yet. 30780 30781 Reviewed by Tim Hatcher. 30782 30783 * page/Console.cpp: 30784 (WebCore::Console::error): Pass the arguments list to 30785 InspectorController. 30786 (WebCore::Console::info): Ditto. 30787 (WebCore::Console::log): Ditto. 30788 (WebCore::Console::warn): Ditto. 30789 * page/InspectorController.cpp: 30790 (WebCore::ConsoleMessage::ConsoleMessage): Added a new constructor 30791 that takes an ExecState and a List instead of a String. We wrap and 30792 store the JSValues from the List in a Vector<ProtectedPtr<JSValue> >. 30793 (WebCore::InspectorController::addMessageToConsole): Added an overload 30794 that takes an ExecState and a List. 30795 (WebCore::InspectorController::addConsoleMessage): Moved code here 30796 from addMessageToConsole. Both overloads of addMessageToConsole now 30797 call this helper method. 30798 (WebCore::InspectorController::addScriptConsoleMessage): Updated for 30799 the new parameter order of WebInspector.ConsoleMessage. If the 30800 ConsoleMessage has a non-empty wrappedArguments Vector, we use that 30801 instead of the ConsoleMessage's message String. 30802 * page/InspectorController.h: 30803 * page/inspector/Console.js: 30804 (WebInspector.ConsoleMessage): Removed the explicit message parameter. 30805 We now get the message from the unnamed 5th parameter. 30806 * page/inspector/Resource.js: Updated for the change to 30807 WebInspector.ConsoleMessage's parameter order. 30808 30809 2008-04-15 Adam Roben <aroben (a] apple.com> 30810 30811 Change calls to Chrome::addMessageToConsole to use Console::addMessage 30812 30813 Part of Bug 17228: console.{log,warn,info,error} should support format 30814 strings, variable arguments 30815 <http://bugs.webkit.org/show_bug.cgi?id=17228> 30816 <rdar://problem/5732828> 30817 30818 Console now takes care of calling ChromeClient::addMessageToConsole 30819 for the appropriate messages (i.e., just messages from JavaScript). If 30820 you ever want to add a message to the console, Console is the place to 30821 do it. 30822 30823 Reviewed by Darin Adler. 30824 30825 * WebCore.xcodeproj/project.pbxproj: Mark Console.h Private. 30826 * page/Chrome.cpp: Removed addMessageToConsole 30827 * page/Chrome.h: Moved MessageSource/MessageLevel to Console.h. 30828 * page/Console.cpp: 30829 (WebCore::Console::addMessage): Added. Calls 30830 ChromeClient::addMessageToConsole for JS messages, and calls 30831 InspectorController::addMessageToConsole for all messages. 30832 (WebCore::Console::error): Changed to call directly to 30833 InspectorController in addition to ChromeClient. 30834 (WebCore::Console::info): Ditto. 30835 (WebCore::Console::log): Ditto. 30836 (WebCore::Console::warn): Ditto. 30837 * page/Console.h: Added MessageSource/MessageLevel enums from Chrome.h. 30838 30839 2008-04-15 Adam Roben <aroben (a] apple.com> 30840 30841 Pass JSConsole's arguments unmodified to Console 30842 30843 Part of Bug 17228: console.{log,warn,info,error} should support format 30844 strings, variable arguments 30845 <http://bugs.webkit.org/show_bug.cgi?id=17228> 30846 <rdar://problem/5732828> 30847 30848 All of JSConsole's methods are now custom, so that we can pass the 30849 arguments unmodified to Console. Console now handles calling 30850 toString() on the first argument. Later it will pass the arguments off 30851 to InspectorController. 30852 30853 There should be no behavioral changes caused by this patch. 30854 30855 Reviewed by Darin Adler. 30856 30857 * ForwardingHeaders/kjs/list.h: Added. 30858 * GNUmakefile.am: Added JSConsoleCustom.cpp to the project. 30859 * WebCore.pro: Ditto. 30860 * WebCore.vcproj/WebCore.vcproj: Ditto. 30861 * WebCore.xcodeproj/project.pbxproj: Ditto. 30862 * WebCoreSources.bkl: Ditto. 30863 * bindings/js/JSConsoleCustom.cpp: Added. 30864 (WebCore::JSConsole::error): 30865 (WebCore::JSConsole::info): 30866 (WebCore::JSConsole::log): 30867 (WebCore::JSConsole::warn): 30868 * page/Console.cpp: Changed all methods to take an ExecState* and a 30869 const List&. The first item in the List is toString()ed and passed to 30870 Chrome. 30871 (WebCore::Console::error): 30872 (WebCore::Console::info): 30873 (WebCore::Console::log): 30874 (WebCore::Console::warn): 30875 * page/Console.h: 30876 * page/Console.idl: 30877 30878 2008-04-16 Sam Weinig <sam (a] webkit.org> 30879 30880 Reviewed by Darin Adler. 30881 30882 Rename kjs_strtod to KJS::strtod. 30883 30884 * platform/text/String.cpp: 30885 (WebCore::charactersToDouble): 30886 30887 2008-04-16 Alexey Proskuryakov <ap (a] webkit.org> 30888 30889 Reviewed by Adam. 30890 30891 http://bugs.webkit.org/show_bug.cgi?id=18259 30892 XML+XSLT pages in iframe contains document.location of a parent window 30893 30894 Test: fast/xsl/subframe-location.html 30895 30896 * xml/XSLTProcessor.cpp: 30897 (WebCore::XSLTProcessor::createDocumentFromSource): Set resulting document URL before opening 30898 it, so that the document loader picks a correct URL, too. 30899 30900 2008-04-16 Dan Bernstein <mitz (a] apple.com> 30901 30902 Rubber-stamped by John Sullivan. 30903 30904 - remove unreachable code which was added in r8802 30905 30906 * rendering/RenderText.cpp: 30907 (WebCore::RenderText::caretRect): 30908 30909 2008-04-15 Timothy Hatcher <timothy (a] apple.com> 30910 30911 Adds a script resource icon. Update the CSS icon to better match the script icon. 30912 30913 https://bugs.webkit.org/show_bug.cgi?id=18499 30914 30915 Rubber-stamped by Adele Peterson. 30916 30917 * page/inspector/Images/resourceCSSIcon.png: Updated. 30918 * page/inspector/Images/resourceJSIcon.png: Added. 30919 * page/inspector/inspector.css: Changed the script icon rule to reference the new image. 30920 30921 2008-04-16 Eric Seidel <eric (a] webkit.org> 30922 30923 Reviewed by hyatt. 30924 30925 Fix leaky ImageBuffer code. 30926 30927 * platform/graphics/GeneratedImage.cpp: 30928 (WebCore::GeneratedImage::drawPattern): 30929 * platform/graphics/ImageBuffer.h: 30930 * platform/graphics/cg/ImageBufferCG.cpp: 30931 (WebCore::ImageBuffer::image): 30932 30933 2008-04-15 Justin Garcia <justin.garcia (a] apple.com> 30934 30935 Reviewed by Oliver. 30936 30937 <rdar://problem/5665299> REGRESSION (r27369): Paste text into a contenteditable div creates a contenteditable div for each line (16661) 30938 30939 * editing/markup.cpp: 30940 (WebCore::createFragmentFromText): Don't use clones of the enclosing block to hold 30941 paragraphs if the enclosing block is the root editable element. 30942 30943 2008-04-15 Mark Rowe <mrowe (a] apple.com> 30944 30945 Reviewed by Jon Honeycutt. 30946 30947 Don't treat the misnamed NSAccessibilitySortButtonRole as an accessibility role. It is really 30948 a subrole of NSAccessibilityButtonRole. As it is not used inside WebCore there is no change in 30949 behaviour as a result of doing this. This fixes <rdar://problem/5866444>. 30950 30951 * page/AccessibilityObject.cpp: 30952 (WebCore::AccessibilityObject::canSetFocusAttribute): Remove SortButtonRole as it is unused. 30953 * page/AccessibilityObject.h: Ditto. 30954 * page/mac/AccessibilityObjectWrapper.mm: 30955 (RoleEntry::): 30956 30957 2008-04-15 Anders Carlsson <andersca (a] apple.com> 30958 30959 Fix leaks seen on bot. 30960 30961 * loader/SubstituteResource.h: 30962 (WebCore::SubstituteResource::~SubstituteResource): 30963 Add a virtual destructor. 30964 30965 2008-04-15 Brady Eidson <beidson (a] apple.com> 30966 30967 Reviewed by Anders Carlsson 30968 30969 Fix for <rdar://problem/5820819> - Crash sometime occurs when interrupting a load. 30970 30971 Each SubresourceLoader has a client. That client is often a Loader::Host object. 30972 The Loader/Host/CachedResource system predates our ref-counting and ownership models, and therefore manages 30973 object lifetime manually. 30974 30975 The cause of this crash was that we would sometimes call "didFail()" on a Host object twice - Once when 30976 beginning the new navigation, and once when the new navigation is committed. 30977 30978 The problem is after the first time Host::didFail() gets called, the Host is almost always deleted shortly 30979 thereafter. But the SubresourceLoader had a dangling pointer to the Host which is now invalid. 30980 30981 I explored a few options to fix this bug. The one that was most obviously "clean" was to call cancel() on 30982 the SubresourceLoader itself, which would end up calling Host::didFail() and doing the appropriate cache 30983 cleanup. 30984 30985 This problem with that approach was that it had other side effects - when you cut off a load that had already 30986 partially displayed in the WebView, images that hadn't finished loading would be invalidated and immediately 30987 turn into broken image icons. This was visually jarring and pretty unacceptable. 30988 30989 So I decided to follow a much simpler approach, which was to have the Host clear the client pointer from each 30990 SubresourceLoader before it forgets about it. This leaves things the same visually and fixes the crash. 30991 30992 Note that the layout test for this - if possible - will require other enhancements to DRT including possibly 30993 adding support for window.stop(). That task is non-trivial, and is documented in <rdar://problem/5061826> 30994 30995 * loader/SubresourceLoader.h: 30996 (WebCore::SubresourceLoader::clearClient): Add a method to clear the SubresourceLoaderClient. This is 30997 perfectly safe to do on an in-flight SubresourceLoader as they are already designed to be client-less, 30998 and already null-check the client before calling it. 30999 31000 * loader/loader.cpp: 31001 (WebCore::Loader::Host::didFail): The SubresourceLoader itself might not be finished loading and might decide 31002 to call into its client later. Since the client has no guaranteed lifetime and is liable to be deleted 31003 after didFail() is called, call clearClient() on the SubresourceLoader so such an invalid call can't happen. 31004 31005 2008-04-15 Anders Carlsson <andersca (a] apple.com> 31006 31007 Reviewed by Adam. 31008 31009 Add empty files for the application cache. 31010 31011 * Configurations/WebCore.xcconfig: 31012 * WebCore.vcproj/WebCore.vcproj: 31013 * WebCore.vcproj/build-generated-files.sh: 31014 Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES. 31015 31016 * WebCore.xcodeproj/project.pbxproj: 31017 * loader/appcache: Added. 31018 * loader/appcache/ApplicationCache.cpp: Added. 31019 * loader/appcache/ApplicationCache.h: Added. 31020 * loader/appcache/ApplicationCacheGroup.cpp: Added. 31021 * loader/appcache/ApplicationCacheGroup.h: Added. 31022 * loader/appcache/ApplicationCacheResource.cpp: Added. 31023 * loader/appcache/ApplicationCacheResource.h: Added. 31024 * loader/appcache/DOMApplicationCache.cpp: Added. 31025 * loader/appcache/DOMApplicationCache.h: Added. 31026 * loader/appcache/DOMApplicationCache.idl: Added. 31027 * loader/appcache/ManifestParser.cpp: Added. 31028 * loader/appcache/ManifestParser.h: Added. 31029 31030 2008-04-15 Kevin McCullough <kmccullough (a] apple.com> 31031 31032 Reviewed by Tim. 31033 31034 - <rdar://problem/5792587> AJAX (XMLHttpRequest) support for the Inspector (17776) 31035 - Add XMLHttpRequest support to the inspector. 31036 31037 * English.lproj/InspectorLocalizedStrings.js: Specify capitalization 31038 instead of using text-transform because XHR must capitalize all the letters. 31039 * page/inspector/Resource.js: Assume XHRs are textType even though this 31040 may not always be true. 31041 Also add the XHR category and let all mime types be consistent with it. 31042 * page/inspector/ResourcesPanel.js: Set the XHR category color. 31043 * page/inspector/inspector.css: Make XHRs yellow and fonts red because 31044 XHRs are more common than fonts and yellow next to orange (scripts) is 31045 not as harsh on the eyes as red next to orange. 31046 * page/inspector/inspector.js: Specify capitalization again. 31047 31048 2008-04-15 David Hyatt <hyatt (a] apple.com> 31049 31050 Fix the zoom property so that it works properly with font-size. 31051 31052 Reviewed by John Sullivan 31053 31054 Added fast/css/zoom-font-size.html 31055 31056 * css/CSSStyleSelector.cpp: 31057 (WebCore::CSSStyleSelector::updateFont): 31058 (WebCore::CSSStyleSelector::applyProperty): 31059 (WebCore::CSSStyleSelector::checkForZoomChange): 31060 * css/CSSStyleSelector.h: 31061 31062 2008-04-15 Timothy Hatcher <timothy (a] apple.com> 31063 31064 Fixes the bug where a resource view could still be shown after the inspected 31065 page navigates to another page. 31066 31067 https://bugs.webkit.org/show_bug.cgi?id=18517 31068 31069 Reviewed by Adam Roben. 31070 31071 * page/inspector/ResourcesPanel.js: 31072 (WebInspector.ResourcesPanel.prototype.reset): Close the visible resource. 31073 Iterate over all the resources and zero errors and warnings and delete the 31074 resource view and tree element. Removes all children of resourceViews. Passes 31075 true to _updateGraphDividersIfNeeded to force an immediate update. 31076 (WebInspector.ResourcesPanel.prototype.removeResource): Added. Closes 31077 the resource view if it is visible. Removes the resource from the _resources 31078 array. Removes the tree element from the outline tree. Zeros out the errors 31079 and warnings properties. Deletes the tree element and resource view properties. 31080 (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Null check 31081 this._calculator for times when reset is called before the calculator is set. 31082 * page/inspector/inspector.js: 31083 (WebInspector.removeResource): Call ResourcesPanel.removeResource. 31084 31085 2008-04-15 Anders Carlsson <andersca (a] apple.com> 31086 31087 Reviewed by Adam. 31088 31089 Rename "archive" to "substitute" in a couple of places. 31090 31091 * loader/DocumentLoader.cpp: 31092 (WebCore::DocumentLoader::DocumentLoader): 31093 (WebCore::DocumentLoader::clearArchiveResources): 31094 (WebCore::DocumentLoader::deliverSubstituteResourcesAfterDelay): 31095 (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired): 31096 (WebCore::DocumentLoader::isSubstituteLoadPending): 31097 (WebCore::DocumentLoader::cancelPendingSubstituteLoad): 31098 (WebCore::DocumentLoader::scheduleArchiveLoad): 31099 (WebCore::DocumentLoader::setDefersLoading): 31100 * loader/DocumentLoader.h: 31101 * loader/ResourceLoader.cpp: 31102 (WebCore::ResourceLoader::load): 31103 (WebCore::ResourceLoader::didCancel): 31104 31105 2008-04-15 Anders Carlsson <andersca (a] apple.com> 31106 31107 Reviewed by Adam. 31108 31109 Move the URL, response and data to SubstituteResource. 31110 31111 * loader/SubstituteResource.h: 31112 (WebCore::SubstituteResource::url): 31113 (WebCore::SubstituteResource::response): 31114 (WebCore::SubstituteResource::data): 31115 (WebCore::SubstituteResource::SubstituteResource): 31116 * loader/archive/ArchiveResource.cpp: 31117 (WebCore::ArchiveResource::ArchiveResource): 31118 * loader/archive/ArchiveResource.h: 31119 (WebCore::ArchiveResource::frameName): 31120 31121 2008-04-15 David Hyatt <hyatt (a] apple.com> 31122 31123 https://bugs.webkit.org/show_bug.cgi?id=18467 31124 31125 Make sure to ignore zoom:0. That is not supposed to actually do anything. It's a hack in IE 31126 to cause an element to set "hasLayout." 31127 31128 Reviewed by Anders 31129 31130 Added fast/css/zoom-property-parsing.html 31131 31132 * css/CSSParser.cpp: 31133 (WebCore::CSSParser::parseValue): 31134 * css/CSSStyleSelector.cpp: 31135 (WebCore::CSSStyleSelector::applyProperty): 31136 31137 2008-04-15 Anders Carlsson <andersca (a] apple.com> 31138 31139 Reviewed by Adam. 31140 31141 Add a (currently empty) SubstituteResource class and make ArchiveResource inherit from it. 31142 31143 * WebCore.vcproj/WebCore.vcproj: 31144 * WebCore.xcodeproj/project.pbxproj: 31145 * loader/SubstituteResource.h: Added. 31146 * loader/archive/ArchiveResource.h: 31147 31148 2008-04-15 Antti Koivisto <antti (a] apple.com> 31149 31150 Reviewed by Geoff. 31151 31152 Fix <rdar://problem/5862921> 31153 REGRESSION: Leak in SVGSVGElement::SVGSVGElement 31154 31155 In these strange days RefCounted starts with count of one. 31156 31157 * svg/SVGSVGElement.cpp: 31158 (WebCore::SVGSVGElement::SVGSVGElement): 31159 * svg/animation/SMILTimeContainer.h: 31160 (WebCore::SMILTimeContainer::create): 31161 31162 2008-04-15 Anatoli Papirovski <apapirovski (a] mac.com> 31163 31164 Reviewed by hyatt 31165 31166 [CSS1, CSS3] Fixed the background-origin calculation for root elements 31167 (background-size and background-position are affected), r10794 31168 [CSS3] Fixed the background-size transformation where width is specified in percentage and height is left to auto 31169 31170 Test: fast/backgrounds/background-origin-root-element.html 31171 31172 * rendering/RenderBox.cpp: 31173 (WebCore::RenderBox::calculateBackgroundSize): 31174 (WebCore::RenderBox::calculateBackgroundImageGeometry): 31175 31176 2008-04-15 Timothy Hatcher <timothy (a] apple.com> 31177 31178 Fixes the regression where the error and warning counts did not show up in the Resources 31179 sidebar next to resources. 31180 31181 https://bugs.webkit.org/show_bug.cgi?id=18494 31182 31183 Reviewed by Adam Roben. 31184 31185 * page/inspector/ResourcesPanel.js: 31186 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Increment errors or warnings 31187 on the resource. Set the bubbleText to the total of the errors and warnings. Add a error 31188 or warning class to the bubble. 31189 (WebInspector.ResourcesPanel.prototype.clearMessages): Zero out the errors and warnings 31190 properties on each resource. Set the bubbleText back to an empty string. 31191 * page/inspector/SidebarTreeElement.js: 31192 (WebInspector.SidebarTreeElement): Create a statusElement. 31193 (WebInspector.SidebarTreeElement.prototype.get bubbleText): Return _bubbleText. 31194 (WebInspector.SidebarTreeElement.prototype.set bubbleText): Create bubbleElement if needed. 31195 Assign the value to _bubbleText and bubbleElement.textContent. 31196 (WebInspector.SidebarTreeElement.prototype.onattach): Append statusElement to _listItemNode. 31197 * page/inspector/inspector.css: Style rules for bubbles and status elements. 31198 31199 2008-04-15 Timothy Hatcher <timothy (a] apple.com> 31200 31201 Fixes the regression where error and warning bubbles would not be added 31202 to the source view of a resource. 31203 31204 https://bugs.webkit.org/show_bug.cgi?id=18495 31205 31206 Reviewed by Adam Roben. 31207 31208 * css/view-source.css: 31209 (.webkit-html-message-bubble): Add a min-height to make sure the border-radius 31210 has enough room to apply. 31211 * page/inspector/Console.js: 31212 (WebInspector.Console.prototype.addMessage): Removed code that added messages 31213 to resource panels and incremented error and warning counts on resources. 31214 Now just call ResourcesPanel.addMessageToResource after assigning the resource 31215 to the console message. 31216 (WebInspector.Console.prototype.clearMessages): Removed code that cleared error 31217 and warning counts from resources an call ResourcesPanel.clearMessages. 31218 * page/inspector/ResourcesPanel.js: 31219 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Call addMessage 31220 on the resource's view, if it is implemented. 31221 (WebInspector.ResourcesPanel.prototype.clearMessages): Call clearMessages 31222 on all the resource views for the ones that implement it. 31223 (WebInspector.ResourcesPanel.prototype.refreshResource): Call _resourceView 31224 to make the resource's view if needed. Use a local view variable. 31225 (WebInspector.ResourcesPanel.prototype._resourceView): Added helper function 31226 to create a resource view if needed. 31227 * page/inspector/SourceView.js: 31228 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Delete the 31229 _frameNeedsSetup property at the beginning to prevent recursion. Get the 31230 length of the messages array when assigning the local length variable. 31231 (WebInspector.SourceView.prototype.addMessage): Renamed from addMessageToSource. 31232 (WebInspector.SourceView.prototype.clearMessages): Added. Clear all the message 31233 bubbles that might be sprinkled in the source. Also clears the messages array. 31234 (WebInspector.SourceView.prototype._addMessageToSource): Create the image 31235 element in the Inspector's document so we can use relative image URLs. Then 31236 adopt the image element into the frame's document. 31237 31238 2008-04-15 Brady Eidson <beidson (a] apple.com> 31239 31240 Reviewed by Anders 31241 31242 Hook up event dispatching for window.localStorage changes. 31243 31244 Tests: storage/domstorage/localstorage/enumerate-storage.html 31245 storage/domstorage/localstorage/iframe-events.html 31246 storage/domstorage/localstorage/index-get-and-set.html 31247 storage/domstorage/localstorage/onstorage-attribute-markup.html 31248 storage/domstorage/localstorage/onstorage-attribute-setattribute.html 31249 storage/domstorage/localstorage/simple-events.html 31250 storage/domstorage/localstorage/simple-usage.html 31251 storage/domstorage/localstorage/window-open.html 31252 31253 * storage/LocalStorage.cpp: 31254 (WebCore::LocalStorage::dispatchStorageEvent): Walk every Page in the PageGroup, adding 31255 each Frame that matches the storage area's security origin to a Vector. Then dispatch 31256 the StorageEvent to each Frame in the Vector 31257 31258 * storage/SessionStorage.cpp: 31259 (WebCore::SessionStorage::dispatchStorageEvent): Adopt the technique used in LocalStorage, 31260 which is to only add the Frames to the Vector if their security origin matches 31261 31262 2008-04-15 Olivier Goffart <ogoffart (a] trolltech.com> 31263 31264 Reviewed by Simon. 31265 31266 Fixes: copy to clipboard when selecting, and paste when clicking with the middle button 31267 31268 * platform/Pasteboard.h: Added Qt-specific selection mode 31269 * platform/qt/PasteboardQt.cpp: Choose the clipboard or the selecton 31270 according to the selection mode 31271 (WebCore::Pasteboard::writeSelection): 31272 (WebCore::Pasteboard::plainText): 31273 (WebCore::Pasteboard::documentFragment): 31274 (WebCore::Pasteboard::writeURL): 31275 (WebCore::Pasteboard::clear): 31276 (WebCore::Pasteboard::isSelectionMode): 31277 31278 2008-04-15 Andre Poenitz <andre.poenitz (a] trolltech.com> 31279 31280 Reviewed by Simon. 31281 31282 Fix compilation with Qt namespaces 31283 31284 Qt can be configured to have all of its classes inside a specified namespaces. 31285 This is for example used in plugin/component environments like Eclipse. 31286 31287 This change makes it possible to let the Qt port compile against a namespaced 31288 Qt by the use of macros Qt provides to properly forward declare Qt classes in 31289 the namespace. 31290 31291 * WebCore.pro: 31292 * bridge/qt/qt_class.h: 31293 * bridge/qt/qt_instance.h: 31294 * html/HTMLCanvasElement.h: 31295 * platform/DragData.h: 31296 * platform/DragImage.h: 31297 * platform/KURL.h: 31298 * platform/PlatformKeyboardEvent.h: 31299 * platform/PlatformMouseEvent.h: 31300 * platform/PlatformWheelEvent.h: 31301 * platform/Widget.h: 31302 * platform/graphics/Color.h: 31303 * platform/graphics/FloatPoint.h: 31304 * platform/graphics/FloatRect.h: 31305 * platform/graphics/Gradient.h: 31306 * platform/graphics/GraphicsContext.h: 31307 * platform/graphics/ImageBuffer.h: 31308 * platform/graphics/ImageSource.h: 31309 * platform/graphics/IntPoint.h: 31310 * platform/graphics/IntRect.h: 31311 * platform/graphics/IntSize.h: 31312 * platform/graphics/Path.h: 31313 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 31314 * platform/graphics/qt/MediaPlayerPrivatePhonon.h: 31315 * platform/network/qt/QNetworkReplyHandler.h: 31316 * platform/network/qt/ResourceRequest.h: 31317 * platform/qt/ClipboardQt.h: 31318 * platform/qt/RenderThemeQt.h: 31319 * platform/text/PlatformString.h: 31320 * platform/text/qt/TextCodecQt.h: 31321 * svg/graphics/SVGPaintServer.h: 31322 * svg/graphics/SVGPaintServerGradient.h: 31323 31324 2008-04-14 Brady Eidson <beidson (a] apple.com> 31325 31326 Reviewed by Anders 31327 31328 Lay the underpinnings for LocalStorage. 31329 31330 For now, this just exposes window.localStorage to the dom which returns an in-memory Storage object, much 31331 like SessionStorage. The primary difference at this point is that the object returned is shared globally, 31332 and isn't copied for new top-level browsing contexts like SessionStorage. 31333 31334 Later, I'll add proper event dispatch and a persistent storage backing. 31335 31336 * GNUmakefile.am: 31337 * WebCore.base.exp: 31338 * WebCore.pro: 31339 * WebCore.vcproj/WebCore.vcproj: 31340 * WebCore.xcodeproj/project.pbxproj: 31341 * WebCoreSources.bkl: 31342 31343 * bindings/js/JSDOMWindowCustom.cpp: 31344 (WebCore::JSDOMWindow::mark): Mark the optionalLocalStorage 31345 31346 * page/DOMWindow.cpp: 31347 (WebCore::DOMWindow::clear): 31348 (WebCore::DOMWindow::localStorage): 31349 * page/DOMWindow.h: 31350 (WebCore::DOMWindow::optionalLocalStorage): 31351 31352 * storage/LocalStorage.cpp: Added. 31353 (WebCore::LocalStorage::sharedLocalStorage): 31354 (WebCore::LocalStorage::LocalStorage): 31355 (WebCore::LocalStorage::storageArea): 31356 (WebCore::LocalStorage::itemChanged): 31357 (WebCore::LocalStorage::itemRemoved): 31358 (WebCore::LocalStorage::dispatchStorageEvent): 31359 * storage/LocalStorage.h: Added. 31360 31361 * storage/SessionStorage.cpp: Refactor to use the client interface for event dispatching for sessionStorage objects 31362 (WebCore::SessionStorage::SessionStorage): 31363 (WebCore::SessionStorage::copy): 31364 (WebCore::SessionStorage::storageArea): 31365 (WebCore::SessionStorage::itemChanged): 31366 (WebCore::SessionStorage::itemRemoved): 31367 (WebCore::SessionStorage::dispatchStorageEvent): 31368 * storage/SessionStorage.h: 31369 31370 * storage/StorageArea.cpp: Add a client parameter, and call to the client when an item is changed or removed. 31371 (WebCore::StorageArea::create): 31372 (WebCore::StorageArea::StorageArea): 31373 (WebCore::StorageArea::copy): 31374 (WebCore::StorageArea::setItem): 31375 (WebCore::StorageArea::removeItem): 31376 (WebCore::StorageArea::setClient): 31377 * storage/StorageArea.h: 31378 (WebCore::StorageArea::page): 31379 (WebCore::StorageArea::securityOrigin): 31380 31381 * storage/StorageAreaClient.h: Added. Break out "itemChanged" and "itemRemoved" to a StorageAreaClient 31382 This way, both SessionStorage and LocalStorage areas can have different behavior on changes with 31383 that behavior managed from a central location. 31384 (WebCore::StorageAreaClient::~StorageAreaClient): 31385 (WebCore::StorageAreaClient::StorageAreaClient): 31386 (WebCore::StorageAreaClient::itemChanged): 31387 (WebCore::StorageAreaClient::itemRemoved): 31388 31389 2008-04-14 Brady Eidson <beidson (a] apple.com> 31390 31391 Reviewed by Anders 31392 31393 Add a hidden pref to debug WebArchive loading. With this pref on, when loading a WebArchive, 31394 if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the 31395 network and will instead fail the load with a "cannot show URL" error. 31396 31397 * loader/ResourceLoader.cpp: 31398 (WebCore::ResourceLoader::load): Do the check here. 31399 31400 * page/Settings.cpp: 31401 (WebCore::Settings::Settings): 31402 (WebCore::Settings::setWebArchiveDebugModeEnabled): 31403 * page/Settings.h: 31404 (WebCore::Settings::webArchiveDebugModeEnabled): 31405 31406 2008-04-14 Antti Koivisto <antti (a] apple.com> 31407 31408 Reviewed by Eric. 31409 31410 Some preparations for additive animations and animations in <use>. 31411 - Disallow animation elements in instance trees. 31412 - Fix buggy SVGUseElement::removeDisallowedElementsFromSubtree(), make it 31413 public and static 31414 - Invoke it from SVGElementInstance::updateInstance() to clean up the instance tree 31415 there as well. 31416 - Add mechanism for blocking instance updates when an animation changes 31417 the referenced tree. 31418 31419 The added assert in SVGSMILElement::insertedIntoDocument() verifies the fixes 31420 with the existing test cases. 31421 31422 * svg/SVGAElement.cpp: 31423 (WebCore::SVGAElement::defaultEventHandler): 31424 * svg/SVGElementInstance.cpp: 31425 (WebCore::SVGElementInstance::updateInstance): 31426 * svg/SVGStyledElement.cpp: 31427 (WebCore::SVGStyledElement::updateElementInstance): 31428 (WebCore::SVGStyledElement::setInstanceUpdatesBlocked): 31429 * svg/SVGStyledElement.h: 31430 * svg/SVGUseElement.cpp: 31431 (WebCore::isDisallowedElement): 31432 (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree): 31433 * svg/SVGUseElement.h: 31434 * svg/animation/SVGSMILElement.cpp: 31435 (WebCore::SVGSMILElement::insertedIntoDocument): 31436 (WebCore::SVGSMILElement::isSMILElement): 31437 (WebCore::SVGSMILElement::connectConditions): 31438 (WebCore::SVGSMILElement::disconnectConditions): 31439 * svg/animation/SVGSMILElement.h: 31440 31441 2008-04-14 Adam Roben <aroben (a] apple.com> 31442 31443 Don't let the inspected page overwrite properties of JS objects in the 31444 Inspector 31445 31446 <https://bugs.webkit.org/show_bug.cgi?id=16011> 31447 <rdar://problem/5604409> 31448 31449 <https://bugs.webkit.org/show_bug.cgi?id=16837> 31450 <rdar://problem/5813850> 31451 31452 Reviewed by Sam Weinig and Geoff Garen. 31453 31454 Tests (contributed by Adam Barth and Collin Jackson): 31455 manual-tests/inspector-wrappers 31456 31457 * GNUmakefile.am: 31458 * WebCore.pro: 31459 * WebCore.vcproj/WebCore.vcproj: 31460 * WebCore.xcodeproj/project.pbxproj: 31461 * WebCoreSources.bkl: 31462 Added new files to the projects. 31463 31464 * bindings/js/JSQuarantinedObjectWrapper.cpp: Added. 31465 (WebCore::JSQuarantinedObjectWrapper::asWrapper): Converts a JSValue 31466 into a JSQuarantinedObjectWrapper, if the JSValue is in fact a 31467 JSQuarantinedObjectWrapper. 31468 (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter): Callback to 31469 be used with PropertySlot. 31470 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): 31471 Hold onto the object we're wrapping and its global object. Pass the 31472 wrapped prototype up to the JSObject constructor. 31473 (WebCore::JSQuarantinedObjectWrapper::~JSQuarantinedObjectWrapper): 31474 (WebCore::JSQuarantinedObjectWrapper::unwrappedExecStateMatches): 31475 Returns true if our underlying object originated from the same global 31476 object as the passed-in ExecState. 31477 (WebCore::JSQuarantinedObjectWrapper::unwrappedExecState): 31478 (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState): 31479 Wraps and moves an exception from our underlying ExecState to the 31480 passed-in one. 31481 (WebCore::JSQuarantinedObjectWrapper::mark): Marks ourselves and the 31482 objects we're holding references to. 31483 31484 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): 31485 (WebCore::JSQuarantinedObjectWrapper::put): 31486 (WebCore::JSQuarantinedObjectWrapper::deleteProperty): 31487 (WebCore::JSQuarantinedObjectWrapper::implementsConstruct): 31488 (WebCore::JSQuarantinedObjectWrapper::construct): 31489 (WebCore::JSQuarantinedObjectWrapper::implementsHasInstance): 31490 (WebCore::JSQuarantinedObjectWrapper::hasInstance): 31491 (WebCore::JSQuarantinedObjectWrapper::implementsCall): 31492 (WebCore::JSQuarantinedObjectWrapper::callAsFunction): 31493 (WebCore::JSQuarantinedObjectWrapper::getPropertyNames): 31494 JSObject overrides. These each check the appropriate permission before 31495 allowing the call to proceed. We wrap all outgoing values using 31496 m_wrapOutgoingValue, and we prepare all incoming values with the 31497 virtual prepareIncomingValue function. If an exception is raised when 31498 calling the underlying object, we transfer the exception in wrapped 31499 form to the passed-in ExecState. 31500 31501 * bindings/js/JSQuarantinedObjectWrapper.h: Added. 31502 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): 31503 (WebCore::JSQuarantinedObjectWrapper::className): We return the 31504 underlying object's class name so that we can successfully masquerade 31505 as that underlying object when, e.g., Object.prototype.toString is 31506 called on us. 31507 (WebCore::JSQuarantinedObjectWrapper::classInfo): 31508 31509 (WebCore::JSQuarantinedObjectWrapper::allowsGetProperty): 31510 (WebCore::JSQuarantinedObjectWrapper::allowsSetProperty): 31511 (WebCore::JSQuarantinedObjectWrapper::allowsDeleteProperty): 31512 (WebCore::JSQuarantinedObjectWrapper::allowsConstruct): 31513 (WebCore::JSQuarantinedObjectWrapper::allowsHasInstance): 31514 (WebCore::JSQuarantinedObjectWrapper::allowsCallAsFunction): 31515 (WebCore::JSQuarantinedObjectWrapper::allowsGetPropertyNames): 31516 These virtual methods let subclasses define the allowed operations on 31517 the wrapped object. By default all operations are disabled. 31518 31519 * bindings/js/JSInspectedObjectWrapper.cpp: Added. This subclass of 31520 JSQuarantinedObjectWrapper is used to wrap objects from the inspected 31521 page being passed to the Inspector. 31522 (WebCore::wrappers): 31523 (WebCore::JSInspectedObjectWrapper::wrap): Wraps the passed-in object 31524 if needed and returns the wrapper. If this object has been wrapped 31525 previously we'll return the old wrapper rather than make a new one. 31526 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): Add 31527 ourselves to the wrapper map. 31528 (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): Remove 31529 ourselves from the wrapper map. 31530 (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Ensure that 31531 any objects passed to the inspected object are either wrappers around 31532 objects from the inspected page (in which case we unwrap them so that 31533 the inspected page never sees the wrapper), or wrapped callbacks from 31534 the Inspector. 31535 * bindings/js/JSInspectedObjectWrapper.h: Added. 31536 (WebCore::JSInspectedObjectWrapper::classInfo): 31537 (WebCore::JSInspectedObjectWrapper::allowsGetProperty): 31538 (WebCore::JSInspectedObjectWrapper::allowsSetProperty): 31539 (WebCore::JSInspectedObjectWrapper::allowsDeleteProperty): 31540 (WebCore::JSInspectedObjectWrapper::allowsConstruct): 31541 (WebCore::JSInspectedObjectWrapper::allowsHasInstance): 31542 (WebCore::JSInspectedObjectWrapper::allowsCallAsFunction): 31543 (WebCore::JSInspectedObjectWrapper::allowsGetPropertyNames): 31544 These all return true so that the Inspector can use objects from the 31545 inspected page however it needs. 31546 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue): Wrap all 31547 outgoing values as JSInspectedObjectWrappers. 31548 31549 * bindings/js/JSInspectorCallbackWrapper.cpp: Added. This subclass of 31550 JSQuarantinedObjectWrapper is used to wrap callbacks that the 31551 Inspector passes to the inspected page (e.g., for event listeners or 31552 client-side storage callbacks). 31553 (WebCore::wrappers): 31554 (WebCore::JSInspectorCallbackWrapper::wrap): Wraps the passed-in 31555 object if needed and returns the wrapper. If this object has been 31556 wrapped previously we'll return the old wrapper rather than make a new 31557 one. 31558 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper): Add 31559 ourselves to the wrapper map. 31560 (WebCore::JSInspectorCallbackWrapper::~JSInspectorCallbackWrapper): 31561 Remove ourselves from the wrapper map. 31562 (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue): Ensure 31563 that values passed from the inspected page to an Inspector callback 31564 are wrapped in JSInspectedObjectWrappers. We also allow the inspected 31565 page to pass ourselves in (which will happen in the case of a 31566 client-side storage callback, where the callback itself is passed as 31567 the `this` object). In this case we unwrap ourselves so that the 31568 Inspector doesn't have to deal with the wrapper. 31569 * bindings/js/JSInspectorCallbackWrapper.h: Added. 31570 (WebCore::JSInspectorCallbackWrapper::classInfo): 31571 (WebCore::JSInspectorCallbackWrapper::allowsCallAsFunction): 31572 This is the only allowed operation on a JSInspectorCallbackWrapper. 31573 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue): Wrap all 31574 outgoing values as JSInspectorCallbackWrappers. 31575 31576 * page/InspectorController.cpp: 31577 (WebCore::getResourceDocumentNode): Wrap the Document before passing 31578 it to the Inspector. 31579 (WebCore::highlightDOMNode): Unwrap the Node that the Inspector passed 31580 to us. 31581 (WebCore::databaseTableNames): Unwrap the Database that the Inspector 31582 passed to us. 31583 (WebCore::inspectedWindow): Wrap the Window before passing it to the 31584 Inspector. 31585 (WebCore::InspectorController::focusNode): Wrap the Node before 31586 passing it to the Inspector. 31587 (WebCore::wrapCallback): Wraps the passed-in callback in a 31588 JSInspectorCallbackWrapper. 31589 (WebCore::InspectorController::addDatabaseScriptResource): Wrap the 31590 Database beore pasing it to the Inspector. 31591 (WebCore::InspectorController::windowScriptObjectAvailable): Add the 31592 new wrapCallback function to the InspectorController JS object. 31593 31594 * page/inspector/ElementsPanel.js: 31595 (WebInspector.ElementsPanel.reset): Wrap the contentLoaded callback. 31596 31597 * page/inspector/DatabaseQueryView.js: 31598 (WebInspector.DatabaseQueryView._enterKeyPressed): 31599 * page/inspector/DatabaseTableView.js: 31600 (WebInspector.DatabaseTableView.update): 31601 Pass null instead of an empty array to executeSql since we're no 31602 longer allowed to pass any unwrapped objects to the inspected page. 31603 We now wrap all callbacks being passed to the inspected page using 31604 InspectorController.wrapCallback. 31605 31606 2008-04-14 Adam Roben <aroben (a] apple.com> 31607 31608 Use prototypes/constructors from the inspected page when operating on 31609 objects from the inspected page 31610 31611 Reviewed by Tim Hatcher. 31612 31613 * page/inspector/Console.js: 31614 (WebInspector.ConsolePanel._format): Use the Node constructor from the 31615 inspected Window with the instanceof operator. 31616 * page/inspector/ElementsPanel.js: 31617 (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Use the 31618 Element prototype from the inspected Window instead of the Element 31619 prototype from this Window. 31620 * page/inspector/inspector.js: 31621 (WebInspector.performSearch): Ditto for Document prototype. 31622 * page/inspector/utilities.js: 31623 (Object.type): Now takes an optional Window parameter that is used to 31624 find the built-in constructors. 31625 31626 2008-04-14 Adam Roben <aroben (a] apple.com> 31627 31628 Don't store objects from the Inspector on CSSStyleRules from the 31629 inspected page 31630 31631 Reviewed by Tim Hatcher. 31632 31633 * page/inspector/StylesSidebarPane.js: 31634 (WebInspector.StylesSidebarPane.update): Don't store raw CSSStyleRules 31635 from the inspected page in the styleRules array. Instead, always use a 31636 wrapper object. This will keep us from setting Inspector objects as 31637 properties of inspected objects. 31638 31639 2008-04-14 Timothy Hatcher <timothy (a] apple.com> 31640 31641 Fixes a regression where clicking a resource URL in the Console would not 31642 show the resource in the Resources panel. 31643 31644 https://bugs.webkit.org/show_bug.cgi?id=18493 31645 31646 Reviewed by Adam Roben. 31647 31648 * page/inspector/Console.js: 31649 (WebInspector.Console.prototype._messagesClicked): Removed console-message-url 31650 handling to show resources. This is now handled by WebInspector.showResourceForURL. 31651 (WebInspector.ConsoleMessage.prototype.toMessageElement): Add the webkit-html-resource-link 31652 class name to the URL anchor. Also add the line number as a property to the anchor. 31653 * page/inspector/ResourcesPanel.js: 31654 (WebInspector.ResourcesPanel): Add a reference to the tree element to each calculator. 31655 (WebInspector.ResourcesPanel.prototype.showResource): Select and reveal the resource in 31656 the sidebar. Call showLine on the resource view if it is implemented. 31657 (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Select the current calculator's 31658 tree element in the sidebar. 31659 (WebInspector.ResourcesPanel.prototype._graphSelected): Call closeVisibleResource after 31660 the calculator changes since closeVisibleResource uses the calculator. 31661 * page/inspector/SourceView.js: 31662 (WebInspector.SourceView.prototype.sourceRow): Early return if the line is null/zero. 31663 (WebInspector.SourceView.prototype.showLine): Renamed from showSourceLine. 31664 * page/inspector/inspector.css: 31665 (body.console-visible #main-panels): Made the bottom 24px to match 31666 the height of #main-status-bar. 31667 (.console-message-url): Make the color important so it wins over 31668 the .webkit-html-resource-link rule. 31669 (.resource-view .resource-view-content): Made more generic from .image 31670 so all resource views get sized correctly. 31671 (.resource-view.image .resource-view-content): Removed. 31672 * page/inspector/inspector.js: 31673 (WebInspector.documentClick): Pass the line number from the anchor to 31674 WebInspector.showResourceForURL. 31675 (WebInspector.showResourceForURL): Add line number support. Pass the line 31676 to ResourcesPanel.showResource. 31677 (WebInspector.addMainEventListeners): Use bind for the event listeners. 31678 31679 2008-04-14 Xan Lopez <xan (a] gnome.org> 31680 31681 Reviewed by Alp Toker. 31682 31683 http://bugs.webkit.org/show_bug.cgi?id=17917 31684 Bug 17917: Cookie support for HTTP soup backend 31685 31686 Initial implementation of cookies for the http soup backend. 31687 31688 Moved CookieJarGtk to CookieJarSoup in network/soup and left the original 31689 one as CookieJarCurl in network/curl. 31690 31691 * GNUmakefile.am: 31692 * platform/CookieJar.h: 31693 * platform/network/curl/CookieJarCurl.cpp: Renamed from WebCore/platform/gtk/CookieJarGtk.cpp. 31694 (WebCore::setCookies): 31695 (WebCore::cookies): 31696 * platform/network/soup/CookieJarSoup.cpp: Added. 31697 (WebCore::getCookieJar): 31698 (WebCore::setCookies): 31699 (WebCore::cookies): 31700 * platform/network/soup/ResourceHandleSoup.cpp: 31701 (WebCore::ResourceHandle::start): 31702 31703 2008-04-14 Holger Freyther <zecke (a] selfish.org> 31704 31705 Reviewed by Alp Toker. 31706 31707 https://bugs.webkit.org/show_bug.cgi?id=18411 31708 Enable Page caching and create FrameViews on the fly 31709 31710 Create the FrameView on the fly and cache pages 31711 31712 - Keep a copy of the GtkAdjustment to be able to reuse it for the 31713 FrameViews 31714 - Do not initially create a FrameView and update the WebKit code to 31715 cope with not having a view. 31716 - Cache seven pages by default. 31717 31718 * platform/gtk/ScrollViewGtk.cpp: 31719 (WebCore::ScrollView::setGtkAdjustments): 31720 31721 2008-04-14 David Hyatt <hyatt (a] apple.com> 31722 31723 Add a new optimized layout path for positioned objects that move. Also avoid always marking the <html> 31724 object for layout when it has a percentage height, since the RenderView already does that when its size 31725 changes. 31726 31727 Reviewed by mjs 31728 31729 * rendering/RenderBlock.cpp: 31730 (WebCore::RenderBlock::layoutBlockChildren): 31731 (WebCore::RenderBlock::layoutPositionedObjects): 31732 * rendering/RenderBox.h: 31733 (WebCore::RenderBox::layoutDoingPositionedMovementOnly): 31734 * rendering/RenderObject.cpp: 31735 (WebCore::RenderObject::RenderObject): 31736 (WebCore::RenderObject::setNeedsLayout): 31737 (WebCore::RenderObject::setChildNeedsLayout): 31738 (WebCore::RenderObject::setNeedsPositionedMovementLayout): 31739 (WebCore::RenderObject::setStyle): 31740 * rendering/RenderObject.h: 31741 (WebCore::RenderObject::needsLayout): 31742 (WebCore::RenderObject::needsPositionedMovementLayoutOnly): 31743 (WebCore::RenderObject::layoutDoingPositionedMovementOnly): 31744 * rendering/RenderStyle.cpp: 31745 (WebCore::positionedObjectMoved): 31746 (WebCore::RenderStyle::diff): 31747 * rendering/RenderStyle.h: 31748 (WebCore::RenderStyle::): 31749 31750 2008-04-14 David Hyatt <hyatt (a] apple.com> 31751 31752 Add support for gradients in the CSS content property. 31753 31754 Reviewed by olliej 31755 31756 Added fast/gradients/generated-gradients.html 31757 31758 * GNUmakefile.am: 31759 * WebCore.pro: 31760 * WebCore.vcproj/WebCore.vcproj: 31761 * WebCore.xcodeproj/project.pbxproj: 31762 * WebCoreSources.bkl: 31763 * css/CSSParser.cpp: 31764 (WebCore::CSSParser::parseContent): 31765 * css/CSSStyleSelector.cpp: 31766 (WebCore::CSSStyleSelector::applyProperty): 31767 (WebCore::CSSStyleSelector::styleImage): 31768 (WebCore::CSSStyleSelector::mapBackgroundImage): 31769 * css/CSSStyleSelector.h: 31770 * html/HTMLImageElement.cpp: 31771 (WebCore::HTMLImageElement::attach): 31772 * rendering/RenderContainer.cpp: 31773 (WebCore::RenderContainer::updateBeforeAfterContentForContainer): 31774 * rendering/RenderImage.cpp: 31775 (WebCore::RenderImage::RenderImage): 31776 (WebCore::RenderImage::setCachedImage): 31777 (WebCore::RenderImage::paintReplaced): 31778 (WebCore::RenderImage::calcReplacedWidth): 31779 (WebCore::RenderImage::calcReplacedHeight): 31780 (WebCore::RenderImage::calcAspectRatioWidth): 31781 (WebCore::RenderImage::calcAspectRatioHeight): 31782 * rendering/RenderImage.h: 31783 (WebCore::RenderImage::hasImage): 31784 (WebCore::RenderImage::image): 31785 (WebCore::RenderImage::errorOccurred): 31786 (WebCore::RenderImage::usesImageContainerSize): 31787 (WebCore::RenderImage::setImageContainerSize): 31788 (WebCore::RenderImage::imageHasRelativeWidth): 31789 (WebCore::RenderImage::imageHasRelativeHeight): 31790 (WebCore::RenderImage::imageSize): 31791 * rendering/RenderImageGeneratedContent.cpp: Added. 31792 (WebCore::RenderImageGeneratedContent::RenderImageGeneratedContent): 31793 (WebCore::RenderImageGeneratedContent::~RenderImageGeneratedContent): 31794 (WebCore::RenderImageGeneratedContent::setStyleImage): 31795 * rendering/RenderImageGeneratedContent.h: Added. 31796 (WebCore::RenderImageGeneratedContent::hasImage): 31797 (WebCore::RenderImageGeneratedContent::image): 31798 (WebCore::RenderImageGeneratedContent::errorOccurred): 31799 (WebCore::RenderImageGeneratedContent::usesImageContainerSize): 31800 (WebCore::RenderImageGeneratedContent::setImageContainerSize): 31801 (WebCore::RenderImageGeneratedContent::imageHasRelativeWidth): 31802 (WebCore::RenderImageGeneratedContent::imageHasRelativeHeight): 31803 (WebCore::RenderImageGeneratedContent::imageSize): 31804 * rendering/RenderObject.cpp: 31805 (WebCore::RenderObject::createObject): 31806 * rendering/RenderStyle.cpp: 31807 (WebCore::StyleCachedImage::imageHasRelativeWidth): 31808 (WebCore::StyleCachedImage::imageHasRelativeHeight): 31809 (WebCore::StyleCachedImage::usesImageContainerSize): 31810 (WebCore::RenderStyle::contentDataEquivalent): 31811 (WebCore::RenderStyle::setContent): 31812 (WebCore::ContentData::clear): 31813 * rendering/RenderStyle.h: 31814 (WebCore::StyleGeneratedImage::imageHasRelativeWidth): 31815 (WebCore::StyleGeneratedImage::imageHasRelativeHeight): 31816 (WebCore::StyleGeneratedImage::usesImageContainerSize): 31817 (WebCore::BackgroundLayer::setBackgroundImage): 31818 (WebCore::ContentData::): 31819 (WebCore::RenderStyle::setListStyleImage): 31820 31821 2008-04-14 Brady Eidson <beidson (a] apple.com> 31822 31823 Reviewed by Sam, but Anders too, and he was more thorough in his review 31824 and thats the only reason Sam beat him 31825 31826 Swap the Page and SecurityOrigin arguments when creating a StorageArea. 31827 31828 SecurityOrigin is really the primary identifying characteristic of a StorageArea, 31829 and StorageAreas that represent LocalStorage won't have an owner Page. 31830 31831 * storage/SessionStorage.cpp: 31832 (WebCore::SessionStorage::copy): 31833 (WebCore::SessionStorage::storageArea): 31834 31835 * storage/StorageArea.cpp: 31836 (WebCore::StorageArea::create): 31837 (WebCore::StorageArea::StorageArea): 31838 (WebCore::StorageArea::copy): 31839 (WebCore::StorageArea::dispatchStorageEvent): Null check m_page here, as in the future 31840 it might be null 31841 * storage/StorageArea.h: 31842 31843 2008-04-14 Timothy Hatcher <timothy (a] apple.com> 31844 31845 Add support for changing the sort order of the resources. The two sorting 31846 methods supported current are Time and Size. 31847 31848 Reviewed by Adam Roben. 31849 31850 * page/inspector/Images/statusbarMenuButton.png: Added. 31851 * page/inspector/Images/statusbarMenuButtonSelected.png: Added. 31852 * page/inspector/ResourcesPanel.js: 31853 (WebInspector.ResourcesPanel): Create the status bar menu button and 31854 setup the event listener to call _changeSortingFunction. Each option in 31855 the select references a sorting function. 31856 (WebInspector.ResourcesPanel.get statusBarItems): Add the sorting menu to the 31857 items returned. 31858 (WebInspector.ResourcesPanel._changeSortingFunction): Set the sorting function 31859 to the selected option's function in the sorting menu. 31860 * page/inspector/inspector.css: Added CSS rules for select elements in status bars. 31861 31862 2008-04-14 Timothy Hatcher <timothy (a] apple.com> 31863 31864 Add support for toggling between small and large resource rows 31865 in the Resources panel. 31866 31867 Reviewed by Adam Roben. 31868 31869 * English.lproj/InspectorLocalizedStrings.js: Added new tooltip string. 31870 * page/inspector/Images/largerResourcesButtons.png: Added. 31871 * page/inspector/Images/resourceDocumentIconSmall.png: Added. 31872 * page/inspector/Images/resourcePlainIconSmall.png: Added. 31873 * page/inspector/ResourcesPanel.js: 31874 (WebInspector.ResourcesPanel): Create the status bar button and 31875 setup the event listener to call _toggleLargerResources. 31876 (WebInspector.ResourcesPanel.get statusBarItems): Return the status bar button. 31877 (WebInspector.ResourcesPanel._toggleLargerResources): Toggle the class names 31878 for the resources children list and the status bar button. 31879 * page/inspector/inspector.css: New style rules for small resources 31880 and the status bar item. 31881 31882 2008-04-14 Chris Fleizach <cfleizach (a] apple.com> 31883 31884 Reviewed by Darin Adler 31885 31886 <rdar://problem/5854572> REGRESSION: AXPosition seems to be flipped in nightly build 31887 AX was using the wrong method to determine the view to use to create the screen position 31888 31889 * page/AccessibilityObject.cpp: 31890 (WebCore::AccessibilityObject::documentFrameView): 31891 * page/mac/AccessibilityObjectWrapper.mm: 31892 (-[AccessibilityObjectWrapper position]): 31893 31894 2008-04-14 David Smith <catfish.man (a] gmail.com> 31895 31896 Reviewed by Timothy Hatcher. 31897 31898 - Fix https://bugs.webkit.org/show_bug.cgi?id=14258 31899 Response time vs. download time should be shown in the network profile 31900 31901 * page/inspector/Resource.js: Change the sorting function to sort by response received time. 31902 * page/inspector/ResourcesPanel.js: Hook up the existing infrastructure to two bars instead of one; one for the total time, one for the time post-response. 31903 * page/inspector/inspector.css: Add a new rule to make the waiting bar have a lower opacity, and change the total bar opacity to handle the overlap 31904 31905 2008-04-14 Julien Chaffraix <jchaffraix (a] webkit.org> 31906 31907 Reviewed by Ap. 31908 31909 Bug 17403: WebKit Creates Invalid Xhtml Links with Ajax 31910 http://bugs.webkit.org/show_bug.cgi?id=17403 31911 31912 The previous code had callbacks for the normal parsing (full document) and fragment parsing. 31913 The difference was induced by the method we were using which did not accept a xmlParserCtxt. 31914 The code has been refactored to allow us to share the callbacks between the different cases. 31915 A drawback is that we have to use xmlParseContent which is an internal libxml method and thus 31916 some internal intialization is done in WebCore. 31917 31918 Test: fast/parser/ampersand-escaped-parseXMLFragment.xhtml 31919 31920 * dom/XMLTokenizer.cpp: 31921 (WebCore::createStringParser): Moved didInit in the global scope as it is shared by the 31922 2 create methods. 31923 31924 (WebCore::createMemoryParser): Create a memory parser similar to the previous code. 31925 Initialize the xmlParserContext to call xmlParseContent in parseXMLDocumentFragment. 31926 31927 (WebCore::XMLTokenizer::initializeParserContext): Check m_parsingFragment to know 31928 which create method to call. 31929 31930 * dom/XMLTokenizer.h: Added parseXMLDocumentFragment as a friend of XMLTokenizer. 31931 31932 2008-04-14 Rob Buis <buis (a] kde.org> 31933 31934 Reviewed by Eric. 31935 31936 http://bugs.webkit.org/show_bug.cgi?id=18230 31937 tspan in link not working 31938 31939 Implement SVG Errata: "The 'a' element may contain any 31940 element that its parent may contain, except itself." 31941 31942 * svg/SVGAElement.cpp: 31943 (WebCore::SVGAElement::childShouldCreateRenderer): 31944 31945 2008-04-13 David Hyatt <hyatt (a] apple.com> 31946 31947 Fix for bug 18466, WebKit exhibits slow performance on Opera DHTML benchmark. Improve layout's rect 31948 invalidation code to only invalidate a single unioned rect once enough individual little rects have 31949 been detected. 31950 31951 Reviewed by olliej 31952 31953 * page/FrameView.cpp: 31954 (WebCore::FrameViewPrivate::reset): 31955 (WebCore::FrameView::layout): 31956 (WebCore::FrameView::repaintRectangle): 31957 (WebCore::FrameView::beginDeferredRepaints): 31958 (WebCore::FrameView::endDeferredRepaints): 31959 * page/FrameView.h: 31960 31961 2008-04-13 Eric Seidel <eric (a] webkit.org> 31962 31963 Reviewed by Oliver. 31964 31965 Fix spelling error in function name, no test case. 31966 31967 * svg/SVGTextContentElement.cpp: 31968 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): 31969 31970 2008-04-13 Eric Seidel <eric (a] webkit.org> 31971 31972 Reviewed by Oliver. 31973 31974 Build fix for +SVG_ANIMATION -SVG_FOREIGN_OBJECT build, no tests. 31975 31976 * svg/SVGAnimateMotionElement.cpp: 31977 (WebCore::SVGAnimateMotionElement::hasValidTarget): 31978 31979 2008-04-13 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 31980 31981 Reviewed by Oliver Hunt. 31982 31983 http://bugs.webkit.org/show_bug.cgi?id=18239 31984 [Gtk] Build breaks if SVG is enabled but SVG Fonts disabled 31985 31986 * svg/SVGAltGlyphElement.idl: Add SVG_FONTS in Conditional 31987 31988 2008-04-13 Julien Chaffraix <jchaffraix (a] webkit.org> 31989 31990 Reviewed by David. 31991 31992 More SVG filters build fix. 31993 31994 * svg/graphics/filters/SVGFEImage.cpp: 31995 (WebCore::SVGFEImage::~SVGFEImage): 31996 (WebCore::SVGFEImage::setCachedImage): 31997 31998 2008-04-13 David Hyatt <hyatt (a] apple.com> 31999 32000 Fix build bustage on the filters SVG code path (not built by default). 32001 32002 * svg/SVGFEImageElement.cpp: 32003 (WebCore::SVGFEImageElement::~SVGFEImageElement): 32004 (WebCore::SVGFEImageElement::parseMappedAttribute): 32005 32006 2008-04-13 Dan Winship <danw (a] gnome.org> 32007 32008 Reviewed by Alp Toker. 32009 32010 http://bugs.webkit.org/show_bug.cgi?id=18391 32011 return body data incrementally from libsoup backend 32012 32013 Fix libsoup backend to pass data to the loader incrementally 32014 rather than all at once at the end. 32015 32016 * platform/network/soup/ResourceHandleSoup.cpp 32017 (ResourceHandle::start): connect to "got-headers" and "got-chunk" 32018 signals on the message 32019 (gotHeadersCallback): call client->didReceiveResponse() from here 32020 (gotChunkCallback): call client->didReceiveData() from here 32021 (finishedCallback): renamed from dataCallback. mostly just calls 32022 client->didFinishLoading() now. 32023 32024 2008-04-13 Dan Bernstein <mitz (a] apple.com> 32025 32026 Reviewed by Jessica Kahn. 32027 32028 - remove duplicate condition in canHaveChildrenForEditing() 32029 32030 * editing/htmlediting.cpp: 32031 (WebCore::canHaveChildrenForEditing): 32032 32033 2008-04-13 Dan Bernstein <mitz (a] apple.com> 32034 32035 Reviewed by Darin Adler. 32036 32037 - fix http://bugs.webkit.org/show_bug.cgi?id=18307 32038 <rdar://problem/5842546> REGRESSION (r31620): Incorrect Hiragino Kaku Gothic, font-weight:500 32039 32040 Test: fast/css/font-weight-1.html 32041 32042 * platform/graphics/mac/FontCacheMac.mm: 32043 (WebCore::toAppKitFontWeight): Adjusted the mapping to cover the AppKit 32044 weight range from 2 to 12, because AppKit weight 1 never occurs. The 32045 new mapping matches font-weight: n00 to ISO weight Wn. 32046 * platform/mac/WebFontCache.mm: 32047 (betterChoice): Changed the midpoint used when deciding between two 32048 candidates that deviate from the desired weight by the same amount. 32049 32050 2008-04-12 David Hyatt <hyatt (a] apple.com> 32051 32052 Memory management cleanup for the new StyleCachedImage and StyleGeneratedImage classes. Make the back end 32053 values hold refptrs to cached front end values. This will avoid malloc churn as RenderStyles get 32054 re-resolved. 32055 32056 Reviewed by olliej 32057 32058 * css/CSSCursorImageValue.cpp: 32059 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): 32060 (WebCore::CSSCursorImageValue::cachedImage): 32061 * css/CSSCursorImageValue.h: 32062 * css/CSSImageGeneratorValue.cpp: 32063 (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue): 32064 (WebCore::CSSImageGeneratorValue::generatedImage): 32065 * css/CSSImageGeneratorValue.h: 32066 * css/CSSImageValue.cpp: 32067 (WebCore::CSSImageValue::CSSImageValue): 32068 (WebCore::CSSImageValue::~CSSImageValue): 32069 (WebCore::CSSImageValue::cachedImage): 32070 * css/CSSImageValue.h: 32071 * css/CSSStyleSelector.cpp: 32072 (WebCore::CSSStyleSelector::applyProperty): 32073 (WebCore::CSSStyleSelector::createStyleImage): 32074 * css/CSSStyleSelector.h: 32075 * rendering/RenderStyle.h: 32076 (WebCore::StyleCachedImage::cachedImage): 32077 (WebCore::StyleGeneratedImage::StyleGeneratedImage): 32078 (WebCore::StyleGeneratedImage::data): 32079 32080 2008-04-12 Julien Chaffraix <jchaffraix (a] webkit.org> 32081 32082 Not reviewed, Qt build fix. 32083 32084 * dom/XMLTokenizer.cpp: 32085 (WebCore::XMLTokenizer::parseEndElement): 32086 * platform/graphics/qt/GraphicsContextQt.cpp: 32087 (WebCore::GraphicsContext::clip): 32088 * platform/qt/ClipboardQt.cpp: 32089 (WebCore::ClipboardQt::setDragImage): 32090 32091 2008-04-12 David Hyatt <hyatt (a] apple.com> 32092 32093 Add support for list-style-image gradients. Also improve the image comparisons between two RenderStyles 32094 to not mistakenly believe that images have changed. 32095 32096 Reviewed by olliej 32097 32098 Added fast/gradients/list-item-gradient.html 32099 32100 * css/CSSComputedStyleDeclaration.cpp: 32101 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 32102 * css/CSSParser.cpp: 32103 (WebCore::CSSParser::parseValue): 32104 * css/CSSStyleSelector.cpp: 32105 (WebCore::CSSStyleSelector::applyProperty): 32106 (WebCore::CSSStyleSelector::createStyleImage): 32107 * rendering/RenderListMarker.cpp: 32108 (WebCore::RenderListMarker::RenderListMarker): 32109 (WebCore::RenderListMarker::paint): 32110 (WebCore::RenderListMarker::imageChanged): 32111 (WebCore::RenderListMarker::calcPrefWidths): 32112 * rendering/RenderListMarker.h: 32113 * rendering/RenderStyle.cpp: 32114 (WebCore::imagesEquivalent): 32115 (WebCore::BorderImage::operator==): 32116 (WebCore::StyleCachedImage::errorOccurred): 32117 (WebCore::BackgroundLayer::operator==): 32118 (WebCore::StyleInheritedData::StyleInheritedData): 32119 (WebCore::cursorDataEquivalent): 32120 (WebCore::StyleInheritedData::operator==): 32121 (WebCore::RenderStyle::diff): 32122 * rendering/RenderStyle.h: 32123 (WebCore::StyleImage::errorOccurred): 32124 (WebCore::RenderStyle::listStyleImage): 32125 (WebCore::RenderStyle::setListStyleImage): 32126 (WebCore::RenderStyle::initialListStyleImage): 32127 32128 2008-04-12 Dan Bernstein <mitz (a] apple.com> 32129 32130 - Windows build fix 32131 32132 * platform/win/ClipboardWin.cpp: 32133 (WebCore::ClipboardWin::setDragImage): 32134 32135 2008-04-12 Kevin Ollivier <kevino (a] theolliviers.com> 32136 32137 wx build fix. Update clip to take a FloatRect. 32138 32139 * platform/graphics/wx/GraphicsContextWx.cpp: 32140 (WebCore::GraphicsContext::clip): 32141 32142 2008-04-12 David Hyatt <hyatt (a] apple.com> 32143 32144 Add gradient support to border-image (even though it's mostly just weird). 32145 32146 Reviewed by Dan 32147 32148 Added fast/gradients/border-image-gradient.html 32149 fast/gradients/border-image-gradient-sides-and-corners.html 32150 32151 * css/CSSBorderImageValue.h: 32152 (WebCore::CSSBorderImageValue::imageValue): 32153 * css/CSSStyleSelector.cpp: 32154 (WebCore::CSSStyleSelector::applyProperty): 32155 * platform/graphics/GeneratedImage.cpp: 32156 (WebCore::GeneratedImage::draw): 32157 * rendering/InlineFlowBox.cpp: 32158 (WebCore::InlineFlowBox::paintBoxDecorations): 32159 * rendering/RenderBox.cpp: 32160 (WebCore::RenderBox::imageChanged): 32161 * rendering/RenderObject.cpp: 32162 (WebCore::RenderObject::mustRepaintBackgroundOrBorder): 32163 (WebCore::RenderObject::paintBorderImage): 32164 (WebCore::RenderObject::paintBorder): 32165 (WebCore::RenderObject::updateBackgroundImages): 32166 (WebCore::RenderObject::arenaDelete): 32167 * rendering/RenderStyle.cpp: 32168 (WebCore::StyleCachedImage::isLoaded): 32169 * rendering/RenderStyle.h: 32170 (WebCore::StyleImage::isLoaded): 32171 (WebCore::BorderImage::image): 32172 32173 2008-04-11 Dan Bernstein <mitz (a] apple.com> 32174 32175 Reviewed by Dave Hyatt. 32176 32177 - fix a regression from r31324 which caused most Arabic text to render 32178 as missing glyphs 32179 32180 Test: svg/W3C-SVG-1.1/fonts-glyph-02-t.svg 32181 32182 * svg/SVGFont.cpp: 32183 (WebCore::SVGTextRunWalker::walk): Changed to always process characters 32184 in logical order and therefore dispatch the callbacks with a logically- 32185 ordered glyph stream. Changed the call to isCompatibleGlyph() to check 32186 for compatibility only with the range of characters the candidate glyph 32187 is derived from rather than with the entire lookup range. Changed to 32188 mark the <missing-glyph> glyph identifier as valid, to facilitate the 32189 use of invalid glyph identifiers to mark font fallback. 32190 (WebCore::drawTextUsingSVGFontCallback): Changed to only append the 32191 glyph identifier to a vector. 32192 (WebCore::drawTextMissingGlyphCallback): Changed to only append the 32193 character to a vector and append an invalid glyph identifier to the 32194 glyph vector. 32195 (WebCore::Font::drawTextUsingSVGFont): Moved the drawing from the 32196 callbacks into this function, iterating over the glyph and fallback 32197 characters vector in visual order. 32198 32199 2008-04-11 Dirk Schulze <vbs85 (a] gmx.de> 32200 32201 Reviewed by eseidel. 32202 32203 Attempt to fix Cairo build. 32204 32205 * platform/graphics/cairo/GraphicsContextCairo.cpp: 32206 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 32207 32208 2008-04-11 David Hyatt <hyatt (a] apple.com> 32209 32210 Rename CachedResource's ref/deref methods to addClient/removeClient. This matches the new 32211 StyleImage class and is a more accurate description of what those methods really do. 32212 32213 Reviewed by olliej 32214 32215 * WebCore.base.exp: 32216 * css/CSSCursorImageValue.cpp: 32217 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): 32218 * css/CSSFontFaceSource.cpp: 32219 (WebCore::CSSFontFaceSource::CSSFontFaceSource): 32220 (WebCore::CSSFontFaceSource::~CSSFontFaceSource): 32221 * css/CSSImageValue.cpp: 32222 (WebCore::CSSImageValue::~CSSImageValue): 32223 (WebCore::CSSImageValue::image): 32224 * css/CSSImportRule.cpp: 32225 (WebCore::CSSImportRule::~CSSImportRule): 32226 (WebCore::CSSImportRule::insertedIntoParent): 32227 * dom/ProcessingInstruction.cpp: 32228 (WebCore::ProcessingInstruction::~ProcessingInstruction): 32229 (WebCore::ProcessingInstruction::checkStyleSheet): 32230 (WebCore::ProcessingInstruction::parseStyleSheet): 32231 * dom/XMLTokenizer.cpp: 32232 (WebCore::XMLTokenizer::~XMLTokenizer): 32233 (WebCore::XMLTokenizer::endElementNs): 32234 (WebCore::XMLTokenizer::notifyFinished): 32235 * html/CanvasPattern.cpp: 32236 (WebCore::CanvasPattern::CanvasPattern): 32237 (WebCore::CanvasPattern::~CanvasPattern): 32238 * html/HTMLImageLoader.cpp: 32239 (WebCore::HTMLImageLoader::~HTMLImageLoader): 32240 (WebCore::HTMLImageLoader::setImage): 32241 (WebCore::HTMLImageLoader::updateFromElement): 32242 * html/HTMLLinkElement.cpp: 32243 (WebCore::HTMLLinkElement::~HTMLLinkElement): 32244 (WebCore::HTMLLinkElement::process): 32245 * html/HTMLScriptElement.cpp: 32246 (WebCore::HTMLScriptElement::~HTMLScriptElement): 32247 (WebCore::HTMLScriptElement::parseMappedAttribute): 32248 (WebCore::HTMLScriptElement::insertedIntoDocument): 32249 (WebCore::HTMLScriptElement::removedFromDocument): 32250 (WebCore::HTMLScriptElement::notifyFinished): 32251 * html/HTMLTokenizer.cpp: 32252 (WebCore::HTMLTokenizer::reset): 32253 (WebCore::HTMLTokenizer::scriptHandler): 32254 (WebCore::HTMLTokenizer::notifyFinished): 32255 * loader/CachedCSSStyleSheet.cpp: 32256 (WebCore::CachedCSSStyleSheet::addClient): 32257 * loader/CachedCSSStyleSheet.h: 32258 * loader/CachedFont.cpp: 32259 (WebCore::CachedFont::addClient): 32260 * loader/CachedFont.h: 32261 * loader/CachedImage.cpp: 32262 (WebCore::CachedImage::addClient): 32263 * loader/CachedImage.h: 32264 * loader/CachedResource.cpp: 32265 (WebCore::CachedResource::addClient): 32266 (WebCore::CachedResource::removeClient): 32267 * loader/CachedResource.h: 32268 * loader/CachedScript.cpp: 32269 (WebCore::CachedScript::addClient): 32270 * loader/CachedScript.h: 32271 * loader/CachedXBLDocument.h: 32272 * loader/CachedXSLStyleSheet.cpp: 32273 (WebCore::CachedXSLStyleSheet::addClient): 32274 * loader/CachedXSLStyleSheet.h: 32275 * loader/mac/UserStyleSheetLoader.cpp: 32276 (UserStyleSheetLoader::UserStyleSheetLoader): 32277 (UserStyleSheetLoader::~UserStyleSheetLoader): 32278 * platform/mac/ClipboardMac.mm: 32279 (WebCore::ClipboardMac::setDragImage): 32280 * rendering/RenderImage.cpp: 32281 (WebCore::RenderImage::~RenderImage): 32282 (WebCore::RenderImage::setCachedImage): 32283 * rendering/RenderListMarker.cpp: 32284 (WebCore::RenderListMarker::~RenderListMarker): 32285 (WebCore::RenderListMarker::setStyle): 32286 * rendering/RenderObject.cpp: 32287 (WebCore::RenderObject::updateBackgroundImages): 32288 (WebCore::RenderObject::arenaDelete): 32289 * rendering/RenderStyle.cpp: 32290 (WebCore::StyleCachedImage::addClient): 32291 (WebCore::StyleCachedImage::removeClient): 32292 * svg/SVGImageLoader.cpp: 32293 (WebCore::SVGImageLoader::updateFromElement): 32294 * xml/XSLImportRule.cpp: 32295 (WebCore::XSLImportRule::~XSLImportRule): 32296 (WebCore::XSLImportRule::loadSheet): 32297 32298 2008-04-11 David Hyatt <hyatt (a] apple.com> 32299 32300 This patch adds support for CSS gradients as background images. RenderStyles now hold a StyleImage 32301 RefPtr, which is a wrapper for two types of images: CachedImages (loaded from URLs) and generated images 32302 (patterns created on the fly such as gradients). 32303 32304 All of the features of <canvas> are supported: gradients can be linear or radial, have multiple stops, and 32305 can specify their points as percentages (for reusable gradients across different box sizes). 32306 32307 Reviewed by olliej 32308 32309 Added fast/gradients/simple-gradients.html 32310 32311 * WebCore.xcodeproj/project.pbxproj: 32312 * css/CSSBorderImageValue.cpp: 32313 (WebCore::CSSBorderImageValue::CSSBorderImageValue): 32314 * css/CSSBorderImageValue.h: 32315 (WebCore::CSSBorderImageValue::imageValue): 32316 (WebCore::CSSBorderImageValue::generatorValue): 32317 * css/CSSComputedStyleDeclaration.cpp: 32318 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 32319 * css/CSSGradientValue.cpp: Added. 32320 (WebCore::CSSGradientValue::cssText): 32321 (WebCore::CSSGradientValue::createGradient): 32322 (WebCore::CSSGradientValue::image): 32323 (WebCore::compareStops): 32324 (WebCore::CSSGradientValue::sortStopsIfNeeded): 32325 (WebCore::CSSGradientValue::resolvePoint): 32326 (WebCore::CSSGradientValue::resolveRadius): 32327 * css/CSSGradientValue.h: Added. 32328 (WebCore::CSSGradientColorStop::CSSGradientColorStop): 32329 (WebCore::CSSGradientValue::CSSGradientValue): 32330 (WebCore::CSSGradientValue::type): 32331 (WebCore::CSSGradientValue::setType): 32332 (WebCore::CSSGradientValue::setFirstX): 32333 (WebCore::CSSGradientValue::setFirstY): 32334 (WebCore::CSSGradientValue::setSecondX): 32335 (WebCore::CSSGradientValue::setSecondY): 32336 (WebCore::CSSGradientValue::setFirstRadius): 32337 (WebCore::CSSGradientValue::setSecondRadius): 32338 (WebCore::CSSGradientValue::addStop): 32339 * css/CSSImageGeneratorValue.cpp: Added. 32340 (WebCore::CSSImageGeneratorValue::~CSSImageGeneratorValue): 32341 (WebCore::CSSImageGeneratorValue::addClient): 32342 (WebCore::CSSImageGeneratorValue::removeClient): 32343 (WebCore::CSSImageGeneratorValue::getImage): 32344 (WebCore::CSSImageGeneratorValue::putImage): 32345 * css/CSSImageGeneratorValue.h: Added. 32346 (WebCore::CSSImageGeneratorValue::isImageGeneratorValue): 32347 * css/CSSImageValue.h: 32348 (WebCore::CSSImageValue::isImageValue): 32349 * css/CSSParser.cpp: 32350 (WebCore::CSSParser::parseBackgroundImage): 32351 (WebCore::BorderImageParseContext::commitImage): 32352 (WebCore::CSSParser::parseBorderImage): 32353 (WebCore::parseGradientPoint): 32354 (WebCore::parseGradientColorStop): 32355 (WebCore::CSSParser::parseGradient): 32356 * css/CSSParser.h: 32357 * css/CSSStyleSelector.cpp: 32358 (WebCore::CSSStyleSelector::applyProperty): 32359 (WebCore::CSSStyleSelector::createStyleImage): 32360 (WebCore::CSSStyleSelector::mapBackgroundImage): 32361 * css/CSSStyleSelector.h: 32362 * css/CSSValue.h: 32363 (WebCore::CSSValue::isImageValue): 32364 (WebCore::CSSValue::isImageGeneratorValue): 32365 * html/CanvasRenderingContext2D.cpp: 32366 (WebCore::CanvasRenderingContext2D::isPointInPath): 32367 * platform/graphics/BitmapImage.cpp: 32368 (WebCore::BitmapImage::BitmapImage): 32369 (WebCore::BitmapImage::dataChanged): 32370 (WebCore::BitmapImage::frameCount): 32371 * platform/graphics/BitmapImage.h: 32372 * platform/graphics/GraphicsContext.cpp: 32373 (WebCore::GraphicsContext::clipToImageBuffer): 32374 * platform/graphics/GraphicsContext.h: 32375 * platform/graphics/ImageBuffer.h: 32376 (WebCore::ImageBuffer::cgImage): 32377 (WebCore::ImageBuffer::image): 32378 * platform/graphics/cg/GraphicsContextCG.cpp: 32379 (WebCore::GraphicsContext::clipToImageBuffer): 32380 (WebCore::GraphicsContext::paintBuffer): 32381 (WebCore::GraphicsContext::drawImage): 32382 * platform/graphics/cg/ImageBufferCG.cpp: 32383 (WebCore::ImageBuffer::create): 32384 (WebCore::ImageBuffer::ImageBuffer): 32385 (WebCore::ImageBuffer::~ImageBuffer): 32386 (WebCore::ImageBuffer::image): 32387 (WebCore::ImageBuffer::getImageData): 32388 (WebCore::ImageBuffer::putImageData): 32389 (WebCore::ImageBuffer::toDataURL): 32390 * platform/graphics/cg/ImageCG.cpp: 32391 (WebCore::BitmapImage::BitmapImage): 32392 (WebCore::BitmapImage::draw): 32393 (WebCore::Image::drawPattern): 32394 * platform/graphics/qt/ImageQt.cpp: 32395 (WebCore::BitmapImage::BitmapImage): 32396 * rendering/InlineFlowBox.cpp: 32397 (WebCore::InlineFlowBox::paintBackground): 32398 * rendering/RenderBox.cpp: 32399 (WebCore::RenderBox::calculateBackgroundSize): 32400 (WebCore::RenderBox::imageChanged): 32401 (WebCore::RenderBox::paintBackgroundExtended): 32402 * rendering/RenderObject.cpp: 32403 (WebCore::RenderObject::mustRepaintBackgroundOrBorder): 32404 (WebCore::RenderObject::updateBackgroundImages): 32405 (WebCore::RenderObject::arenaDelete): 32406 * rendering/RenderStyle.cpp: 32407 (WebCore::StyleCachedImage::cssValue): 32408 (WebCore::StyleCachedImage::canRender): 32409 (WebCore::StyleCachedImage::imageSize): 32410 (WebCore::StyleCachedImage::setImageContainerSize): 32411 (WebCore::StyleCachedImage::addClient): 32412 (WebCore::StyleCachedImage::removeClient): 32413 (WebCore::StyleCachedImage::image): 32414 (WebCore::StyleGeneratedImage::cssValue): 32415 (WebCore::StyleGeneratedImage::imageSize): 32416 (WebCore::StyleGeneratedImage::setImageContainerSize): 32417 (WebCore::StyleGeneratedImage::addClient): 32418 (WebCore::StyleGeneratedImage::removeClient): 32419 (WebCore::StyleGeneratedImage::image): 32420 * rendering/RenderStyle.h: 32421 (WebCore::StyleImage::StyleImage): 32422 (WebCore::StyleImage::~StyleImage): 32423 (WebCore::StyleImage::operator==): 32424 (WebCore::StyleImage::canRender): 32425 (WebCore::StyleImage::isCachedImage): 32426 (WebCore::StyleImage::isGeneratedImage): 32427 (WebCore::StyleCachedImage::StyleCachedImage): 32428 (WebCore::StyleCachedImage::data): 32429 (WebCore::StyleCachedImage::isCachedImage): 32430 (WebCore::StyleGeneratedImage::StyleGeneratedImage): 32431 (WebCore::StyleGeneratedImage::data): 32432 (WebCore::StyleGeneratedImage::isGeneratedImage): 32433 (WebCore::BackgroundLayer::backgroundImage): 32434 (WebCore::BackgroundLayer::setBackgroundImage): 32435 (WebCore::BackgroundLayer::containsImage): 32436 (WebCore::RenderStyle::backgroundImage): 32437 (WebCore::RenderStyle::initialBackgroundImage): 32438 * svg/graphics/cg/SVGPaintServerGradientCg.cpp: 32439 (WebCore::SVGPaintServerGradient::teardown): 32440 * svg/graphics/cg/SVGResourceMaskerCg.mm: 32441 (WebCore::SVGResourceMasker::applyMask): 32442 32443 2008-04-11 Dan Bernstein <mitz (a] apple.com> 32444 32445 Reviewed by Oliver Hunt. 32446 32447 - add SVGGlyphMap.h to project files 32448 32449 * WebCore.vcproj/WebCore.vcproj: 32450 * WebCore.xcodeproj/project.pbxproj: 32451 32452 2008-04-11 Anders Carlsson <andersca (a] apple.com> 32453 32454 Fix release build. 32455 32456 * WebCore.base.exp: 32457 32458 * loader/archive/ArchiveResource.h: 32459 (WebCore::ArchiveResource::response): 32460 This should be const. 32461 32462 2008-04-11 Antti Koivisto <antti (a] apple.com> 32463 32464 Try to fix Qt build. 32465 32466 * svg/animation/SMILTime.cpp: 32467 32468 2008-04-11 Anders Carlsson <andersca (a] apple.com> 32469 32470 Reviewed by Brady. 32471 32472 Don't create the ArchiveResource response lazily. 32473 32474 * loader/archive/ArchiveResource.cpp: 32475 (WebCore::ArchiveResource::ArchiveResource): 32476 * loader/archive/ArchiveResource.h: 32477 (WebCore::ArchiveResource::response): 32478 32479 2008-04-11 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 32480 32481 Reviewed by Mark Rowe. 32482 32483 Added missing '\' in the svg include path 32484 32485 * GNUmakefile.am: 32486 32487 2008-04-11 Antti Koivisto <antti (a] apple.com> 32488 32489 Another attempted Qt build fix. 32490 32491 * WebCore.pro: 32492 32493 2008-04-11 Antti Koivisto <antti (a] apple.com> 32494 32495 Reviewed by Oliver. 32496 32497 Fix build when SVG is enabled but SVG_ANIMATION is not. 32498 32499 * ChangeLog: 32500 * bindings/js/JSSVGElementWrapperFactory.cpp: 32501 * bindings/objc/DOM.mm: 32502 (WebCore::createElementClassMap): 32503 * svg/SVGAElement.cpp: 32504 (WebCore::SVGAElement::defaultEventHandler): 32505 * svg/SVGAnimateColorElement.cpp: 32506 * svg/SVGAnimateColorElement.h: 32507 * svg/SVGAnimateColorElement.idl: 32508 * svg/SVGAnimateMotionElement.h: 32509 * svg/SVGAnimationElement.cpp: 32510 (WebCore::SVGAnimationElement::animationMode): 32511 * svg/SVGAnimationElement.h: 32512 * svg/SVGAnimationElement.idl: 32513 * svg/SVGSetElement.cpp: 32514 * svg/SVGSetElement.h: 32515 * svg/SVGSetElement.idl: 32516 * svg/animation/SMILTimeContainer.cpp: 32517 (WebCore::SMILTimeContainer::begin): 32518 (WebCore::SMILTimeContainer::pause): 32519 (WebCore::SMILTimeContainer::resume): 32520 (WebCore::SMILTimeContainer::elapsed): 32521 (WebCore::SMILTimeContainer::isPaused): 32522 (WebCore::SMILTimeContainer::timerFired): 32523 * svg/animation/SMILTimeContainer.h: 32524 * svg/animation/SVGSMILElement.cpp: 32525 * svg/animation/SVGSMILElement.h: 32526 * svg/svgtags.in: 32527 32528 2008-04-11 Anders Carlsson <andersca (a] apple.com> 32529 32530 Reviewed by Brady. 32531 32532 Move archive loading from FrameLoader to DocumentLoader. 32533 32534 * loader/DocumentLoader.cpp: 32535 (WebCore::DocumentLoader::DocumentLoader): 32536 (WebCore::DocumentLoader::clearArchiveResources): 32537 (WebCore::DocumentLoader::deliverArchivedResourcesAfterDelay): 32538 (WebCore::DocumentLoader::archiveResourceDeliveryTimerFired): 32539 (WebCore::DocumentLoader::isArchiveLoadPending): 32540 (WebCore::DocumentLoader::cancelPendingArchiveLoad): 32541 (WebCore::DocumentLoader::scheduleArchiveLoad): 32542 (WebCore::DocumentLoader::setDefersLoading): 32543 * loader/DocumentLoader.h: 32544 * loader/FrameLoader.cpp: 32545 (WebCore::FrameLoader::FrameLoader): 32546 (WebCore::FrameLoader::setDefersLoading): 32547 (WebCore::FrameLoader::stopAllLoaders): 32548 * loader/FrameLoader.h: 32549 * loader/ResourceLoader.cpp: 32550 (WebCore::ResourceLoader::load): 32551 (WebCore::ResourceLoader::didCancel): 32552 32553 2008-04-11 Timothy Hatcher <timothy (a] apple.com> 32554 32555 Fixes the regression where the DOM tree does not update when navigating 32556 to another page with the Inspector open. 32557 32558 https://bugs.webkit.org/show_bug.cgi?id=18418 32559 32560 Reviewed by Adam Roben. 32561 32562 * page/inspector/ElementsPanel.js: 32563 (WebInspector.ElementsPanel.prototype.reset): If the inspected document does not have a 32564 firstChild yet, add an event listener for DOMContentLoaded. The event listener just sets 32565 a proeprty that a polling functions looks for then triggers the reset. 32566 (WebInspector.ElementsPanel.prototype._focusedNodeChanged): Always call updateStyles with 32567 forceUpdate as true. This makes sure the Styles pane clears when there isn't a focused node. 32568 32569 2008-04-11 Dan Bernstein <mitz (a] apple.com> 32570 32571 Reviewed by Timothy Hatcher. 32572 32573 - fix http://bugs.webkit.org/show_bug.cgi?id=18412 32574 Inspector truncates text when editing a CSS property 32575 32576 * page/inspector/inspector.css: 32577 32578 2008-04-11 Antti Koivisto <antti (a] apple.com> 32579 32580 Try to fix Qt build by including some headers. 32581 32582 * ChangeLog: 32583 * platform/graphics/UnitBezier.h: 32584 * svg/SVGAnimationElement.cpp: 32585 * svg/animation/SMILTime.h: 32586 * svg/animation/SVGSMILElement.cpp: 32587 32588 2008-04-11 Antti Koivisto <antti (a] apple.com> 32589 32590 Try to fix Windows build by switching to std::sort(). 32591 32592 * svg/animation/SVGSMILElement.cpp: 32593 (WebCore::sortTimeList): 32594 32595 2008-04-11 Rob Buis <buis (a] kde.org> 32596 32597 Reviewed by Eric. 32598 32599 http://bugs.webkit.org/show_bug.cgi?id=18340 32600 Elements with display="none" in a <clipPath> still contribute to clipping path 32601 32602 Skip elements in clip-path container that have display=none specified. 32603 32604 * svg/SVGClipPathElement.cpp: 32605 (WebCore::SVGClipPathElement::canvasResource): 32606 32607 2008-04-10 Antti Koivisto <antti (a] apple.com> 32608 32609 Reviewed by Eric. 32610 32611 Redo the SVG animation support. 32612 32613 It does 32614 - Full SMIL interval timing model including syncbase and event base timing (the hard part). 32615 - CSS and XML attribute animation. 32616 - Linear, discrete and spline calcModes. 32617 - Values animation with keyTimes and keySplines. 32618 - Link activated animations. 32619 - Pretty good support for <animate> and <set> animations 32620 - Basic support for <animateColor>, <animateMotion> and <animateTransform>. 32621 32622 This passes some 35 of the 56 tests in W3C SVG animation test suite, a bunch more 32623 with some subtest failures. 32624 32625 What is still missing 32626 - Additive animation with multiple animations operating on the same property. This is a 32627 major architectural feature in animation code. It shouldn't be too hard to add. 32628 - Only <animate> implements accumulate. 32629 - <animateMotion> does not do paths, keypoints, rotate. 32630 - <animateTransform> does not work correctly in all cases 32631 - calcMode paced is missing. 32632 - repeat, beginEvent, endEvent are missing. 32633 - accesskey() is missing. 32634 - JS does not see correct values for baseVal/animVal, changing values that are being 32635 animted for a script produces wrong results. This problem needs to be solved outside 32636 the animation code. 32637 - Some other stuff I forgot or do not know about. 32638 32639 * GNUmakefile.am: 32640 * WebCore.pro: 32641 * WebCore.vcproj/WebCore.vcproj: 32642 * WebCore.xcodeproj/project.pbxproj: 32643 * dom/Document.cpp: 32644 * history/CachedPage.cpp: 32645 (WebCore::CachedPage::CachedPage): 32646 32647 Use cache notification mechanism to start/stop animations. 32648 32649 * svg/SVGAElement.cpp: 32650 (WebCore::SVGAElement::defaultEventHandler): 32651 32652 Start target animation on link activation. 32653 32654 * svg/SVGAnimateColorElement.cpp: 32655 (WebCore::SVGAnimateColorElement::applyAnimatedValueToElement): 32656 (WebCore::SVGAnimateColorElement::updateAnimatedValue): 32657 (WebCore::SVGAnimateColorElement::calculateFromAndToValues): 32658 (WebCore::SVGAnimateColorElement::calculateFromAndByValues): 32659 * svg/SVGAnimateColorElement.h: 32660 * svg/SVGAnimateElement.cpp: 32661 (WebCore::SVGAnimateElement::SVGAnimateElement): 32662 (WebCore::parseNumberValueAndUnit): 32663 (WebCore::SVGAnimateElement::applyAnimatedValueToElement): 32664 (WebCore::SVGAnimateElement::updateAnimatedValue): 32665 (WebCore::isColorAttribute): 32666 (WebCore::SVGAnimateElement::calculateFromAndToValues): 32667 (WebCore::SVGAnimateElement::calculateFromAndByValues): 32668 * svg/SVGAnimateElement.h: 32669 (WebCore::SVGAnimateElement::): 32670 * svg/SVGAnimateMotionElement.cpp: 32671 (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement): 32672 (WebCore::SVGAnimateMotionElement::parseMappedAttribute): 32673 (WebCore::SVGAnimateMotionElement::updateAnimatedValue): 32674 (WebCore::parsePoint): 32675 (WebCore::SVGAnimateMotionElement::calculateFromAndToValues): 32676 (WebCore::SVGAnimateMotionElement::calculateFromAndByValues): 32677 (WebCore::SVGAnimateMotionElement::applyAnimatedValueToElement): 32678 (WebCore::SVGAnimateMotionElement::startedActiveInterval): 32679 * svg/SVGAnimateMotionElement.h: 32680 * svg/SVGAnimateTransformElement.cpp: 32681 (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement): 32682 (WebCore::SVGAnimateTransformElement::hasValidTarget): 32683 (WebCore::SVGAnimateTransformElement::updateAnimatedValue): 32684 (WebCore::transformListFor): 32685 (WebCore::SVGAnimateTransformElement::applyAnimatedValueToElement): 32686 (WebCore::SVGAnimateTransformElement::calculateFromAndToValues): 32687 (WebCore::SVGAnimateTransformElement::calculateFromAndByValues): 32688 (WebCore::SVGAnimateTransformElement::startedActiveInterval): 32689 (WebCore::SVGAnimateTransformElement::parseTransformValue): 32690 * svg/SVGAnimateTransformElement.h: 32691 32692 Concrete anmation element classes. 32693 32694 * svg/SVGAnimationElement.cpp: 32695 (WebCore::SVGAnimationElement::SVGAnimationElement): 32696 (WebCore::SVGAnimationElement::~SVGAnimationElement): 32697 (WebCore::parseKeyTimes): 32698 (WebCore::parseKeySplines): 32699 (WebCore::SVGAnimationElement::parseMappedAttribute): 32700 (WebCore::SVGAnimationElement::attributeChanged): 32701 (WebCore::SVGAnimationElement::getStartTime): 32702 (WebCore::SVGAnimationElement::getCurrentTime): 32703 (WebCore::SVGAnimationElement::getSimpleDuration): 32704 (WebCore::SVGAnimationElement::beginElement): 32705 (WebCore::SVGAnimationElement::beginElementAt): 32706 (WebCore::SVGAnimationElement::endElement): 32707 (WebCore::SVGAnimationElement::endElementAt): 32708 (WebCore::SVGAnimationElement::animationMode): 32709 (WebCore::SVGAnimationElement::calcMode): 32710 (WebCore::SVGAnimationElement::attributeType): 32711 (WebCore::SVGAnimationElement::toValue): 32712 (WebCore::SVGAnimationElement::byValue): 32713 (WebCore::SVGAnimationElement::fromValue): 32714 (WebCore::SVGAnimationElement::attributeName): 32715 (WebCore::SVGAnimationElement::isAdditive): 32716 (WebCore::SVGAnimationElement::isAccumulated): 32717 (WebCore::SVGAnimationElement::hasValidTarget): 32718 (WebCore::SVGAnimationElement::targetAttributeIsCSS): 32719 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): 32720 (WebCore::SVGAnimationElement::targetAttributeBaseValue): 32721 (WebCore::solveEpsilon): 32722 (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): 32723 (WebCore::SVGAnimationElement::startedActiveInterval): 32724 (WebCore::SVGAnimationElement::applyAnimation): 32725 (WebCore::SVGAnimationElement::unapplyAnimation): 32726 (WebCore::SVGAnimationElement::endedActiveInterval): 32727 * svg/SVGAnimationElement.h: 32728 (WebCore::SVGAnimationElement::): 32729 32730 This is pretty much a complete rewrite of the SVGAnimationElement. Timing related functionality 32731 was refactored to SMILTimingElement class that this class now inherits. 32732 32733 * svg/SVGDocumentExtensions.cpp: 32734 (WebCore::SVGDocumentExtensions::startAnimations): 32735 * svg/SVGElement.cpp: 32736 (WebCore::SVGElement::ownerSVGElement): 32737 * svg/SVGSVGElement.cpp: 32738 32739 We need to reach the <svg> element from <use> too so go out from the shadow tree. 32740 32741 (WebCore::SVGSVGElement::SVGSVGElement): 32742 (WebCore::SVGSVGElement::~SVGSVGElement): 32743 (WebCore::SVGSVGElement::pauseAnimations): 32744 (WebCore::SVGSVGElement::unpauseAnimations): 32745 (WebCore::SVGSVGElement::animationsPaused): 32746 (WebCore::SVGSVGElement::getCurrentTime): 32747 (WebCore::SVGSVGElement::willSaveToCache): 32748 (WebCore::SVGSVGElement::willRestoreFromCache): 32749 * svg/SVGSVGElement.h: 32750 (WebCore::SVGSVGElement::timeContainer): 32751 * svg/SVGSetElement.cpp: 32752 (WebCore::SVGSetElement::applyAnimatedValueToElement): 32753 (WebCore::SVGSetElement::calculateFromAndToValues): 32754 (WebCore::SVGSetElement::calculateFromAndByValues): 32755 (WebCore::SVGSetElement::updateAnimatedValue): 32756 * svg/SVGSetElement.h: 32757 32758 Concrete anmation element classes. 32759 32760 * svg/SVGTimer.cpp: Removed. 32761 * svg/SVGTimer.h: Removed. 32762 * svg/SVGUseElement.cpp: 32763 (WebCore::SVGUseElement::removedFromDocument): 32764 * svg/TimeScheduler.cpp: Removed. 32765 * svg/TimeScheduler.h: Removed. 32766 32767 Replaced these with SMILTimeContainer class. 32768 32769 * svg/animation: Added. 32770 * svg/animation/SMILTime.cpp: Added. 32771 (WebCore::operator+): 32772 (WebCore::operator-): 32773 (WebCore::operator*): 32774 * svg/animation/SMILTime.h: Added. 32775 (WebCore::SMILTime::SMILTime): 32776 (WebCore::SMILTime::unresolved): 32777 (WebCore::SMILTime::indefinite): 32778 (WebCore::SMILTime::operator=): 32779 (WebCore::SMILTime::value): 32780 (WebCore::SMILTime::isFinite): 32781 (WebCore::SMILTime::isIndefinite): 32782 (WebCore::SMILTime::isUnresolved): 32783 (WebCore::operator==): 32784 (WebCore::operator!=): 32785 (WebCore::operator>): 32786 (WebCore::operator<): 32787 (WebCore::operator>=): 32788 (WebCore::operator<=): 32789 (WebCore::max): 32790 (WebCore::min): 32791 32792 A floating point number with special values "indefinite" and "unresolved". Defines math for those. 32793 32794 * svg/animation/SMILTimeContainer.cpp: Added. 32795 (WebCore::SMILTimeContainer::SMILTimeContainer): 32796 (WebCore::SMILTimeContainer::schedule): 32797 (WebCore::SMILTimeContainer::unschedule): 32798 (WebCore::SMILTimeContainer::elapsed): 32799 (WebCore::SMILTimeContainer::isActive): 32800 (WebCore::SMILTimeContainer::isPaused): 32801 (WebCore::SMILTimeContainer::begin): 32802 (WebCore::SMILTimeContainer::pause): 32803 (WebCore::SMILTimeContainer::resume): 32804 (WebCore::SMILTimeContainer::startTimer): 32805 (WebCore::SMILTimeContainer::timerFired): 32806 (WebCore::SMILTimeContainer::updateAnimations): 32807 * svg/animation/SMILTimeContainer.h: Added. 32808 32809 Manages the clock and time line for active animations in a document. 32810 32811 * svg/animation/SVGSMILElement.cpp: Added. 32812 (WebCore::ConditionEventListener::ConditionEventListener): 32813 (WebCore::ConditionEventListener::handleEvent): 32814 (WebCore::SVGSMILElement::Condition::Condition): 32815 (WebCore::SVGSMILElement::SVGSMILElement): 32816 (WebCore::SVGSMILElement::~SVGSMILElement): 32817 (WebCore::SVGSMILElement::insertedIntoDocument): 32818 (WebCore::SVGSMILElement::removedFromDocument): 32819 (WebCore::SVGSMILElement::finishParsingChildren): 32820 (WebCore::SVGSMILElement::parseOffsetValue): 32821 (WebCore::SVGSMILElement::parseClockValue): 32822 (WebCore::smilTimeSortFunction): 32823 (WebCore::sortTimeList): 32824 (WebCore::SVGSMILElement::parseCondition): 32825 (WebCore::SVGSMILElement::isTimingElement): 32826 (WebCore::SVGSMILElement::parseBeginOrEnd): 32827 (WebCore::SVGSMILElement::parseMappedAttribute): 32828 (WebCore::SVGSMILElement::attributeChanged): 32829 (WebCore::SVGSMILElement::connectConditions): 32830 (WebCore::SVGSMILElement::disconnectConditions): 32831 (WebCore::SVGSMILElement::reschedule): 32832 (WebCore::SVGSMILElement::targetElement): 32833 (WebCore::SVGSMILElement::elapsed): 32834 (WebCore::SVGSMILElement::restart): 32835 (WebCore::SVGSMILElement::fill): 32836 (WebCore::SVGSMILElement::xlinkHref): 32837 (WebCore::SVGSMILElement::dur): 32838 (WebCore::SVGSMILElement::repeatDur): 32839 (WebCore::SVGSMILElement::repeatCount): 32840 (WebCore::SVGSMILElement::maxValue): 32841 (WebCore::SVGSMILElement::minValue): 32842 (WebCore::SVGSMILElement::simpleDuration): 32843 (WebCore::SVGSMILElement::addBeginTime): 32844 (WebCore::SVGSMILElement::addEndTime): 32845 (WebCore::SVGSMILElement::findInstanceTime): 32846 (WebCore::SVGSMILElement::repeatingDuration): 32847 (WebCore::SVGSMILElement::resolveActiveEnd): 32848 (WebCore::SVGSMILElement::resolveInterval): 32849 (WebCore::SVGSMILElement::resolveFirstInterval): 32850 (WebCore::SVGSMILElement::resolveNextInterval): 32851 (WebCore::SVGSMILElement::nextProgressTime): 32852 (WebCore::SVGSMILElement::beginListChanged): 32853 (WebCore::SVGSMILElement::endListChanged): 32854 (WebCore::SVGSMILElement::checkRestart): 32855 (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat): 32856 (WebCore::SVGSMILElement::calculateNextProgressTime): 32857 (WebCore::SVGSMILElement::determineActiveState): 32858 (WebCore::SVGSMILElement::progress): 32859 (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): 32860 (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase): 32861 (WebCore::SVGSMILElement::addTimeDependent): 32862 (WebCore::SVGSMILElement::removeTimeDependent): 32863 (WebCore::SVGSMILElement::handleConditionEvent): 32864 (WebCore::SVGSMILElement::beginByLinkActivation): 32865 * svg/animation/SVGSMILElement.h: Added. 32866 (WebCore::SVGSMILElement::timeContainer): 32867 (WebCore::SVGSMILElement::): 32868 (WebCore::SVGSMILElement::intervalBegin): 32869 (WebCore::SVGSMILElement::intervalEnd): 32870 (WebCore::SVGSMILElement::Condition::): 32871 32872 This abstract class implements the SMIL timing model. As an output it produces calls 32873 to these virtual functions: 32874 32875 virtual void startedActiveInterval() = 0; 32876 virtual void applyAnimation(float percent, unsigned repeat) = 0; 32877 virtual void unapplyAnimation() = 0; 32878 virtual void endedActiveInterval() = 0; 32879 32880 2008-04-10 Antti Koivisto <antti (a] apple.com> 32881 32882 Reviewed by Eric. 32883 32884 Move CurveData out from AnimationController.cpp and rename 32885 it to UnitBezier. This makes it possible to reuse this nice class from the 32886 SVG animation code. 32887 32888 * WebCore.vcproj/WebCore.vcproj: 32889 * WebCore.xcodeproj/project.pbxproj: 32890 * page/AnimationController.cpp: 32891 (WebCore::solveCubicBezierFunction): 32892 * platform/graphics/UnitBezier.h: Added. 32893 (WebCore::UnitBezier::UnitBezier): 32894 (WebCore::UnitBezier::sampleCurveX): 32895 (WebCore::UnitBezier::sampleCurveY): 32896 (WebCore::UnitBezier::sampleCurveDerivativeX): 32897 (WebCore::UnitBezier::solveCurveX): 32898 (WebCore::UnitBezier::solve): 32899 32900 2008-04-10 Brady Eidson <beidson (a] apple.com> 32901 32902 Reviewed by Sam Weinig 32903 32904 The name "OriginStorage" never felt right to a few of us. The HTML5 spec refers to our 32905 concept of "OriginStorage" as a "storage area", which makes more sense here. 32906 32907 This patch is basically: 32908 s/OriginStorage/StorageArea/ 32909 32910 * GNUmakefile.am: 32911 * WebCore.pro: 32912 * WebCore.vcproj/WebCore.vcproj: 32913 * WebCore.xcodeproj/project.pbxproj: 32914 * WebCoreSources.bkl: 32915 32916 * loader/FrameLoader.cpp: 32917 32918 * page/DOMWindow.cpp: 32919 (WebCore::DOMWindow::sessionStorage): 32920 * page/Page.cpp: 32921 32922 * storage/OriginStorage.cpp: Removed. 32923 * storage/OriginStorage.h: Removed. 32924 32925 * storage/SessionStorage.cpp: 32926 (WebCore::SessionStorage::copy): 32927 (WebCore::SessionStorage::storageArea): 32928 * storage/SessionStorage.h: 32929 32930 * storage/Storage.cpp: 32931 (WebCore::Storage::create): 32932 (WebCore::Storage::Storage): 32933 (WebCore::Storage::length): 32934 (WebCore::Storage::key): 32935 (WebCore::Storage::getItem): 32936 (WebCore::Storage::setItem): 32937 (WebCore::Storage::removeItem): 32938 (WebCore::Storage::contains): 32939 * storage/Storage.h: 32940 32941 * storage/StorageArea.cpp: Copied from storage/OriginStorage.cpp. 32942 (WebCore::StorageArea::create): 32943 (WebCore::StorageArea::StorageArea): 32944 (WebCore::StorageArea::~StorageArea): 32945 (WebCore::StorageArea::copy): 32946 (WebCore::StorageArea::length): 32947 (WebCore::StorageArea::key): 32948 (WebCore::StorageArea::getItem): 32949 (WebCore::StorageArea::setItem): 32950 (WebCore::StorageArea::removeItem): 32951 (WebCore::StorageArea::contains): 32952 (WebCore::StorageArea::dispatchStorageEvent): 32953 * storage/StorageArea.h: Copied from storage/OriginStorage.h. 32954 32955 2008-04-10 Xan Lopez <xan (a] gnome.org> 32956 32957 Reviewed by Alp Toker. 32958 32959 http://bugs.webkit.org/show_bug.cgi?id=18342 32960 Bug #18342 - Add logging to HTTP soup backend 32961 32962 Add soup logging facilities to HTTP soup backend. 32963 Enable defining WEBKIT_SOUP_LOGGING, with values from 32964 0 to 3 for more verbosity. 32965 32966 * platform/network/soup/ResourceHandleSoup.cpp: 32967 (WebCore::ResourceHandle::start): 32968 32969 2008-04-10 Timothy Hatcher <timothy (a] apple.com> 32970 32971 Fixes floating point precision in the Resources graph labels by using String.sprintf to 32972 format the values. Also makes the image view use Number.bytesToString when showing the file 32973 size. Makes Number.bytesToString and Number.secondsToString take an optional formatter function 32974 so the Inspector can pass WebInspector.UIString, so the format strings can be localized. 32975 32976 https://bugs.webkit.org/show_bug.cgi?id=18381 32977 https://bugs.webkit.org/show_bug.cgi?id=14333 32978 32979 Reviewed by Adam Roben. 32980 32981 * English.lproj/InspectorLocalizedStrings.js: Added the new strings. 32982 * page/inspector/ImageView.js: 32983 (WebInspector.ImageView): Use Number.bytesToString to format this.resource.contentLength. 32984 * page/inspector/ResourcesPanel.js: 32985 (WebInspector.ResourceTransferTimeCalculator.prototype.formatValue): Pass WebInspector.UIString 32986 to Number.secondsToString. 32987 (WebInspector.ResourceTransferSizeCalculator.prototype.formatValue): Pass WebInspector.UIString 32988 to Number.bytesToString. 32989 * page/inspector/utilities.js: 32990 (Number.secondsToString): Added a formatterFunction argument. Use the formatter and format strings 32991 to control the number precision. 32992 (Number.bytesToString): Ditto. 32993 32994 2008-04-010 Alice Liu <alice.liu (a] apple.com> 32995 32996 Reviewed by Dan Bernstein. 32997 32998 Fixed <rdar://5815856> CrashTracer: [USER] 8384 crashes in WebCore::Widget::getView const + 6 32999 33000 Test: fast/events/mouseout-dead-subframe.html 33001 33002 * page/EventHandler.cpp: 33003 dispatching a mouse event can change the document structure, necessitating 33004 a check for whether we still want to pass the event to the pre-determined subframe 33005 (WebCore::EventHandler::handleMouseMoveEvent): 33006 33007 2008-04-10 Antti Koivisto <antti (a] apple.com> 33008 33009 Reviewed by Eric. 33010 33011 Fix scale transform. This will be tested by the animation test suite when 33012 SVG animation support lands. 33013 33014 * svg/SVGTransformDistance.cpp: 33015 (WebCore::SVGTransformDistance::SVGTransformDistance): 33016 33017 2008-04-10 David Hyatt <hyatt (a] apple.com> 33018 33019 Add a gradient fillRect method to GraphicsContext. This is implemented only in the CG port. I stubbed 33020 out a method in GraphicsContext.cpp with notImplemented(). Other platforms will need to add their own 33021 gradient fill methods. 33022 33023 Reviewed by aroben 33024 33025 * platform/graphics/GraphicsContext.cpp: 33026 (WebCore::GraphicsContext::fillRect): 33027 * platform/graphics/GraphicsContext.h: 33028 * platform/graphics/cg/GraphicsContextCG.cpp: 33029 (WebCore::GraphicsContext::fillRect): 33030 33031 2008-04-10 David Hyatt <hyatt (a] apple.com> 33032 33033 Gradient improvements. Support for adding color stops by Color and not just by String. Add the ability to mark 33034 stops as already being sorted. 33035 33036 Reviewed by aroben 33037 33038 * platform/graphics/Gradient.cpp: 33039 (WebCore::Gradient::addColorStop): 33040 * platform/graphics/Gradient.h: 33041 (WebCore::Gradient::setStopsSorted): 33042 33043 2008-04-10 Timothy Hatcher <timothy (a] apple.com> 33044 33045 Fixes the build where some wtf headers would not be copied due 33046 to a bug in some older versions of Xcode. 33047 33048 Rubber-stamped by Adam Roben. 33049 33050 * WebCore.xcodeproj/project.pbxproj: Adds a new script phase to handle 33051 the copying of the icu and ForwardingHeaders folder to WebCore's PrivateHeaders. 33052 Removes the old copy files phase and the icu and ForwardingHeaders folder references. 33053 33054 2008-04-09 Brady Eidson <beidson (a] apple.com> 33055 33056 Reviewed by Mitz Pettel 33057 33058 Add the "onstorage" attribute for the body element to provide easy setup of StorageEvent handling. 33059 33060 Tests: storage/domstorage/sessionstorage/onstorage-attribute-markup.html 33061 storage/domstorage/sessionstorage/onstorage-attribute-setattribute.html 33062 33063 * html/HTMLAttributeNames.in: Added "onstorage" 33064 * html/HTMLBodyElement.cpp: 33065 (WebCore::HTMLBodyElement::parseMappedAttribute): Handle this attribute on the body element *only* 33066 because that's where the HTML5 spec says StorageEvents go. This might change in the future 33067 33068 2008-04-09 Antti Koivisto <antti (a] apple.com> 33069 33070 Reviewed by Mitz. 33071 33072 Remove a less-than-critical bit from Node and replace it with a hash. Those bits are valuable! 33073 33074 Also moved setting of the guard to dispatchSimulatedClick for better consistency. 33075 No one else calls dispatchSimulatedMouseEvent() currently and this is really a click() specific behavior. 33076 33077 * dom/EventTargetNode.cpp: 33078 (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): 33079 (WebCore::EventTargetNode::dispatchSimulatedClick): 33080 * dom/Node.cpp: 33081 (WebCore::Node::Node): 33082 * dom/Node.h: 33083 33084 2008-04-09 Sam Weinig <sam (a] webkit.org> 33085 33086 Reviewed by Geoffrey Garen. 33087 33088 Fix for https://bugs.webkit.org/show_bug.cgi?id=18389 33089 Crash in JSDOMWindowWrapper::mark loading digg.com 33090 33091 - Add a null check to JSDOMWindowWrapper::mark for the case when the collector 33092 runs during its allocation. 33093 - Cleans up the creation of the window to be a little more straight forward. 33094 33095 * bindings/js/JSDOMWindowBase.cpp: 33096 (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate): 33097 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 33098 (WebCore::JSDOMWindowBase::clear): 33099 (WebCore::JSDOMWindowBase::wrapper): 33100 * bindings/js/JSDOMWindowBase.h: 33101 * bindings/js/JSDOMWindowWrapper.cpp: 33102 (WebCore::JSDOMWindowWrapper::JSDOMWindowWrapper): 33103 (WebCore::JSDOMWindowWrapper::mark): 33104 * bindings/js/JSDOMWindowWrapper.h: 33105 * bindings/js/kjs_proxy.cpp: 33106 (WebCore::KJSProxy::initScript): 33107 * bindings/scripts/CodeGeneratorJS.pm: 33108 33109 2008-04-09 Brady Eidson <beidson (a] apple.com> 33110 33111 Rubberstamped by Mitzpettel 33112 33113 Added HTMLAttributeNames.in and HTMLTagNames.in to the xcodeproj for easy editing, 33114 and sorted the html group 33115 33116 * WebCore.xcodeproj/project.pbxproj: 33117 33118 2008-04-09 Brent Fulgham <bfulgham (a] gmail.com> 33119 33120 Reviewed by Mitz. 33121 33122 Correct build regression in Windows (Cairo) build due to changes 33123 in FontDescription.h signature. (see http://bugs.webkit.org/show_bug.cgi?id=18394) 33124 33125 * rendering/RenderThemeWin.cpp: Change for new font methods. 33126 (WebCore::RenderThemeWin::systemFont): 33127 33128 2008-04-09 Brady Eidson <beidson (a] apple.com> 33129 33130 Reviewed by Sam Weinig 33131 33132 When enumerating a Storage object, the Storage built-ins should not be included, but the 33133 prototype chain SHOULD be included. 33134 33135 * bindings/js/JSStorageCustom.cpp: 33136 (WebCore::JSStorage::customGetPropertyNames): Return false so the prototype chain is walked 33137 33138 * storage/Storage.idl: Mark all built-ins as "DontEnum" 33139 33140 2008-04-09 Brady Eidson <beidson (a] apple.com> 33141 33142 Reviewed by Adam Roben 33143 33144 Per the HTML5 spec, enumerating a Storage object should walk the keys in the storage area, 33145 and should not return the built-in properties. 33146 33147 Test: storage/domstorage/sessionstorage/enumerate-storage.html 33148 33149 * bindings/js/JSLocationCustom.cpp: 33150 (WebCore::JSLocation::customGetPropertyNames): Removed the name from an unused parameter 33151 33152 * bindings/js/JSStorageCustom.cpp: 33153 (WebCore::JSStorage::customGetPropertyNames): Copy all of the keys into the property names array 33154 33155 * storage/Storage.idl: Add CustomGetPropertyNames 33156 33157 2008-04-09 Timothy Hatcher <timothy (a] apple.com> 33158 33159 Fixes the regression where resource time/size pills do not 33160 update during a load in the Inspector. 33161 33162 http://bugs.webkit.org/show_bug.cgi?id=18374 33163 33164 Reviewed by John Sullivan. 33165 33166 * page/inspector/ResourcesPanel.js: 33167 (ResourcesPanel.prototype.show): Remove an unneeded call to _updateGraphBars, 33168 since _updateSidebarWidth already calls _updateGraphBars. 33169 (ResourcesPanel.prototype.addResource): Call updateGraphSideWidth. 33170 (ResourcesPanel.prototype._updateGraphBars): Ditto. 33171 (ResourceSidebarTreeElement.prototype.updateGraphSideWidth): Update the 33172 style for graphSideElement with the passed in width. 33173 33174 2008-04-09 Antti Koivisto <antti (a] apple.com> 33175 33176 Reviewed by Mitz. 33177 33178 Avoid unnecessary calls to virtual updateStyleAttributeIfNeeded() method. 33179 - do the the checking in call sites instead of inside the function 33180 - rename to updateStyleAttribute() 33181 - use namedAttrMap directly (for getting id attribute) in insertedIntoDocument/removedFromDocument 33182 to avoid calling attributes() which may trigger style attribute update. 33183 33184 * dom/Element.cpp: 33185 (WebCore::Element::attributes): 33186 (WebCore::Element::getAttribute): 33187 (WebCore::Element::hasAttributes): 33188 (WebCore::Element::insertedIntoDocument): 33189 (WebCore::Element::removedFromDocument): 33190 * dom/Element.h: 33191 (WebCore::Element::updateStyleAttribute): 33192 * dom/NamedAttrMap.cpp: 33193 (WebCore::NamedAttrMap::addAttribute): 33194 * dom/StyledElement.cpp: 33195 (WebCore::StyledElement::updateStyleAttribute): 33196 * dom/StyledElement.h: 33197 33198 2008-04-09 Timothy Hatcher <timothy (a] apple.com> 33199 33200 A more complete fix for: can't drag the Web Inspector when grabbing 33201 in the toolbar area. Makes dragging under the search field in the 33202 empty space work again. 33203 33204 http://bugs.webkit.org/show_bug.cgi?id=18373 33205 33206 Reviewed by Adam Roben. 33207 33208 * page/inspector/inspector.js: 33209 (WebInspector.toolbarDragStart): Prevent dragging if the event target 33210 is a toggleable toolbar item. Allow dragging when the target is a 33211 normal toolbar item. 33212 33213 2008-04-08 Sam Weinig <sam (a] webkit.org> 33214 33215 Reviewed by Timothy Hatcher. 33216 33217 Fix for http://bugs.webkit.org/show_bug.cgi?id=18373 33218 REGRESSION: Can't drag the Web Inspector when grabbing in the toolbar area 33219 33220 * page/inspector/inspector.css: 33221 33222 2008-04-08 Christian Persch <chpe (a] gnome.org> 33223 33224 Reviewed by Alp Toker. 33225 33226 http://bugs.webkit.org/show_bug.cgi?id=18360 33227 "missing sentinel" warnings in PluginDatabaseGtk.cpp 33228 33229 Use NULL, not 0 as sentinel in varargs calls. 33230 33231 * plugins/gtk/PluginDatabaseGtk.cpp: 33232 (WebCore::PluginDatabase::getPluginPathsInDirectories): 33233 (WebCore::PluginDatabase::defaultPluginDirectories): 33234 33235 2008-04-04 Sam Weinig <sam (a] webkit.org> 33236 33237 Reviewed by Geoffrey Garen. 33238 33239 First step in implementing the "split window" 33240 33241 - This patch takes the first step in changing the window navigation model 33242 from clearing the window properties on navigation, to replacing 33243 an inner window. This is necessary to safely perform security checks 33244 using the lexical global object. 33245 33246 This first step adds a new class called JSDOMWindowWrapper, which wraps 33247 the real window object. All JS calls that would go to the window object 33248 now go to it, which it forwards to the current inner window. To accomplish 33249 this, the wrapper window is used as the ThisValue wherever the window was used 33250 before. 33251 33252 * WebCore.base.exp: 33253 * WebCore.xcodeproj/project.pbxproj: 33254 * bindings/js/JSDOMWindowBase.cpp: 33255 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 33256 (WebCore::JSDOMWindowBase::clear): Reset the wrapper windows prototype too. 33257 (WebCore::JSDOMWindowBase::toThisObject): 33258 (WebCore::JSDOMWindowBase::wrapper): 33259 (WebCore::windowProtoFuncAToB): 33260 (WebCore::windowProtoFuncBToA): 33261 (WebCore::windowProtoFuncOpen): 33262 (WebCore::windowProtoFuncSetTimeout): 33263 (WebCore::windowProtoFuncClearTimeout): 33264 (WebCore::windowProtoFuncSetInterval): 33265 (WebCore::windowProtoFuncAddEventListener): 33266 (WebCore::windowProtoFuncRemoveEventListener): 33267 (WebCore::windowProtoFuncShowModalDialog): 33268 (WebCore::windowProtoFuncNotImplemented): 33269 (WebCore::toJS): 33270 * bindings/js/JSDOMWindowBase.h: 33271 Fix to expect the wrapper as the thisObj. 33272 * bindings/js/JSDOMWindowCustom.cpp: 33273 (WebCore::JSDOMWindow::postMessage): 33274 (WebCore::toDOMWindow): 33275 * bindings/js/JSDOMWindowWrapper.cpp: Added. 33276 (WebCore::JSDOMWindowWrapper::JSDOMWindowWrapper): 33277 (WebCore::JSDOMWindowWrapper::~JSDOMWindowWrapper): 33278 (WebCore::JSDOMWindowWrapper::mark): 33279 (WebCore::JSDOMWindowWrapper::className): 33280 (WebCore::JSDOMWindowWrapper::getOwnPropertySlot): 33281 (WebCore::JSDOMWindowWrapper::put): 33282 (WebCore::JSDOMWindowWrapper::deleteProperty): 33283 (WebCore::JSDOMWindowWrapper::getPropertyNames): 33284 (WebCore::JSDOMWindowWrapper::getPropertyAttributes): 33285 (WebCore::JSDOMWindowWrapper::defineGetter): 33286 (WebCore::JSDOMWindowWrapper::defineSetter): 33287 (WebCore::JSDOMWindowWrapper::lookupGetter): 33288 (WebCore::JSDOMWindowWrapper::lookupSetter): 33289 (WebCore::JSDOMWindowWrapper::toGlobalObject): 33290 (WebCore::JSDOMWindowWrapper::impl): 33291 (WebCore::JSDOMWindowWrapper::disconnectFrame): 33292 (WebCore::JSDOMWindowWrapper::clear): 33293 (WebCore::toJS): 33294 * bindings/js/JSDOMWindowWrapper.h: Added. 33295 (WebCore::JSDOMWindowWrapper::innerWindow): 33296 (WebCore::JSDOMWindowWrapper::setInnerWindow): 33297 (WebCore::JSDOMWindowWrapper::classInfo): 33298 Forward methods to the innerWindow. 33299 * bindings/js/JSHTMLDocumentCustom.cpp: 33300 (WebCore::JSHTMLDocument::open): 33301 * bindings/js/ScheduledAction.cpp: 33302 (WebCore::ScheduledAction::execute): 33303 * bindings/js/kjs_events.cpp: 33304 (WebCore::JSAbstractEventListener::handleEvent): 33305 * bindings/js/kjs_proxy.cpp: 33306 (WebCore::KJSProxy::~KJSProxy): 33307 (WebCore::KJSProxy::evaluate): 33308 (WebCore::KJSProxy::clear): 33309 (WebCore::KJSProxy::initScript): 33310 (WebCore::KJSProxy::clearDocumentWrapper): 33311 (WebCore::KJSProxy::processingUserGesture): 33312 (WebCore::KJSProxy::attachDebugger): 33313 * bindings/js/kjs_proxy.h: 33314 (WebCore::KJSProxy::haveWindowWrapper): 33315 (WebCore::KJSProxy::windowWrapper): 33316 (WebCore::KJSProxy::globalObject): 33317 (WebCore::KJSProxy::initScriptIfNeeded): 33318 Hold onto the wrapper window instead of global object. As a convenience, 33319 keep the globalObject() as a forward to the inner window. 33320 * bindings/objc/DOMUtility.mm: 33321 (KJS::createDOMWrapper): 33322 * bindings/scripts/CodeGeneratorJS.pm: 33323 * dom/Document.cpp: 33324 (WebCore::Document::domWindow): 33325 * dom/Document.h: 33326 (WebCore::Document::defaultView): 33327 * loader/FrameLoader.cpp: 33328 (WebCore::FrameLoader::dispatchWindowObjectAvailable): 33329 * page/DOMWindow.idl: 33330 * page/Frame.cpp: 33331 (WebCore::Frame::~Frame): 33332 (WebCore::Frame::pageDestroyed): 33333 33334 2008-04-08 Brady Eidson <beidson (a] apple.com> 33335 33336 Encourage Windows to rebuild - AGAIN... 33337 33338 * WebCore.vcproj/build-generated-files.sh: 33339 * bindings/scripts/CodeGenerator.pm: 33340 * bindings/scripts/CodeGeneratorJS.pm: 33341 * config.h: 33342 33343 2008-04-08 Brady Eidson <beidson (a] apple.com> 33344 33345 OMG release builds didn't have this flag Windows build bots I'm so 33346 sorry will you ever forgive me? 33347 33348 (Found by Stephanie, rubberstamped and landed by Brady) 33349 33350 * WebCore.vcproj/WebCore.vcproj: Add ENABLE_DOM_STORAGE for release builds 33351 33352 2008-04-08 Timothy Hatcher <timothy (a] apple.com> 33353 33354 Fixes a crash in KJS::JSValue::toObject when closing 33355 Safari with Inspector open. 33356 33357 http://bugs.webkit.org/show_bug.cgi?id=18371 33358 33359 Reviewed by Adam Roben. 33360 33361 * page/InspectorController.cpp: 33362 (WebCore::inspectedWindow): NULL check the result of toJSDOMWindow. 33363 Return JSNull if JSDOMWindow is 0. 33364 * page/inspector/ElementsPanel.js: 33365 (ElementsPanel.prototype.reset): NULL check the result of 33366 InspectorController.inspectedWindow. 33367 33368 2008-04-08 Adam Roben <aroben (a] apple.com> 33369 33370 Wx build fix 33371 33372 * webcore-wx.bkl: Removed entry for non-existent file. 33373 33374 2008-04-08 Adam Roben <aroben (a] apple.com> 33375 33376 qmake build fixes 33377 33378 * WebCore.pro: Removed entries for non-existent files. 33379 33380 2008-04-08 Brady Eidson <beidson (a] apple.com> 33381 33382 Rubberstamped by Adam Roben 33383 33384 Touch some files to *strongly* encourage Windows to rebuilt with DOM_STORAGE enabled 33385 33386 * WebCore.vcproj/build-generated-files.sh: 33387 * bindings/scripts/CodeGenerator.pm: 33388 * config.h: 33389 33390 2008-04-08 Timothy Hatcher <timothy (a] apple.com> 33391 33392 Implements the majority of the Inspector UI refresh as shown at: 33393 http://trac.webkit.org/projects/webkit/wiki/ProposedWebInspectorUIRefresh 33394 33395 http://bugs.webkit.org/show_bug.cgi?id=17773 33396 33397 A few areas that have not been re-implemented with the new UI are: 33398 * Search and search results. 33399 * Request and response headers in the Resources panel. 33400 * Changing the sorting, grouping or toggling small rows in Resources. 33401 * Image and font previews in the icon of resources. 33402 33403 Reviewed by Adam Roben. 33404 33405 * English.lproj/InspectorLocalizedStrings.js: Updated to match actual strings. 33406 * WebCore.vcproj/WebCore.vcproj: Added new files. 33407 * page/InspectorController.cpp: 33408 (WebCore::InspectorController::setWindowVisible): Call resetScriptObjects() 33409 instead of individual clear functions. 33410 (WebCore::InspectorController::populateScriptObjects): Renamed from 33411 populateScriptResources. 33412 (WebCore::InspectorController::addDatabaseScriptResource): Call 33413 addDatabase instead of addResource. 33414 (WebCore::InspectorController::removeDatabaseScriptResource): Call 33415 removeDatabase instead of removeResource. 33416 (WebCore::InspectorController::resetScriptObjects): Renamed from 33417 clearScriptResources. 33418 (WebCore::InspectorController::didCommitLoad): Call resetScriptObjects() 33419 instead of individual clear functions. 33420 * page/InspectorController.h: Rename functions. 33421 * page/inspector/Console.js: Changed the object name to Console from 33422 ConsolePanel. Made it inherit the prototype from View. Added code 33423 to animate in and out. 33424 * page/inspector/Database.js: Removed title updating and Resource 33425 pseudo-subclassing. Made more of a Model object that just encapsulates 33426 data. Add a getter for table names. 33427 * page/inspector/DatabaseQueryView.js: Added. Implements the view seen 33428 when selecting a Database in the DatabasesPanel. Implemented as an 33429 interactive console-like area. 33430 * page/inspector/DatabaseTableView.js: Added. Implements the view seen 33431 when selecting a Database Table in the DatabasesPanel. Matches the old 33432 Browse view of Database panels. 33433 * page/inspector/DatabasesPanel.js: Changed the object name to DatabasesPanel 33434 from DatabasePanel. Implements a panel that shows a sidebar of Databases 33435 and Database Tables. 33436 * page/inspector/ElementsPanel.js: Changed the object name to ElementsPanel 33437 from DocumentPanel. Implements the DOM tree that shows the DOM rooted at the 33438 main resource. 33439 * page/inspector/FontView.js: Use this.contentElement instead of this.element. 33440 * page/inspector/ImageView.js: Ditto. 33441 * page/inspector/Images/clearConsoleButtons.png: Added. 33442 * page/inspector/Images/consoleButtons.png: Added. 33443 * page/inspector/Images/darkShadow.png: Flipped. 33444 * page/inspector/Images/database.png: Modified to be 32x32. 33445 * page/inspector/Images/databaseTable.png: Added. 33446 * page/inspector/Images/databasesIcon.png: Added. 33447 * page/inspector/Images/disclosureTriangleSmallDown.png: Added. 33448 * page/inspector/Images/disclosureTriangleSmallDownBlack.png: Added. 33449 * page/inspector/Images/disclosureTriangleSmallDownWhite.png: Added. 33450 * page/inspector/Images/disclosureTriangleSmallRight.png: Added. 33451 * page/inspector/Images/disclosureTriangleSmallRightBlack.png: Added. 33452 * page/inspector/Images/disclosureTriangleSmallRightDown.png: Added. 33453 * page/inspector/Images/disclosureTriangleSmallRightDownBlack.png: Added. 33454 * page/inspector/Images/disclosureTriangleSmallRightDownWhite.png: Added. 33455 * page/inspector/Images/disclosureTriangleSmallRightWhite.png: Added. 33456 * page/inspector/Images/dockButtons.png: Added. 33457 * page/inspector/Images/elementsIcon.png: Added. 33458 * page/inspector/Images/gradientHighlightBottom.png: 33459 * page/inspector/Images/resourceCSSIcon.png: Added. 33460 * page/inspector/Images/resourceDocumentIcon.png: Added. 33461 * page/inspector/Images/resourcePlainIcon.png: Added. 33462 * page/inspector/Images/resourcesIcon.png: Added. 33463 * page/inspector/Images/resourcesSizeGraphIcon.png: Added. 33464 * page/inspector/Images/resourcesTimeGraphIcon.png: Added. 33465 * page/inspector/Images/scriptsIcon.png: Added. 33466 * page/inspector/Images/segment.png: Modified to fit the taller status bar. 33467 * page/inspector/Images/segmentEnd.png: Ditto. 33468 * page/inspector/Images/segmentHover.png: Ditto. 33469 * page/inspector/Images/segmentHoverEnd.png: Ditto. 33470 * page/inspector/Images/segmentSelected.png: Ditto. 33471 * page/inspector/Images/segmentSelectedEnd.png: Ditto. 33472 * page/inspector/Images/sidebarSelectionBackground.png: Added. 33473 * page/inspector/Images/sidebarSelectionBackgroundFocused.png: Added. 33474 * page/inspector/Images/sidebarSelectionBackgroundInactive.png: Added. 33475 * page/inspector/Images/sidebarSmallSelectionBackground.png: Added. 33476 * page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Added. 33477 * page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Added. 33478 * page/inspector/Images/statusbarBackground.png: Added. 33479 * page/inspector/Images/statusbarBottomBackground.png: Added. 33480 * page/inspector/Images/statusbarButtons.png: Added. 33481 * page/inspector/Images/statusbarResizerVertical.png: Added. 33482 * page/inspector/Images/toolbarItemSelected.png: Added. 33483 * page/inspector/Panel.js: Added support for toolbar items and status bar items. 33484 Inherits from the View prototype. 33485 * page/inspector/Resource.js: Removed title updating and the ResourceTreeElement. 33486 Made more of a Model object that just encapsulates data. 33487 * page/inspector/ResourceCategory.js: Removed the ResourceCategoryTreeElement. 33488 Made more of a Model object that just encapsulates data. 33489 * page/inspector/ResourceView.js: A simple base object for Resource views 33490 shown in ResourcesPanel. Inherits from the View prototype. 33491 * page/inspector/ResourcesPanel.js: Changed the object name to ResourcesPanel 33492 from NetworkPanel. Implements the timeline graph, size graph and resource 33493 viewing by using ResourceViews. 33494 * page/inspector/SidebarTreeElement.js: Added. Inherits from TreeElement and implements 33495 a section element and a regular element that has an icon, title and optional subtitle. 33496 * page/inspector/SourceView.js: Use this.contentElement instead of this.element. 33497 * page/inspector/StylesSidebarPane.js: Null check WebInspector.mainResource. 33498 * page/inspector/View.js: Added. A simple object to manage showing and hiding an element. 33499 * page/inspector/WebKit.qrc: Added new files. 33500 * page/inspector/inspector.css: New and changed style rules to support the new UI. 33501 * page/inspector/inspector.html: New and changed HTML for the UI. The search field 33502 is disabled until search is reimplemented. 33503 * page/inspector/inspector.js: Removed code related to the sidebar and back-forward lists. 33504 Also removed code related to navigation to panels. Added code to instantiate the new 33505 panels and setup the toolbar. 33506 33507 2008-04-08 Dan Bernstein <mitz (a] apple.com> 33508 33509 Reviewed by Antti Koivisto. 33510 33511 - fix a regression from r31313 which made the inspector highlight and 33512 yellow find highlight for table cells with extra top appear in the 33513 wrong position 33514 33515 * rendering/LayoutState.cpp: 33516 (WebCore::LayoutState::LayoutState): Changed absolutePosition() to 33517 absolutePositionForContent(), to get the right position for children of 33518 table cells. This is the correct fix for this part of r31313. 33519 * rendering/RenderBox.cpp: 33520 (WebCore::RenderBox::absolutePosition): Reverted the change from r31313 33521 by changing absolutePosition() to absolutePositionForContent() here too. 33522 * rendering/RenderObject.h: 33523 (WebCore::RenderObject::absolutePositionForContent): Changed to return 33524 the result from absolutePosition(). 33525 * rendering/RenderTableCell.cpp: 33526 (WebCore::RenderTableCell::absoluteClippedOverflowRect): Turned the 33527 "else" case into an early return. 33528 (WebCore::RenderTableCell::absolutePosition): Reverted the change from 33529 r31313. 33530 33531 2008-04-08 Dan Bernstein <mitz (a] apple.com> 33532 33533 Reviewed by Antti Koivisto. 33534 33535 - fix http://bugs.webkit.org/show_bug.cgi?id=18172 33536 REGRESSION (r31114-31132): Page renders structured almost horizontally (at flickr.com) 33537 33538 Test: fast/block/float/br-with-clear-2.html 33539 33540 * rendering/bidi.cpp: 33541 (WebCore::RenderBlock::layoutInlineChildren): The existing code for 33542 handling a float-clearing <br> in incremental layout had several bugs in 33543 it: it only applied when the <br> was on the last line of the block; it 33544 assumed that the <br> was always the rightmost box on the line (which is 33545 false in right-to-left runs); and in some places it looked at the last 33546 child of the block instead of the last box on the line. Fixed these 33547 bugs. 33548 33549 2008-04-08 Adam Roben <aroben (a] apple.com> 33550 33551 Mac build fix 33552 33553 * WebCore.xcodeproj/project.pbxproj: Removed MainThread* files which 33554 were moved to WTF. 33555 33556 2008-04-08 Timothy Hatcher <timothy (a] apple.com> 33557 33558 Change WebInspector.elementDragStart and WebInspector.elementDragEnd to have more 33559 state, so calling elementDragEnd does not need the listener functions. Also makes 33560 calling elementDragStart again without elementDragEnd work correctly. 33561 33562 Reviewed by Adam Roben. 33563 33564 * page/inspector/ElementsPanel.js: 33565 (DocumentPanel.prototype.rightSidebarResizerDragStart): Just call WebInspector.elementDragStart. 33566 Removed code that stored away the listeners now that elementDragStart does it. 33567 (DocumentPanel.prototype.rightSidebarResizerDragEnd): Just call WebInspector.elementDragEnd. 33568 Removed code that deleted listeners properties now that elementDragEnd does it. 33569 * page/inspector/inspector.js: 33570 (WebInspector.sidebarResizerDragEnd): Pass less arguments to elementDragEnd. 33571 (WebInspector.searchResultsResizerDragEnd): Ditto. 33572 (WebInspector.elementDragStart): Store the listeners as private properties on WebInspector. 33573 If the properties are already defined, call elementDragEnd first. 33574 (WebInspector.elementDragEnd): Remove the event listeners using the stored properties. 33575 Delete the private listener properties. 33576 33577 2008-04-08 Adam Roben <aroben (a] apple.com> 33578 33579 Build fix 33580 33581 * ForwardingHeaders/wtf/MainThread.h: Added. Forgot to commit this. 33582 33583 2008-04-08 Adam Roben <aroben (a] apple.com> 33584 33585 Move callOnMainThread to WTF 33586 33587 Reviewed by Alexey Proskuryakov. 33588 33589 * GNUmakefile.am: 33590 * WebCore.pro: 33591 * WebCore.vcproj/WebCore.vcproj: 33592 * WebCoreSources.bkl: 33593 Removed MainThread files. 33594 33595 * bindings/js/JSCustomSQLTransactionCallback.cpp: 33596 * loader/icon/IconDatabase.cpp: 33597 (WebCore::iconDatabase): 33598 * storage/Database.cpp: 33599 (WebCore::Database::Database): 33600 * storage/DatabaseTracker.cpp: 33601 Updated #includes and replaced calls to 33602 WebCore::initializeThreadingAndMainThread with calls to 33603 KJS::initializeThreading. 33604 33605 * platform/MainThread.cpp: Removed. 33606 * platform/MainThread.h: Removed. 33607 * platform/gtk/MainThreadGtk.cpp: Removed. 33608 * platform/mac/MainThreadMac.mm: Removed. 33609 * platform/qt/MainThreadQt.cpp: Removed. 33610 * platform/win/MainThreadWin.cpp: Removed. 33611 * platform/wx/MainThreadWx.cpp: Removed. 33612 33613 2008-04-07 Timothy Hatcher <timothy (a] apple.com> 33614 33615 Makes the Network timeline graph resource sizes on the bar graph 33616 when Transfer Size is selected. 33617 33618 http://bugs.webkit.org/show_bug.cgi?id=18351 33619 33620 Reviewed by Adam Roben. 33621 33622 * page/inspector/Resource.js: 33623 (WebInspector.Resource.CompareByTime): Array sorting function for time. 33624 Copied from WebInspector.NetworkPanel.timelineEntryCompare. 33625 33626 * page/inspector/ResourcesPanel.js: 33627 (WebInspector.NetworkPanel): Set the selectedIndex of graphModeSelectElement to 33628 make Transfer Time the default graph. 33629 (WebInspector.NetworkPanel.prototype.changeGraphMode): Call calculator.reset, 33630 _refreshAllResources and _updateGraphDividersIfNeeded. 33631 (WebInspector.NetworkPanel.prototype.get totalDuration): Removed. 33632 (WebInspector.NetworkPanel.prototype._updateGraphBoundriesIfNeeded): Removed boundary 33633 checking code and just call calculator.updateBoundries. 33634 (WebInspector.NetworkPanel.prototype._updateGraphDividersIfNeeded): Add a force argument. 33635 Use calculator.boundarySpan when computing the slice. If the slice is NaN, don't make a label. 33636 Ask the calculator to format the label values for each slice. 33637 (WebInspector.NetworkPanel.prototype.clearTimeline): Call calculator.reset. 33638 (WebInspector.NetworkPanel.timelineEntryCompare): Call WebInspector.Resource.CompareByTime. 33639 33640 (WebInspector.NetworkTimelineEntry.prototype.refresh): Ask the panel's calculator to compute 33641 bar graph percentages for a resource. Use those percentages to change the bar style. 33642 33643 (WebInspector.ResourceCalculator): Renamed from WebInspector.TimelineValueCalculator. 33644 (WebInspector.ResourceCalculator.prototype.computeSummaryValues): Changed the Array.forEach 33645 to a normal for loop. Work with resources instead of TimelineEntries. 33646 (WebInspector.ResourceCalculator.prototype.computeBarGraphPercentages): Return basic bar graph 33647 percents with start always being zero. 33648 (WebInspector.ResourceCalculator.prototype.get boundarySpan): Return the difference between 33649 maximumBoundary and minimumBoundary. 33650 (WebInspector.ResourceCalculator.prototype.updateBoundries): Update maximumBoundary based on _value. 33651 The minimumBoundary is always zero. 33652 (WebInspector.ResourceCalculator.prototype.reset): Delete maximumBoundary and minimumBoundary. 33653 (WebInspector.ResourceCalculator.prototype._value): Takes a Resource instead of TimelineEntry. 33654 33655 (WebInspector.ResourceTransferTimeCalculator): Renamed from TransferTimeCalculator. 33656 (WebInspector.ResourceTransferTimeCalculator.prototype.computeSummaryValues): Work with resources 33657 instead of entries. Changed the Array.forEach to a normal for loop. 33658 (WebInspector.ResourceTransferTimeCalculator.prototype.computeBarGraphPercentages): Return percents 33659 just like WebInspector.NetworkTimelineEntry.prototype.refresh was doing before. 33660 (WebInspector.ResourceTransferTimeCalculator.prototype.updateBoundries): Update minimumBoundary and 33661 maximumBoundary just like the checks WebInspector.NetworkPanel.prototype._updateGraphBoundriesIfNeeded was doing. 33662 33663 (WebInspector.ResourceTransferSizeCalculator): Renamed from TransferSizeCalculator. 33664 (WebInspector.ResourceTransferSizeCalculator.prototype._value): Takes a Resource instead of TimelineEntry. 33665 33666 2008-04-08 Rob Buis <buis (a] kde.org> 33667 33668 Fix the SVG build. 33669 33670 * svg/SVGFEFloodElement.cpp: 33671 (WebCore::SVGFEFloodElement::filterEffect): 33672 33673 2008-04-08 Alice Liu <alice.liu (a] apple.com> 33674 33675 Reviewed by Dan Bernstein. 33676 33677 fixed http://bugs.webkit.org/show_bug.cgi?id=18329 33678 REGRESSION: Assertion failure in -[WebViewFactory endOfTextMarkerRange:] 33679 when invoking the Dictionary pop-up 33680 33681 * page/mac/AccessibilityObjectWrapper.mm: 33682 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): 33683 In the section of code where WebCore-equivalents of mac-specific types are 33684 prepared, some functions weren't meant to operate on the default initialized 33685 values. Checking for nil in certain places will better maintain the original 33686 pre-refactoring code path. 33687 33688 2008-04-08 Dan Bernstein <mitz (a] apple.com> 33689 33690 Reviewed by Maciej Stachowiak. 33691 33692 - fix most of the Windows layout test regressions from the font-weight patch 33693 33694 * platform/graphics/win/FontCacheWin.cpp: 33695 (WebCore::matchImprovingEnumProc): Changed to be symmetric with respect 33696 to italics: always prefer (reject) a candidate that changes the italics 33697 trait to (from) the desired value. 33698 (WebCore::createGDIFont): Added code to set more members of the LOGFONT 33699 structure before creating the font. 33700 33701 2008-04-07 Rob Buis <buis (a] kde.org> 33702 33703 Reviewed by Ollie. 33704 33705 http://bugs.webkit.org/show_bug.cgi?id=18354 33706 feFlood in attribute should be removed according to SVG 1.1 Errata 33707 33708 Remove the in attribute from SVGFEFlood DOM. 33709 33710 * svg/SVGFEFloodElement.cpp: 33711 (WebCore::SVGFEFloodElement::parseMappedAttribute): 33712 * svg/SVGFEFloodElement.h: 33713 * svg/SVGFEFloodElement.idl: 33714 33715 2008-04-07 Brady Eidson <beidson (a] apple.com> 33716 33717 Touch JSStorageCustom.cpp to try to FORCE a recompile on bots that haven't gotten the message 33718 33719 * bindings/js/JSStorageCustom.cpp: 33720 (WebCore::JSStorage::customPut): 33721 33722 2008-04-07 Brady Eidson <beidson (a] apple.com> 33723 33724 Reviewed by John Honeycutt 33725 33726 ENABLE_DOM_STORAGE for Windows 33727 33728 * WebCore.vcproj/WebCore.vcproj: 33729 * WebCore.vcproj/build-generated-files.sh: 33730 33731 2008-04-07 Brady Eidson <beidson (a] apple.com> 33732 33733 Fix build for builds without DOM_STORAGE enabled 33734 33735 * dom/EventTargetNode.cpp: 33736 (WebCore::EventTargetNode::dispatchStorageEvent): 33737 * dom/EventTargetNode.h: 33738 33739 2008-04-07 Alice Liu <alice.liu (a] apple.com> 33740 33741 Reviewed by Beth Dakin. 33742 33743 * WebCore.vcproj/WebCore.vcproj: 33744 Added a few cross-platform accessibility source files 33745 33746 * WebCore.xcodeproj/project.pbxproj: 33747 Added AXObjectCache.cpp 33748 33749 * page/AXObjectCache.cpp: Added. 33750 These were made cross-platform: 33751 (WebCore::AXObjectCache::~AXObjectCache): 33752 (WebCore::AXObjectCache::get): 33753 (WebCore::AXObjectCache::remove): 33754 (WebCore::AXObjectCache::childrenChanged): 33755 33756 * page/AXObjectCache.h: 33757 These were made platform-specific 33758 (WebCore::AXObjectCache::isIDinUse): 33759 (WebCore::AXObjectCache::detachWrapper): 33760 (WebCore::AXObjectCache::attachWrapper): 33761 (WebCore::AXObjectCache::postNotificationToElement): 33762 33763 * page/AccessibilityObject.cpp: 33764 (WebCore::AccessibilityObject::detach): 33765 Since only the mac has a wrapper for now, so temporarily 33766 wrapping this line in #if PLATFORM(MAC) 33767 33768 (WebCore::AccessibilityObject::removeAXObjectID): 33769 Since only the mac has uses Accessibility Object IDs, 33770 wrap this line in #if PLATFORM(MAC) 33771 33772 * page/mac/AXObjectCacheMac.mm: 33773 Detaching and attaching the wrapper is platform-specific 33774 since each wrapper class is platform-specific. 33775 (WebCore::AXObjectCache::detachWrapper): 33776 (WebCore::AXObjectCache::attachWrapper): 33777 33778 2008-04-07 Brady Eidson <beidson (a] apple.com> 33779 33780 Lovingly reviewed by Sam Weinig 33781 33782 <rdar://problem/5797684> - HTML5 SessionStorage and underpinnings for LocalStorage 33783 33784 Tests: storage/domstorage/sessionstorage/iframe-events.html 33785 storage/domstorage/sessionstorage/index-get-and-set.html 33786 storage/domstorage/sessionstorage/simple-events.html 33787 storage/domstorage/sessionstorage/simple-usage.html 33788 storage/domstorage/sessionstorage/window-open.html 33789 storage/domstorage/window-attributes-exist.html 33790 33791 * Configurations/WebCore.xcconfig: Define to enable DOM_STORAGE 33792 33793 * bindings/js/JSDOMWindowCustom.cpp: 33794 (WebCore::JSDOMWindow::mark): Add optionalSessionStorage case 33795 33796 * bindings/js/JSEventCustom.cpp: 33797 (WebCore::toJS): Add StorageEvent case 33798 33799 * bindings/js/JSStorageCustom.cpp: 33800 (WebCore::JSStorage::canGetItemsForName): 33801 (WebCore::JSStorage::nameGetter): If the property doesn't exist on the object, call through to getItem() 33802 (WebCore::JSStorage::customPut): If the property doesn't exist on the object, call through to setItem() 33803 33804 * dom/Event.cpp: 33805 (WebCore::Event::isStorageEvent): 33806 * dom/Event.h: 33807 33808 * dom/EventNames.h: Add "storage" 33809 33810 * dom/EventTargetNode.cpp: 33811 (WebCore::EventTargetNode::dispatchStorageEvent): 33812 * dom/EventTargetNode.h: 33813 33814 * loader/FrameLoader.cpp: 33815 (WebCore::FrameLoader::createWindow): After a new page has been created, set its SessionStorage object 33816 to a copy of the previous Page's 33817 33818 * page/DOMWindow.cpp: 33819 (WebCore::DOMWindow::sessionStorage): Accessor to pull the appropriate OriginStorage out of the Page's 33820 SessionStorage. 33821 (WebCore::DOMWindow::localStorage): To be filled in later 33822 * page/DOMWindow.h: 33823 (WebCore::DOMWindow::optionalSessionStorage): Return the session Storage object for this window to mark, 33824 if any exists 33825 * page/DOMWindow.idl: 33826 33827 * page/Page.cpp: 33828 (WebCore::Page::sessionStorage): Create and/or return the SessionStorage for this Page. 33829 (WebCore::Page::setSessionStorage): Set the SessionStorage for this Page - used in FrameLoader after a 33830 Window.open(); 33831 * page/Page.h: 33832 33833 * storage/OriginStorage.cpp: Intermediate layer between individual Storage objects, and shared StorageMap 33834 objects. There is one OriginStorage object per SecurityOrigin in each "unique set of storage areas", such 33835 as the SessionStorage. This layer forwards DOM-level calls down to the backing StorageMap, handles 33836 copy-on-write along with the StorageMap, fires StorageEvents to the DOM when a value is changed, and will 33837 eventually handle quota enforcement. 33838 (WebCore::OriginStorage::create): 33839 (WebCore::OriginStorage::OriginStorage): 33840 (WebCore::OriginStorage::~OriginStorage): 33841 (WebCore::OriginStorage::copy): 33842 (WebCore::OriginStorage::length): 33843 (WebCore::OriginStorage::key): 33844 (WebCore::OriginStorage::getItem): 33845 (WebCore::OriginStorage::setItem): 33846 (WebCore::OriginStorage::removeItem): 33847 (WebCore::OriginStorage::contains): 33848 (WebCore::OriginStorage::dispatchStorageEvent): 33849 * storage/OriginStorage.h: 33850 33851 * storage/SessionStorage.cpp: From the HTML5 spec: 33852 "Each top-level browsing context has a unique set of session storage areas, one for each origin." 33853 This object represents that "unique set of session storage areas", and creates or returns the Storage 33854 object for the requested SecurityOrigin 33855 (WebCore::SessionStorage::create): 33856 (WebCore::SessionStorage::SessionStorage): 33857 (WebCore::SessionStorage::copy): 33858 (WebCore::SessionStorage::originStorage): 33859 * storage/SessionStorage.h: 33860 (WebCore::SessionStorage::page): 33861 33862 * storage/Storage.cpp: Representation of the DOM-level object, wrapped by JSStorage. There is a unique 33863 Storage object per Window (per-Frame) that wraps a specific shared OriginStorage object. 33864 (WebCore::Storage::create): 33865 (WebCore::Storage::Storage): 33866 (WebCore::Storage::length): 33867 (WebCore::Storage::key): 33868 (WebCore::Storage::getItem): 33869 (WebCore::Storage::setItem): 33870 (WebCore::Storage::removeItem): 33871 (WebCore::Storage::contains): 33872 * storage/Storage.h: 33873 * storage/Storage.idl: 33874 33875 * storage/StorageEvent.cpp: 33876 (WebCore::StorageEvent::StorageEvent): 33877 (WebCore::StorageEvent::initStorageEvent): 33878 * storage/StorageEvent.h: 33879 (WebCore::StorageEvent::isStorageEvent): 33880 33881 * storage/StorageMap.cpp: The physical map of key/value pairs that is shared between OriginStorage objects, 33882 and implements copy-on-write semantics whenever a value is changed 33883 (WebCore::StorageMap::create): 33884 (WebCore::StorageMap::StorageMap): 33885 (WebCore::StorageMap::copy): 33886 (WebCore::StorageMap::invalidateIterator): Used to support the key(unsigned i) part of the API 33887 (WebCore::StorageMap::setIteratorToIndex): Ditto 33888 (WebCore::StorageMap::length): 33889 (WebCore::StorageMap::key): 33890 (WebCore::StorageMap::getItem): 33891 (WebCore::StorageMap::setItem): 33892 (WebCore::StorageMap::removeItem): 33893 (WebCore::StorageMap::contains): 33894 * storage/StorageMap.h: 33895 33896 2008-04-07 Timothy Hatcher <timothy (a] apple.com> 33897 33898 Renamed various functions that are internal to the Console 33899 object to have an underscore prefix. 33900 33901 Rubber-stamped by Adam Roben. 33902 33903 * page/inspector/Console.js: 33904 33905 2008-04-07 Timothy Hatcher <timothy (a] apple.com> 33906 33907 Renamed various functions and properties that are internal 33908 to an object to have an underscore prefix. 33909 33910 Rubber-stamped by Adam Roben. 33911 33912 * page/inspector/Resource.js: 33913 * page/inspector/ResourcesPanel.js: 33914 33915 2008-04-07 Timothy Hatcher <timothy (a] apple.com> 33916 33917 Fixes coding style for two utility getters. 33918 33919 * page/inspector/utilities.js: Fix coding style for the 33920 totalOffsetLeft and totalOffsetTop getters. 33921 33922 2008-04-07 Dan Bernstein <mitz (a] apple.com> 33923 33924 Reviewed by Dave Hyatt. 33925 33926 - fix http://bugs.webkit.org/show_bug.cgi?id=18311 33927 <rdar://problem/5842980> REGRESSION (r31620): Font variants (e.g. Helvetica Neue *Light*) don't render correctly 33928 33929 * platform/mac/WebFontCache.mm: 33930 (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Changed to 33931 match by family name first, and only if that fails, look for a match by 33932 full (PostScript) name. Reverted the full name-based match logic to only 33933 distinguish between the broad categories of "bold" and "not bold". 33934 33935 2008-04-07 Timothy Hatcher <timothy (a] apple.com> 33936 33937 When the WebInspector.currentFocusElement changes, move the caret 33938 selection to be inside the focused element. This makes sure the 33939 caret moves in and out of the console when the focus changes. 33940 33941 Reviewed by Adam Roben. 33942 33943 * page/inspector/TextPrompt.js: 33944 (TextPrompt.prototype.isCaretInsidePrompt): Just call isInsertionCaretInside. 33945 * page/inspector/inspector.js: 33946 (WebInspector.set currentFocusElement): Make a caret selection inside 33947 the focused element if there isn't a range selection and there isn't 33948 already a caret selection inside. 33949 * page/inspector/utilities.js: 33950 (Element.prototype.isInsertionCaretInside): Added. Tests if the 33951 selection is collapsed and is inside the element. 33952 33953 2008-04-07 Brady Eidson <beidson (a] apple.com> 33954 33955 Reviewed by Tim Hatcher 33956 33957 Add 1 more empty file for upcoming work, as a separate step, to keep all build-systems working 33958 33959 * GNUmakefile.am: 33960 * WebCore.pro: 33961 * WebCore.vcproj/WebCore.vcproj: 33962 * WebCore.xcodeproj/project.pbxproj: 33963 * WebCoreSources.bkl: 33964 33965 * bindings/js/JSStorageCustom.cpp: Added. 33966 33967 2008-04-07 Alexey Proskuryakov <ap (a] webkit.org> 33968 33969 Reviewed by Dan Bernstein. 33970 33971 <rdar://problem/5574946> Inline frame ISO-8859-1 even though parent character set is UTF-8 33972 33973 Test: fast/loader/inherit-charset-to-empty-frame.html 33974 33975 * loader/FrameLoader.cpp: 33976 (WebCore::FrameLoader::write): Treat an empty m_encoding the same as null one. 33977 33978 2008-04-07 Timothy Hatcher <timothy (a] apple.com> 33979 33980 Rename some Inspector panel objects to facilitate the up-coming 33981 UI refresh changes. 33982 33983 Reviewed by Adam Roben. 33984 33985 * page/inspector/DatabasesPanel.js: Renamed ResourcePanel to ResourceView. 33986 * page/inspector/ElementsPanel.js: Renamed SourcePanel to SourceView. 33987 * page/inspector/FontView.js: Renamed FontPanel to FontView. 33988 * page/inspector/ImageView.js: Renamed ImagePanel to ImageView. 33989 * page/inspector/Resource.js: Instantiate the new "View" named objects. 33990 * page/inspector/ResourceView.js: Renamed ResourcePanel to ResourceView. 33991 * page/inspector/SourceView.js: Renamed SourcePanel to SourceView. 33992 33993 2008-04-07 Timothy Hatcher <timothy (a] apple.com> 33994 33995 Fix an exception and remove code that was missed when TextPrompt 33996 was added. This makes the Console work again. 33997 33998 Reviewed by Adam Roben. 33999 34000 * page/inspector/Console.js: Removed code that used non-existent 34001 properties. 34002 34003 2008-04-07 Timothy Hatcher <timothy (a] apple.com> 34004 34005 Remove the workaround for bug 11399 now that it is fixed. 34006 34007 Reviewed by Adam Roben. 34008 34009 * page/inspector/Console.js: Removed the 'with' statement 34010 around the eval and call eval directly on the inspected window. 34011 34012 2008-04-07 Luca Bruno <lethalman88 (a] gmail.com> 34013 34014 Reviewed by Alp Toker. 34015 34016 http://bugs.webkit.org/show_bug.cgi?id=18297 34017 Bug #18297 - Acid2/Acid3 -tests don't load load with soup. 34018 34019 Fixes in the libsoup backend: data url parsing, acid tests, redirects, 34020 response headers handling and re-entrancy issues on job cancellation. 34021 Thanks to Dan Winship for libsoup hints. 34022 34023 * platform/network/ResourceHandleInternal.h: 34024 (WebCore::ResourceHandleInternal::ResourceHandleInternal): add m_cancelled and remove unuseful m_session 34025 * platform/network/soup/ResourceHandleSoup.cpp: 34026 (WebCore::restartedCallback): added to route redirects to webkit 34027 (WebCore::dataCallback): add response headers, some checks and fix re-entrancy 34028 (WebCore::parseDataUrl): be an idle callback for the main loop 34029 (WebCore::ResourceHandle::start): 34030 (WebCore::ResourceHandle::cancel): fixed re-entrancy 34031 34032 2008-04-07 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 34033 34034 Build fix, rubber-stamped and landed by ap. 34035 34036 * GNUmakefile.am: Fix dom_storage conditional and typo: ENABLE_DOM_STORAG 34037 34038 2008-04-07 Brady Eidson <beidson (a] apple.com> 34039 34040 Whoops, idls don't go in the vcproj! 34041 34042 * WebCore.vcproj/WebCore.vcproj: 34043 34044 2008-04-06 Brady Eidson <beidson (a] apple.com> 34045 34046 Attempt to tickle Windows build into accepting this idl 34047 34048 * storage/StorageEvent.idl: 34049 34050 2008-04-06 Brady Eidson <beidson (a] apple.com> 34051 34052 Reviewed by Sam 34053 34054 HTML5 Session and Local Storage 34055 34056 Land a bunch of empty files and interfaces to keep things building while 34057 I finish off the rest of the implementation of SessionStorage 34058 34059 * DerivedSources.make: 34060 * GNUmakefile.am: 34061 * WebCore.pro: 34062 * WebCore.vcproj/WebCore.vcproj: 34063 * WebCore.xcodeproj/project.pbxproj: 34064 * WebCoreSources.bkl: 34065 34066 * storage/OriginStorage.cpp: Added. 34067 * storage/OriginStorage.h: Added. 34068 34069 * storage/SessionStorage.cpp: Added. 34070 * storage/SessionStorage.h: Added. 34071 34072 * storage/Storage.cpp: Added. 34073 (WebCore::Storage::length): 34074 (WebCore::Storage::key): 34075 (WebCore::Storage::getItem): 34076 (WebCore::Storage::setItem): 34077 (WebCore::Storage::removeItem): 34078 * storage/Storage.h: Added. 34079 * storage/Storage.idl: Added. 34080 34081 * storage/StorageEvent.cpp: Added. 34082 * storage/StorageEvent.h: Added. 34083 (WebCore::StorageEvent::key): 34084 (WebCore::StorageEvent::oldValue): 34085 (WebCore::StorageEvent::newValue): 34086 (WebCore::StorageEvent::uri): 34087 (WebCore::StorageEvent::source): 34088 (WebCore::StorageEvent::initStorageEvent): 34089 * storage/StorageEvent.idl: Added. 34090 34091 * storage/StorageMap.cpp: Added. 34092 * storage/StorageMap.h: Added. 34093 34094 2008-04-05 Kevin Ollivier <kevino (a] theolliviers.com> 34095 34096 Reviewed by Mark Rowe. 34097 34098 Add CSS to the MIMETypeRegistry, which ensures CSS files get 34099 the right MIMEType when loaded from disk. 34100 34101 * platform/gtk/MIMETypeRegistryGtk.cpp: 34102 * platform/wx/MimeTypeRegistryWx.cpp: 34103 34104 2008-04-05 Rob Buis <buis (a] kde.org> 34105 34106 Reviewed by Eric. 34107 34108 http://bugs.webkit.org/show_bug.cgi?id=17129 34109 Incorrect style resolution in CSS styled SVG, with multiple style sheets 34110 34111 Fix the style resolution on the svg by ensuring xml-stylesheet pseudo 34112 attributes title and alternate are transferred to the stylesheet 34113 created from the ProcessingInstruction. 34114 34115 * dom/ProcessingInstruction.cpp: 34116 (WebCore::ProcessingInstruction::ProcessingInstruction): 34117 (WebCore::ProcessingInstruction::checkStyleSheet): 34118 (WebCore::ProcessingInstruction::setCSSStyleSheet): 34119 * dom/ProcessingInstruction.h: 34120 34121 2008-04-05 Dan Bernstein <mitz (a] apple.com> 34122 34123 Reviewed by Darin Adler. 34124 34125 - fix <rdar://problem/5843719> Excessive repainting of cells in tables with non-auto height 34126 34127 Test: fast/repaint/table-two-pass-layout-overpaint.html 34128 34129 * rendering/RenderTable.cpp: 34130 (WebCore::RenderTable::layout): Changed the first pass over the sections 34131 to only call calcRowHeight() and recalcOuterBorder() but not 34132 layoutRows(), because the section's final height is unknown yet. 34133 Removed caching of m_height before the call to calcHeight(), because 34134 for non-positioned tables, calcHeight() only calculates the vertical 34135 margins and does not change m_height. 34136 Added a second pass over the sections, after the table height is known, 34137 to call layoutRows() on each section, with additional height if needed. 34138 Did minimal cleanup including caching the value of collapseBorders() in 34139 a local variable and changing a while loop into a for loop. 34140 * rendering/RenderTableSection.cpp: 34141 (WebCore::RenderTableSection::calcRowHeight): Changed to return the 34142 height of the section based on row height calculations. 34143 (WebCore::RenderTableSection::layoutRows): Removed a call to 34144 recalcOuterBorder(), which is now done by RenderTable::layout(). 34145 * rendering/RenderTableSection.h: Changed calcRowHeight() to have a 34146 return value. 34147 34148 2008-04-05 Simon Hausmann <shausman (a] trolltech.com> 34149 34150 Reviewed by Holger. 34151 34152 Fixes: Disable "unimplemented" warnings when building WebKit inside Qt. 34153 34154 * WebCore.pro: 34155 * platform/NotImplemented.h: 34156 34157 2008-04-05 Simon Hausmann <hausmann (a] webkit.org> 34158 34159 Rubber-stamped by Holger 34160 34161 Revert "* Load images incrementally. This will show warnings on the console" 34162 This rolls out -r29739. 34163 34164 This unfortunately caused some crashes and drawing errors. Backing out for now. 34165 34166 * platform/graphics/qt/ImageDecoderQt.cpp: 34167 (WebCore::ImageDecoderQt::setData): 34168 34169 2008-04-04 Kevin Ollivier <kevino (a] theolliviers.com> 34170 34171 Add GradientWx.cpp to the wx build process. 34172 34173 * webcore-wx.bkl: 34174 34175 2008-04-04 Dan Bernstein <mitz (a] apple.com> 34176 34177 Reviewed by Sam Weinig. 34178 34179 - speed up CSSFontSelector::getFontData() 34180 34181 * css/CSSFontSelector.cpp: 34182 (WebCore::fontDataForGenericFamily): Factored out of getFontData(). 34183 (WebCore::CSSFontSelector::getFontData): Changed to call 34184 fontDataForGenericFamily() directly if the map is empty. 34185 34186 2008-04-04 Jon Honeycutt <jhoneycutt (a] apple.com> 34187 34188 Reviewed by Oliver. 34189 34190 Replace AccessibilityObject::isRenderImage() with a virtual 34191 RenderObject::isRenderImage(). 34192 34193 * page/AccessibilityObject.cpp: 34194 (WebCore::AccessibilityObject::accessibilityIsIgnored): 34195 (WebCore::AccessibilityObject::addChildren): 34196 * page/AccessibilityObject.h: 34197 (WebCore::AccessibilityObject::isDetached): 34198 * rendering/RenderImage.h: 34199 (WebCore::RenderImage::isRenderImage): 34200 * rendering/RenderObject.h: 34201 (WebCore::RenderObject::isRenderImage): 34202 34203 2008-04-04 Dan Bernstein <mitz (a] apple.com> 34204 34205 - try to fix the wx build 34206 34207 * platform/graphics/wx/FontPlatformDataWx.cpp: 34208 (WebCore::fontWeightToWxFontWeight): 34209 (WebCore::FontPlatformData::FontPlatformData): 34210 34211 2008-04-04 Jon Honeycutt <jhoneycutt (a] apple.com> 34212 34213 Reviewed by Beth. 34214 34215 Some more clean-up of AccessibilityObject: 34216 - Rearranged/grouped methods. 34217 - Marked many methods const. 34218 - Changed many methods to take args by const ref instead of by val. 34219 - Made headingLevel() static. 34220 - Renamed detached() to isDetached(), loaded() to isLoaded(), 34221 documentLinks to getDocumentLinks(). 34222 - Made clearChildren(), removeAXObjectID(), isDetached() private. 34223 - Added notImplemented() calls for unimplemented methods. 34224 - Replaced stringForReplacedNode method with static function. 34225 34226 * page/AccessibilityObject.cpp: 34227 (WebCore::AccessibilityObject::~AccessibilityObject): 34228 (WebCore::AccessibilityObject::firstChild): 34229 (WebCore::AccessibilityObject::lastChild): 34230 (WebCore::AccessibilityObject::previousSibling): 34231 (WebCore::AccessibilityObject::nextSibling): 34232 (WebCore::AccessibilityObject::parentObject): 34233 (WebCore::AccessibilityObject::parentObjectUnignored): 34234 (WebCore::AccessibilityObject::headingLevel): 34235 (WebCore::AccessibilityObject::anchorElement): 34236 (WebCore::AccessibilityObject::actionElement): 34237 (WebCore::AccessibilityObject::mouseButtonListener): 34238 (WebCore::AccessibilityObject::helpText): 34239 (WebCore::AccessibilityObject::textUnderElement): 34240 (WebCore::AccessibilityObject::hasIntValue): 34241 (WebCore::AccessibilityObject::intValue): 34242 (WebCore::AccessibilityObject::stringValue): 34243 (WebCore::AccessibilityObject::title): 34244 (WebCore::AccessibilityObject::accessibilityDescription): 34245 (WebCore::AccessibilityObject::boundingBoxRect): 34246 (WebCore::AccessibilityObject::size): 34247 (WebCore::AccessibilityObject::linkedUIElement): 34248 (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId): 34249 (WebCore::AccessibilityObject::accessibilityIsIgnored): 34250 (WebCore::AccessibilityObject::isLoaded): 34251 (WebCore::AccessibilityObject::layoutCount): 34252 (WebCore::AccessibilityObject::textLength): 34253 (WebCore::AccessibilityObject::selectedText): 34254 (WebCore::AccessibilityObject::selection): 34255 (WebCore::AccessibilityObject::selectedTextRange): 34256 (WebCore::AccessibilityObject::setSelectedText): 34257 (WebCore::AccessibilityObject::setSelectedTextRange): 34258 (WebCore::AccessibilityObject::makeRangeVisible): 34259 (WebCore::AccessibilityObject::url): 34260 (WebCore::AccessibilityObject::isVisited): 34261 (WebCore::AccessibilityObject::isFocused): 34262 (WebCore::AccessibilityObject::setValue): 34263 (WebCore::AccessibilityObject::isEnabled): 34264 (WebCore::AccessibilityObject::topRenderer): 34265 (WebCore::AccessibilityObject::textControl): 34266 (WebCore::AccessibilityObject::widget): 34267 (WebCore::AccessibilityObject::axObjectCache): 34268 (WebCore::AccessibilityObject::getDocumentLinks): 34269 (WebCore::AccessibilityObject::documentFrameView): 34270 (WebCore::AccessibilityObject::widgetForAttachmentView): 34271 (WebCore::AccessibilityObject::frameViewIfRenderView): 34272 (WebCore::AccessibilityObject::visiblePositionRange): 34273 (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine): 34274 (WebCore::AccessibilityObject::doAXTextMarkerRangeForUnorderedTextMarkers): 34275 (WebCore::AccessibilityObject::doAXLeftWordTextMarkerRangeForTextMarker): 34276 (WebCore::AccessibilityObject::doAXRightWordTextMarkerRangeForTextMarker): 34277 (WebCore::AccessibilityObject::doAXLeftLineTextMarkerRangeForTextMarker): 34278 (WebCore::AccessibilityObject::doAXRightLineTextMarkerRangeForTextMarker): 34279 (WebCore::AccessibilityObject::doAXSentenceTextMarkerRangeForTextMarker): 34280 (WebCore::AccessibilityObject::doAXParagraphTextMarkerRangeForTextMarker): 34281 (WebCore::AccessibilityObject::doAXStyleTextMarkerRangeForTextMarker): 34282 (WebCore::AccessibilityObject::textMarkerRangeForRange): 34283 (WebCore::stringForReplacedNode): 34284 (WebCore::AccessibilityObject::doAXStringForTextMarkerRange): 34285 (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange): 34286 (WebCore::AccessibilityObject::doAXLengthForTextMarkerRange): 34287 (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange): 34288 (WebCore::AccessibilityObject::doAXTextMarkerForPosition): 34289 (WebCore::AccessibilityObject::doAXNextTextMarkerForTextMarker): 34290 (WebCore::AccessibilityObject::doAXPreviousTextMarkerForTextMarker): 34291 (WebCore::AccessibilityObject::doAXNextWordEndTextMarkerForTextMarker): 34292 (WebCore::AccessibilityObject::doAXPreviousWordStartTextMarkerForTextMarker): 34293 (WebCore::AccessibilityObject::doAXNextLineEndTextMarkerForTextMarker): 34294 (WebCore::AccessibilityObject::doAXPreviousLineStartTextMarkerForTextMarker): 34295 (WebCore::AccessibilityObject::doAXNextSentenceEndTextMarkerForTextMarker): 34296 (WebCore::AccessibilityObject::doAXPreviousSentenceStartTextMarkerForTextMarker): 34297 (WebCore::AccessibilityObject::doAXNextParagraphEndTextMarkerForTextMarker): 34298 (WebCore::AccessibilityObject::doAXPreviousParagraphStartTextMarkerForTextMarker): 34299 (WebCore::AccessibilityObject::textMarkerForIndex): 34300 (WebCore::AccessibilityObject::doAXUIElementForTextMarker): 34301 (WebCore::AccessibilityObject::doAXLineForTextMarker): 34302 (WebCore::AccessibilityObject::rangeForTextMarkerRange): 34303 (WebCore::AccessibilityObject::indexForTextMarker): 34304 (WebCore::AccessibilityObject::doAXRangeForLine): 34305 (WebCore::AccessibilityObject::doAXRangeForPosition): 34306 (WebCore::AccessibilityObject::doAXRangeForIndex): 34307 (WebCore::AccessibilityObject::doAXStyleRangeForIndex): 34308 (WebCore::AccessibilityObject::doAXStringForRange): 34309 (WebCore::AccessibilityObject::doAXBoundsForRange): 34310 (WebCore::AccessibilityObject::doAccessibilityHitTest): 34311 (WebCore::AccessibilityObject::focusedUIElement): 34312 (WebCore::AccessibilityObject::observableObject): 34313 (WebCore::AccessibilityObject::roleValue): 34314 (WebCore::AccessibilityObject::canSetFocusAttribute): 34315 (WebCore::AccessibilityObject::canSetValueAttribute): 34316 (WebCore::AccessibilityObject::canSetTextRangeAttributes): 34317 (WebCore::AccessibilityObject::hasChildren): 34318 (WebCore::AccessibilityObject::axObjectID): 34319 * page/AccessibilityObject.h: 34320 (WebCore::VisiblePositionRange::VisiblePositionRange): 34321 (WebCore::AccessibilityObject::PlainTextRange::PlainTextRange): 34322 (WebCore::AccessibilityObject::areaElement): 34323 (WebCore::AccessibilityObject::renderer): 34324 (WebCore::AccessibilityObject::children): 34325 (WebCore::AccessibilityObject::wrapper): 34326 (WebCore::AccessibilityObject::isDetached): 34327 * page/mac/AccessibilityObjectWrapper.mm: 34328 (AXAttributeStringSetHeadingLevel): 34329 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 34330 34331 2008-04-04 Timothy Hatcher <timothy (a] apple.com> 34332 34333 Restore the user entered text when clearing the auto-completion. 34334 This is important when the user typed text that is a different 34335 case than the completion. This has no affect on the Console, since 34336 it matches completions case-sensitively. This is used in the up-coming 34337 Database Query view for words like "SELECT" and "INSERT". 34338 34339 Reviewed by Adam Roben. 34340 34341 * page/inspector/TextPrompt.js: 34342 (WebInspector.TextPrompt.prototype.clearAutoComplete): Restore the user typed 34343 text in the original DOM range that complete() saved away. 34344 (WebInspector.TextPrompt.prototype.complete): Store away the fullWordRange 34345 and it's text content so clearAutoComplete can restore it. 34346 34347 2008-04-04 Timothy Hatcher <timothy (a] apple.com> 34348 34349 Don't trim whitespace when looking for the current match, this prevents 34350 tabbing through matches in the up-coming Database Query view. 34351 34352 Reviewed by Adam Roben. 34353 34354 * page/inspector/TextPrompt.js: Removed a trimTrailingWhitespace() call. 34355 34356 2008-04-04 Timothy Hatcher <timothy (a] apple.com> 34357 34358 Factor out the Console text completion and command history into 34359 a new TextPrompt object. This TextPrompt object will be used later 34360 other parts of the Inspector that need text completion and history. 34361 Not functionality changed, just moved code around. 34362 34363 Reviewed by Adam Roben. 34364 34365 * WebCore.vcproj/WebCore.vcproj: Add TextPrompt.js. 34366 * page/inspector/Console.js: Call the new prompt object and 34367 delete all the code that moved. 34368 * page/inspector/TextPrompt.js: Added. Moved code from Console.js. 34369 * page/inspector/WebKit.qrc: Add TextPrompt.js. 34370 * page/inspector/inspector.html: Add TextPrompt.js. 34371 34372 2008-04-04 Timothy Hatcher <timothy (a] apple.com> 34373 34374 Makes setting shouldRefreshChildren on a TreeElement perform the refresh 34375 immediately if the element is already expanded. 34376 34377 Reviewed by Adam Roben. 34378 34379 * page/inspector/treeoutline.js: 34380 (TreeElement.prototype.get shouldRefreshChildren): Return this._shouldRefreshChildren. 34381 (TreeElement.prototype.set shouldRefreshChildren): If changing to true, and 34382 already expanded, 34383 call expand again to trigger the refresh. Sets this._shouldRefreshChildren. 34384 (TreeElement.prototype._attach): Check for this._shouldRefreshChildren. 34385 (TreeElement.prototype.expand): Ditto. 34386 34387 2008-04-04 Jon Honeycutt <jhoneycutt (a] apple.com> 34388 34389 Reviewed by Beth. 34390 34391 Some clean up of AccessibilityObject: 34392 - Use existing isImage() in more places. 34393 - Use existing isTextControl() in more places. 34394 - Added isRenderImage(). Check this before casting to RenderImage, 34395 since other, non-RenderImage derived RenderObjects (e.g. 34396 RenderListMarker) can return true for isImage(). 34397 - Fix two copy/paste errors with improper semicolons. 34398 34399 * page/AccessibilityObject.cpp: 34400 (WebCore::AccessibilityObject::isImageButton): Use isImage(). 34401 (WebCore::AccessibilityObject::isRenderImage): Added. 34402 (WebCore::AccessibilityObject::isAnchor): Use isImage(). 34403 (WebCore::AccessibilityObject::isAttachment): Same. 34404 (WebCore::AccessibilityObject::accessibilityDescription): Same. 34405 (WebCore::AccessibilityObject::accessibilityIsIgnored): Use 34406 isRenderImage() instead of isImage(). 34407 (WebCore::AccessibilityObject::url): Use isImage(). 34408 (WebCore::AccessibilityObject::textControl): Remove improper semicolon, 34409 and use isTextControl(). 34410 (WebCore::AccessibilityObject::textMarkerForIndex): Same. 34411 (WebCore::AccessibilityObject::indexForTextMarker): Use isTextControl(). 34412 (WebCore::AccessibilityObject::doAXRangeForLine): Same. 34413 (WebCore::AccessibilityObject::doAXRangeForIndex): Same 34414 (WebCore::AccessibilityObject::doAXStringForRange): Same. 34415 (WebCore::AccessibilityObject::roleValue): Use isImage(). 34416 (WebCore::AccessibilityObject::addChildren): Use isRenderImage(). 34417 * page/AccessibilityObject.h: 34418 34419 2008-04-04 Timothy Hatcher <timothy (a] apple.com> 34420 34421 Fixes a null exception when hovering in some areas of the DOM tree. 34422 34423 Reviewed by Adam Roben. 34424 34425 * page/inspector/treeoutline.js: 34426 (TreeOutline.prototype.treeElementFromPoint): Check listNode for null/undefined 34427 before accessing any properties. Return null if listNode is null. 34428 34429 2008-04-04 Timothy Hatcher <timothy (a] apple.com> 34430 34431 Changing WebInspector.currentFocusElement to/from an input element 34432 does not change the actual focus of that input element. You see this 34433 in the search field. 34434 34435 Reviewed by Adam Roben. 34436 34437 * page/inspector/inspector.js: 34438 (WebInspector.set currentFocusElement): Call blur and focus if the 34439 node implements them. 34440 34441 2008-04-04 David Hyatt <hyatt (a] apple.com> 34442 34443 Improve the background size heuristic for SVGs used as background images with no intrinsic size specified. 34444 Treat them as having a background-size of 100%. This means their maximal size will be the box established 34445 by background-origin. 34446 34447 Reviewed by Beth 34448 34449 * rendering/RenderBox.cpp: 34450 (WebCore::RenderBox::calculateBackgroundSize): 34451 34452 2008-04-04 Timothy Hatcher <timothy (a] apple.com> 34453 34454 Correctly show DOCTYPE in the breadcrumbs and match the CSS rules 34455 from view-source.css for the DOCTYPE in the DOM tree. 34456 34457 Reviewed by Adam Roben. 34458 34459 * css/view-source.css: Add and correct comments about keeping 34460 in-sync with inspector.css. 34461 * page/inspector/ElementsPanel.js: 34462 (WebInspector.DocumentPanel.prototype.updateBreadcrumb): 34463 Add a case for Node.DOCUMENT_TYPE_NODE. 34464 * page/inspector/inspector.css: Add a rule for .webkit-html-doctype. 34465 * page/inspector/utilities.js: 34466 (nodeTitleInfo): Use the webkit-html-doctype class for nodes 34467 with Node.DOCUMENT_TYPE_NODE. 34468 34469 2008-04-04 Dan Bernstein <mitz (a] apple.com> 34470 34471 - try to fix the Tiger build 34472 34473 * icu/unicode/uscript.h: Copied from WebKit/mac/icu/unicode/uscript.h. 34474 34475 2008-04-04 Adam Roben <aroben (a] apple.com> 34476 34477 Copy icu/ to PrivateHeaders for WebKit's benefit 34478 34479 Rubberstamped by Tim Hatcher. 34480 34481 * WebCore.xcodeproj/project.pbxproj: Renamed the Copy Forwarding 34482 Headers build phase to Copy Forwarding and ICU Headers, and added the 34483 icu/ directory to it. 34484 34485 2008-04-04 Adam Roben <aroben (a] apple.com> 34486 34487 Fix <rdar://problem/5804776> Would like to use WebCore's 34488 ForwardingHeaders in WebKit without manually creating copies 34489 34490 Patch by Tim Hatcher, typed by me. 34491 34492 * WebCore.xcodeproj/project.pbxproj: Added a new build phase, Copy 34493 Forwarding Headers, that copies the ForwardingHeaders directory to 34494 WebCore's PrivateHeaders directory. 34495 34496 2008-04-04 Ada Chan <adachan (a] apple.com> 34497 34498 Changed the signature of imageTitleForFilename so we can pass in the width 34499 and height as integers. 34500 34501 Reviewed by Dan. 34502 34503 * page/mac/WebCoreViewFactory.h: 34504 * platform/mac/LocalizedStringsMac.mm: 34505 (WebCore::imageTitle): 34506 34507 2008-04-03 Dan Bernstein <mitz (a] apple.com> 34508 34509 - Windows build fix 34510 34511 * platform/graphics/win/FontCacheWin.cpp: 34512 (WebCore::matchImprovingEnumProc): 34513 34514 2008-04-03 Kevin Ollivier <kevino (a] theolliviers.com> 34515 34516 Fix PlatformGradient so that it's a pointer on all platforms. 34517 34518 * platform/graphics/Gradient.h: 34519 34520 2008-04-03 Dan Bernstein <mitz (a] apple.com> 34521 34522 - 64-bit build fix 34523 34524 * platform/mac/WebFontCache.mm: 34525 (+[WebFontCache internalFontWithFamily:traits:weight:size:]): 34526 34527 2008-04-03 Kevin Ollivier <kevino (a] theolliviers.com> 34528 34529 wx build fix. Add stubs for gradient class platform functions. 34530 34531 * platform/graphics/wx/GradientWx.cpp: Added. 34532 (WebCore::Gradient::platformDestroy): 34533 (WebCore::Gradient::platformGradient): 34534 34535 2008-04-03 Kevin Ollivier <kevino (a] theolliviers.com> 34536 34537 Reviewed by Dan Bernstein. 34538 34539 Refactor Gradient.h to have the same API on platforms 34540 without a gradient class. 34541 34542 * platform/graphics/Gradient.h: 34543 34544 2008-04-03 Dan Bernstein <mitz (a] apple.com> 34545 34546 - Qt build fix 34547 34548 * platform/graphics/qt/FontQt.cpp: 34549 (WebCore::Font::Font): 34550 34551 2008-04-03 Dan Bernstein <mitz (a] apple.com> 34552 34553 - Tiger build fix 34554 34555 * platform/mac/WebFontCache.mm: 34556 * rendering/RenderThemeMac.mm: 34557 34558 2008-04-03 Dan Bernstein <mitz (a] apple.com> 34559 34560 - Gtk build fix 34561 34562 * platform/graphics/gtk/FontPlatformData.h: 34563 (WebCore::FontPlatformData::size): 34564 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 34565 (WebCore::FontPlatformData::FontPlatformData): 34566 * platform/graphics/gtk/FontPlatformDataPango.cpp: 34567 (WebCore::FontPlatformData::FontPlatformData): 34568 34569 2008-04-03 Dan Bernstein <mitz (a] apple.com> 34570 34571 - project file updates in preparation for build fixes 34572 34573 * GNUmakefile.am: 34574 * WebCore.pro: 34575 * WebCoreSources.bkl: 34576 34577 2008-04-03 Nicholas Shanks <webkit (a] nickshanks.com> 34578 34579 Updated by Dan Bernstein. Reviewed by Dave Hyatt. 34580 34581 - WebCore part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484 34582 font-weight does not properly support graded weights 34583 34584 Tests to come: <http://bugs.webkit.org/show_bug.cgi?id=18306> 34585 34586 Build fixes for platforms other than Mac and Windows to come. 34587 34588 * WebCore.vcproj/WebCore.vcproj: Added FontDescription.cpp. 34589 34590 * WebCore.xcodeproj/project.pbxproj: Ditto. 34591 34592 * css/CSSComputedStyleDeclaration.cpp: 34593 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed to 34594 return additional weight value keywords 100, 200, 300, 500, 600, 800 34595 and 900. 34596 34597 * css/CSSFontSelector.cpp: 34598 (WebCore::hashForFont): Changed the bold parameter into a weight 34599 parameter and added the weight to the string to be hashed. 34600 (WebCore::CSSFontSelector::addFontFaceRule): Changed to apply all CSS 34601 weight values to the font description. 34602 (WebCore::CSSFontSelector::getFontData): Updated the fallback logic to 34603 go through all weights equal or lighter from the desired weight. For 34604 SVG, to also consider heavier weights. 34605 34606 * css/CSSParser.cpp: 34607 (WebCore::CSSParser::parseValue): Cleaned up parsing of the font-weight 34608 property. 34609 34610 * css/CSSStyleSelector.cpp: 34611 (WebCore::CSSStyleSelector::applyProperty): Changed to apply all CSS 34612 weight values to the font description. 34613 34614 * platform/graphics/Font.h: 34615 (WebCore::Font::weight): Updated for the change to 34616 FontDescription::weight(). 34617 34618 * platform/graphics/FontCache.cpp: 34619 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Replaced 34620 the bold component of the key with a weight component. 34621 (WebCore::FontPlatformDataCacheKey::operator==): Updated for the above. 34622 (WebCore::computeHash): Ditto. 34623 (WebCore::FontPlatformDataCacheKeyTraits::deletedValue): Removed 34624 unnecessary parameters. 34625 (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): Ditto. 34626 (WebCore::FontCache::getCachedFontPlatformData): Updated for the change 34627 in FontPlatformDataCacheKey. 34628 34629 * platform/graphics/FontDescription.cpp: Added. 34630 (WebCore::FontDescription::lighterWeight): Added. Returns a lighter CSS 34631 font-weight value if there is one, or the lightest value. 34632 (WebCore::FontDescription::bolderWeight): Added. Returns a heavier CSS 34633 font-weight value if there is one, or the heaviest value. 34634 34635 * platform/graphics/FontDescription.h: 34636 (WebCore::FontWeight): Added this enumeration. 34637 (WebCore::FontDescription::FontDescription): 34638 (WebCore::FontDescription::bold): Removed. 34639 (WebCore::FontDescription::weight): Changed to return a FontWeight. 34640 (WebCore::FontDescription::setBold): Removed. 34641 (WebCore::FontDescription::setWeight): Changed to take a FontWeight. 34642 34643 * platform/graphics/mac/FontCacheMac.mm: 34644 (WebCore::toAppKitFontWeight): Added. Maps a FontWeight to the AppKit 34645 font weight scale of 0-15. 34646 (WebCore::isAppKitFontWeightBold): Added. 34647 (WebCore::FontCache::getFontDataForCharacters): Changed to use a weight 34648 instead of the bold trait for custom fonts, and to decide whether to 34649 synthesize bold based on the weights rather than the bold trait. 34650 (WebCore::FontCache::fontExists): Updated for the change in 34651 WebFontCache . 34652 (WebCore::FontCache::createFontPlatformData): Ditto. Also changed to 34653 decide whether to synthesize bold based on the weights rather than on 34654 the bold trait. 34655 34656 * platform/graphics/win/FontCacheWin.cpp: 34657 (WebCore::toGDIFontWeight): Added. Maps a FontWeight to a GDI font 34658 weight constant. 34659 (WebCore::isGDIFontWeightBold): Added. 34660 (WebCore::adjustedGDIFontWeight): Added. 34661 (WebCore::MatchImprovingProcData::MatchImprovingProcData): Added this 34662 data structure for use by the following callback. 34663 (WebCore::matchImprovingEnumProc): Added. The logic of this method is a 34664 simplification of the betterChoice() predicate in WebFontCache.mm, which 34665 considers only the italic trait and the weight. 34666 (WebCore::createGDIFont): Added. Similarly to 34667 +[WebFontCache fontWithFamily:traits:weight:size:], this function 34668 finds the closest match in the family for the desired italic bit and 34669 weight. 34670 (WebCore::FontCache::fontExists): Changed to call createGDIFont(). 34671 (WebCore::FontCache::createFontPlatformData): Ditto. Also changed to 34672 compute the synthetic bold and synthetic italic flags based on weights 34673 and italic bits and pass them to the FontPlatformData constructor. 34674 34675 * platform/graphics/win/FontPlatformDataWin.cpp: 34676 (WebCore::FontPlatformData::FontPlatformData): Changed the bold and 34677 oblique parameters to mean whether these should be synthesized and 34678 removed the font enumeration code that used to decide that. 34679 34680 * platform/graphics/win/SimpleFontDataWin.cpp: 34681 (WebCore::SimpleFontData::smallCapsFontData): Changed to pass the 34682 synthetic bold and oblique flags from the full-size FontPlatformData to 34683 the FontPlatformData constructor for the small caps font. 34684 34685 * platform/mac/WebCoreTextRenderer.h: 34686 * platform/mac/WebCoreTextRenderer.mm: 34687 (WebCoreFindFont): Added a weight parameter, which is passed to 34688 +[WebFontCache fontWithFamily:traits:weight:size:]. 34689 34690 * platform/mac/WebFontCache.h: 34691 * platform/mac/WebFontCache.mm: 34692 (acceptableChoice): 34693 (betterChoice): Changed to ignore the bold trait. Changed the logic for 34694 deciding based on weights to prefer the font whose weight is closer to 34695 the desired one, or, if both candidates' weights are the same distance 34696 from the desired weight, the one that is more "off-center". 34697 (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Changed to 34698 check for weight when matching by full name. Changed to pass 34699 the actual desired weight instead of the constant 5 to 34700 acceptableChoice() and betterChoice(). Changed to use weights to decide 34701 whether to synthesize bold. 34702 (+[WebFontCache fontWithFamily:traits:weight:size:]): Added a weight 34703 parameter, which is passed to the internal method. 34704 34705 * platform/win/PopupMenuWin.cpp: 34706 (WebCore::PopupMenu::paint): Updated for the change to FontDescription. 34707 34708 * rendering/RenderListBox.cpp: 34709 (WebCore::RenderListBox::updateFromElement): Ditto. 34710 (WebCore::RenderListBox::paintItemForeground): Ditto. 34711 34712 * rendering/RenderThemeMac.mm: 34713 (WebCore::toFontWeight): Added. Maps the AppKit font weight range of 34714 0-15 to the FontWeight range. 34715 (WebCore::RenderThemeMac::systemFont): Updated for the change to 34716 FontDescription. 34717 34718 * rendering/RenderThemeSafari.cpp: 34719 (WebCore::RenderThemeSafari::systemFont): Ditto. 34720 34721 2008-04-03 Dan Bernstein <mitz (a] apple.com> 34722 34723 - another Gtk build fix attempt 34724 34725 * platform/graphics/cairo/GradientCairo.cpp: 34726 (WebCore::Gradient::platformDestroy): 34727 34728 2008-04-03 Dan Bernstein <mitz (a] apple.com> 34729 34730 - attempted Gtk build fix 34731 34732 * GNUmakefile.am: 34733 34734 2008-04-03 Dan Bernstein <mitz (a] apple.com> 34735 34736 - attempted Qt build fix 34737 34738 * platform/graphics/qt/GradientQt.cpp: 34739 (WebCore::Gradient::platformDestroy): 34740 34741 2008-04-03 Dan Bernstein <mitz (a] apple.com> 34742 34743 - attempted Gtk build fix 34744 34745 * html/CanvasRenderingContext2D.cpp: 34746 (WebCore::CanvasRenderingContext2D::stroke): 34747 34748 2008-04-03 Dan Bernstein <mitz (a] apple.com> 34749 34750 - attempted Qt build fix 34751 34752 * html/CanvasRenderingContext2D.cpp: 34753 (WebCore::CanvasRenderingContext2D::stroke): 34754 34755 2008-04-03 Beth Dakin <bdakin (a] apple.com> 34756 34757 Reviewed by Alice. 34758 34759 Build fix for non-Macs. 34760 34761 * page/AXObjectCache.h: 34762 (WebCore::AXObjectCache::isIDinUse): 34763 34764 2008-04-03 Brent Fulgham <bfulgham (a] gmail.com> 34765 34766 Reviewed by Darin. 34767 34768 Correct build error due to incomplete merging of changes to project 34769 files from Issue 17985. This small project file patch corrects 34770 the build issue (see http://bugs.webkit.org/show_bug.cgi?id=18195). 34771 34772 * WebCore.vcproj/WebCore.vcproj: 34773 34774 2008-04-02 Beth Dakin <bdakin (a] apple.com> 34775 34776 Reviewed by Hyatt. 34777 34778 This patch eliminates AccessibilityObjectMac. All of the platform- 34779 specific code is now in AccessibilityObjectWrapper. 34780 34781 * WebCore.xcodeproj/project.pbxproj: 34782 * dom/Element.h: 34783 (WebCore::Element::isPasswordField): 34784 * html/HTMLInputElement.h: 34785 (WebCore::HTMLInputElement::isPasswordField): 34786 * page/AXObjectCache.h: 34787 (WebCore::AXObjectCache::isIDinUse): 34788 * page/AccessibilityObject.cpp: 34789 (WebCore::AccessibilityObject::isPasswordField): 34790 (WebCore::AccessibilityObject::press): 34791 (WebCore::AccessibilityObject::widgetForAttachmentView): 34792 (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange): 34793 (WebCore::AccessibilityObject::doAXTextMarkerForPosition): 34794 * page/AccessibilityObject.h: 34795 (WebCore::AccessibilityObject::areaElement): 34796 (WebCore::AccessibilityObject::setWrapper): 34797 * page/mac/AXObjectCacheMac.mm: 34798 * page/mac/AccessibilityObjectMac.mm: Removed. 34799 * page/mac/AccessibilityObjectWrapper.h: 34800 * page/mac/AccessibilityObjectWrapper.mm: 34801 (-[AccessibilityObjectWrapper attachmentView]): 34802 (textMarkerForVisiblePosition): 34803 (visiblePositionForTextMarker): 34804 (visiblePositionForStartOfTextMarkerRange): 34805 (visiblePositionForEndOfTextMarkerRange): 34806 (textMarkerRangeFromMarkers): 34807 (AXAttributeStringSetFont): 34808 (CreateCGColorIfDifferent): 34809 (AXAttributeStringSetColor): 34810 (AXAttributeStringSetNumber): 34811 (AXAttributeStringSetStyle): 34812 (blockquoteLevel): 34813 (AXAttributeStringSetBlockquoteLevel): 34814 (AXAttributeStringSetSpelling): 34815 (AXAttributeStringSetHeadingLevel): 34816 (AXLinkElementForNode): 34817 (AXAttributeStringSetElement): 34818 (AXAttributedStringAppendText): 34819 (nsStringForReplacedNode): 34820 (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): 34821 (textMarkerRangeFromVisiblePositions): 34822 (-[AccessibilityObjectWrapper accessibilityActionNames]): 34823 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 34824 (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]): 34825 (-[AccessibilityObjectWrapper textMarkerRangeForSelection]): 34826 (-[AccessibilityObjectWrapper position]): 34827 (createAccessibilityRoleMap): 34828 (RoleEntry::): 34829 (roleValueToNSString): 34830 (-[AccessibilityObjectWrapper role]): 34831 (-[AccessibilityObjectWrapper subrole]): 34832 (-[AccessibilityObjectWrapper roleDescription]): 34833 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 34834 (-[AccessibilityObjectWrapper accessibilityIsIgnored]): 34835 (-[AccessibilityObjectWrapper accessibilityPerformAction:]): 34836 (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]): 34837 (-[AccessibilityObjectWrapper doAXRTFForRange:]): 34838 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): 34839 (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]): 34840 * platform/ScrollView.h: 34841 * platform/mac/ScrollViewMac.mm: 34842 (WebCore::ScrollView::viewRectToScreen): 34843 (WebCore::ScrollView::absolutePointToView): 34844 34845 2008-04-03 David Hyatt <hyatt (a] apple.com> 34846 34847 Create a new cross-platform Gradient abstraction and make CanvasGradient wrap it. This first 34848 step just cleans up CanvasGradient. The code that calls it remains ifdef'd however. 34849 34850 Reviewed by olliej 34851 34852 * WebCore.pro: 34853 * WebCore.vcproj/WebCore.vcproj: 34854 * WebCore.xcodeproj/project.pbxproj: 34855 * WebCoreSources.bkl: 34856 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 34857 (WebCore::toJS): 34858 * html/CanvasGradient.cpp: 34859 (WebCore::CanvasGradient::CanvasGradient): 34860 * html/CanvasGradient.h: 34861 (WebCore::CanvasGradient::gradient): 34862 (WebCore::CanvasGradient::addColorStop): 34863 (WebCore::CanvasGradient::getColor): 34864 * html/CanvasRenderingContext2D.cpp: 34865 (WebCore::CanvasRenderingContext2D::fill): 34866 (WebCore::CanvasRenderingContext2D::stroke): 34867 (WebCore::CanvasRenderingContext2D::fillRect): 34868 * html/CanvasStyle.h: 34869 (WebCore::CanvasStyle::canvasGradient): 34870 * platform/graphics/Gradient.cpp: Added. 34871 (WebCore::Gradient::Gradient): 34872 (WebCore::Gradient::~Gradient): 34873 (WebCore::Gradient::addColorStop): 34874 (WebCore::compareStops): 34875 (WebCore::Gradient::getColor): 34876 (WebCore::Gradient::findStop): 34877 * platform/graphics/Gradient.h: Added. 34878 (WebCore::Gradient::ColorStop::ColorStop): 34879 (WebCore::Gradient::platformInit): 34880 * platform/graphics/cairo/GradientCairo.cpp: Added. 34881 (WebCore::Gradient::platformDestroy): 34882 (WebCore::Gradient::platformGradient): 34883 * platform/graphics/cg/GradientCG.cpp: Added. 34884 (WebCore::Gradient::platformDestroy): 34885 (WebCore::gradientCallback): 34886 (WebCore::Gradient::platformGradient): 34887 * platform/graphics/qt/GradientQt.cpp: Added. 34888 (WebCore::Gradient::platformDestroy): 34889 (WebCore::Gradient::platformGradient): 34890 34891 2008-04-03 Simon Hausmann <hausmann (a] webkit.org> 34892 34893 Reviewed by Mark Rowe. 34894 34895 Roll out r31599 and r31605 again after discussion with Mark Rowe. 34896 34897 * history/HistoryItem.cpp: 34898 * loader/FrameLoader.cpp: 34899 (WebCore::FrameLoader::startIconLoader): 34900 * loader/icon/IconDatabase.cpp: 34901 (WebCore::IconDatabase::iconForPageURL): 34902 (WebCore::IconDatabase::readIconForPageURLFromDisk): 34903 * loader/icon/IconDatabase.h: 34904 * loader/icon/IconDatabaseNone.cpp: 34905 34906 2008-04-03 David Hyatt <hyatt (a] apple.com> 34907 34908 Fix for bug 18194, resizable text fields get messed up when resizing in the presence of zoom. 34909 34910 Reviewed by adele 34911 34912 * rendering/RenderLayer.cpp: 34913 (WebCore::RenderLayer::resize): 34914 34915 2008-04-03 Oliver Hunt <oliver (a] apple.com> 34916 34917 Rollout r31566 as there were a few issues i missed during review (thanks to antti for pointing them out) 34918 34919 * dom/Element.h: 34920 * dom/NamedAttrMap.h: 34921 * rendering/SVGRootInlineBox.cpp: 34922 (WebCore::SVGRootInlineBox::buildLayoutInformation): 34923 (WebCore::SVGRootInlineBox::buildTextChunks): 34924 * svg/SVGAElement.h: 34925 (WebCore::SVGAElement::contextElement): 34926 * svg/SVGAltGlyphElement.h: 34927 (WebCore::SVGAltGlyphElement::contextElement): 34928 * svg/SVGAnimateColorElement.h: 34929 * svg/SVGAnimateElement.h: 34930 * svg/SVGAnimateMotionElement.h: 34931 * svg/SVGAnimateTransformElement.h: 34932 * svg/SVGAnimatedTemplate.h: 34933 (WebCore::SVGAnimatedTemplate::associatedAttributeName): 34934 (WebCore::lookupOrCreateWrapper): 34935 * svg/SVGAnimationElement.h: 34936 * svg/SVGCircleElement.h: 34937 (WebCore::SVGCircleElement::contextElement): 34938 * svg/SVGClipPathElement.h: 34939 (WebCore::SVGClipPathElement::contextElement): 34940 * svg/SVGComponentTransferFunctionElement.cpp: 34941 * svg/SVGComponentTransferFunctionElement.h: 34942 * svg/SVGCursorElement.cpp: 34943 (WebCore::SVGCursorElement::SVGCursorElement): 34944 * svg/SVGCursorElement.h: 34945 (WebCore::SVGCursorElement::contextElement): 34946 * svg/SVGDefsElement.h: 34947 (WebCore::SVGDefsElement::contextElement): 34948 * svg/SVGElement.cpp: 34949 * svg/SVGElement.h: 34950 (WebCore::SVGElement::svgAttributeChanged): 34951 * svg/SVGEllipseElement.cpp: 34952 (WebCore::SVGEllipseElement::SVGEllipseElement): 34953 * svg/SVGEllipseElement.h: 34954 (WebCore::SVGEllipseElement::contextElement): 34955 * svg/SVGExternalResourcesRequired.h: 34956 * svg/SVGFEBlendElement.h: 34957 * svg/SVGFEColorMatrixElement.cpp: 34958 * svg/SVGFEColorMatrixElement.h: 34959 * svg/SVGFEComponentTransferElement.h: 34960 * svg/SVGFECompositeElement.h: 34961 * svg/SVGFEDiffuseLightingElement.h: 34962 * svg/SVGFEDisplacementMapElement.h: 34963 * svg/SVGFEFloodElement.h: 34964 * svg/SVGFEGaussianBlurElement.h: 34965 * svg/SVGFEImageElement.cpp: 34966 * svg/SVGFEImageElement.h: 34967 (WebCore::SVGFEImageElement::contextElement): 34968 * svg/SVGFELightElement.h: 34969 * svg/SVGFEMergeElement.h: 34970 * svg/SVGFEMergeNodeElement.h: 34971 * svg/SVGFEOffsetElement.h: 34972 * svg/SVGFESpecularLightingElement.h: 34973 * svg/SVGFETileElement.h: 34974 * svg/SVGFETurbulenceElement.h: 34975 * svg/SVGFilterElement.cpp: 34976 (WebCore::SVGFilterElement::SVGFilterElement): 34977 * svg/SVGFilterElement.h: 34978 (WebCore::SVGFilterElement::contextElement): 34979 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 34980 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes): 34981 * svg/SVGFilterPrimitiveStandardAttributes.h: 34982 * svg/SVGFitToViewBox.cpp: 34983 * svg/SVGFitToViewBox.h: 34984 * svg/SVGFontElement.h: 34985 * svg/SVGForeignObjectElement.cpp: 34986 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): 34987 * svg/SVGForeignObjectElement.h: 34988 (WebCore::SVGForeignObjectElement::contextElement): 34989 * svg/SVGGElement.h: 34990 (WebCore::SVGGElement::contextElement): 34991 * svg/SVGGradientElement.cpp: 34992 * svg/SVGGradientElement.h: 34993 * svg/SVGImageElement.cpp: 34994 (WebCore::SVGImageElement::SVGImageElement): 34995 * svg/SVGImageElement.h: 34996 (WebCore::SVGImageElement::contextElement): 34997 * svg/SVGLength.cpp: 34998 * svg/SVGLength.h: 34999 * svg/SVGLengthList.cpp: 35000 * svg/SVGLengthList.h: 35001 * svg/SVGLineElement.cpp: 35002 (WebCore::SVGLineElement::SVGLineElement): 35003 * svg/SVGLineElement.h: 35004 (WebCore::SVGLineElement::contextElement): 35005 * svg/SVGLinearGradientElement.cpp: 35006 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): 35007 (WebCore::SVGLinearGradientElement::collectGradientProperties): 35008 * svg/SVGLinearGradientElement.h: 35009 * svg/SVGMPathElement.h: 35010 * svg/SVGMarkerElement.cpp: 35011 (WebCore::SVGMarkerElement::SVGMarkerElement): 35012 * svg/SVGMarkerElement.h: 35013 (WebCore::SVGMarkerElement::contextElement): 35014 * svg/SVGMaskElement.cpp: 35015 (WebCore::SVGMaskElement::SVGMaskElement): 35016 * svg/SVGMaskElement.h: 35017 * svg/SVGNumberList.cpp: 35018 * svg/SVGNumberList.h: 35019 * svg/SVGPathElement.h: 35020 (WebCore::SVGPathElement::contextElement): 35021 * svg/SVGPatternElement.cpp: 35022 (WebCore::SVGPatternElement::SVGPatternElement): 35023 (WebCore::SVGPatternElement::collectPatternProperties): 35024 * svg/SVGPatternElement.h: 35025 * svg/SVGPolyElement.h: 35026 (WebCore::SVGPolyElement::contextElement): 35027 * svg/SVGPreserveAspectRatio.cpp: 35028 * svg/SVGPreserveAspectRatio.h: 35029 * svg/SVGRadialGradientElement.cpp: 35030 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement): 35031 (WebCore::SVGRadialGradientElement::svgAttributeChanged): 35032 (WebCore::SVGRadialGradientElement::collectGradientProperties): 35033 * svg/SVGRadialGradientElement.h: 35034 * svg/SVGRectElement.cpp: 35035 (WebCore::SVGRectElement::SVGRectElement): 35036 * svg/SVGRectElement.h: 35037 (WebCore::SVGRectElement::contextElement): 35038 * svg/SVGSVGElement.cpp: 35039 (WebCore::SVGSVGElement::SVGSVGElement): 35040 (WebCore::SVGSVGElement::currentView): 35041 * svg/SVGSVGElement.h: 35042 * svg/SVGScriptElement.h: 35043 (WebCore::SVGScriptElement::contextElement): 35044 * svg/SVGSetElement.h: 35045 * svg/SVGStyledElement.h: 35046 * svg/SVGStyledTransformableElement.cpp: 35047 * svg/SVGStyledTransformableElement.h: 35048 * svg/SVGSwitchElement.h: 35049 (WebCore::SVGSwitchElement::contextElement): 35050 * svg/SVGSymbolElement.h: 35051 (WebCore::SVGSymbolElement::contextElement): 35052 * svg/SVGTRefElement.h: 35053 (WebCore::SVGTRefElement::contextElement): 35054 * svg/SVGTSpanElement.h: 35055 * svg/SVGTextContentElement.cpp: 35056 (WebCore::SVGTextContentElement::SVGTextContentElement): 35057 * svg/SVGTextContentElement.h: 35058 * svg/SVGTextElement.cpp: 35059 * svg/SVGTextElement.h: 35060 (WebCore::SVGTextElement::contextElement): 35061 * svg/SVGTextPathElement.cpp: 35062 (WebCore::SVGTextPathElement::SVGTextPathElement): 35063 * svg/SVGTextPathElement.h: 35064 (WebCore::SVGTextPathElement::contextElement): 35065 * svg/SVGTextPositioningElement.cpp: 35066 * svg/SVGTextPositioningElement.h: 35067 * svg/SVGTransformList.cpp: 35068 * svg/SVGTransformList.h: 35069 * svg/SVGURIReference.h: 35070 * svg/SVGUseElement.cpp: 35071 (WebCore::SVGUseElement::SVGUseElement): 35072 * svg/SVGUseElement.h: 35073 (WebCore::SVGUseElement::contextElement): 35074 * svg/SVGViewElement.h: 35075 (WebCore::SVGViewElement::contextElement): 35076 * svg/SVGViewSpec.cpp: 35077 * svg/SVGViewSpec.h: 35078 35079 2008-04-03 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 35080 35081 Reviewed by Simon. 35082 35083 * Change IconDatabase::iconForPageURL to return more information. E.g. if 35084 an image has been found, or if the loading of an image has been scheduled. 35085 * Update FrameLoader to use another method to trigger reading from disk 35086 * Update the QWebFrame and QWebSettings 35087 35088 * history/HistoryItem.cpp: 35089 * loader/FrameLoader.cpp: 35090 * loader/icon/IconDatabase.cpp: 35091 (WebCore::IconDatabase::iconForPageURL): 35092 (WebCore::IconDatabase::readIconForPageURLFromDisk): 35093 (WebCore::IconDatabase::iconURLForPageURL): 35094 (WebCore::IconDatabase::defaultIcon): 35095 * loader/icon/IconDatabase.h: 35096 35097 2008-04-03 Dan Bernstein <mitz (a] apple.com> 35098 35099 - Mac build fix 35100 35101 * WebCore.base.exp: 35102 35103 2008-04-03 Simon Hausmann <hausmann (a] webkit.org> 35104 35105 Fix the build when building without icondatabase. 35106 35107 * loader/icon/IconDatabaseNone.cpp: Fix the function signature, no 35108 bool cache anymore. 35109 35110 2008-04-03 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 35111 35112 Reviewed by Simon. 35113 35114 * Remove the unused 'cache' parameter 35115 35116 * loader/icon/IconDatabase.cpp: 35117 (WebCore::IconDatabase::iconForPageURL): 35118 * loader/icon/IconDatabase.h: 35119 35120 2008-04-03 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 35121 35122 Reviewed by Simon. 35123 35124 * Add WebCore/loader/icon to the DEPENDPATH as well 35125 35126 * WebCore.pro: 35127 35128 2008-04-02 Brady Eidson <beidson (a] apple.com> 35129 35130 Reviewed by Mitz Pettel 35131 35132 <rdar://problem/5838347> and http://bugs.webkit.org/show_bug.cgi?id=11839 35133 Webarchive fails to save CSS files in @import statements 35134 35135 * css/CSSStyleSheet.cpp: 35136 (WebCore::CSSStyleSheet::addSubresourceURLStrings): Recursively add the URL each @import rule under the current style sheet. 35137 * css/CSSStyleSheet.h: 35138 * css/StyleSheet.h: 35139 (WebCore::StyleSheet::addSubresourceURLStrings): 35140 35141 * html/HTMLLinkElement.cpp: 35142 (WebCore::HTMLLinkElement::getSubresourceAttributeStrings): Add the linked URL as well as all @import 35143 rules rooted at the linked stylesheet. 35144 35145 * html/HTMLStyleElement.cpp: 35146 (WebCore::HTMLStyleElement::getSubresourceAttributeStrings): Walk all @import rules rooted at this 35147 stylesheet to add to the list. 35148 * html/HTMLStyleElement.h: 35149 35150 2008-04-02 Mark Rowe <mrowe (a] apple.com> 35151 35152 Reviewed by Oliver Hunt. 35153 35154 Ensure that debug symbols are generated for x86_64 and ppc64 builds. 35155 35156 * Configurations/Base.xcconfig: 35157 35158 2008-04-02 Christian Persch <chpe (a] gnome.org> 35159 35160 Reviewed by Alp Toker. 35161 35162 GTK+/Pango font backend build fix. 35163 35164 * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: 35165 (WebCore::FontCustomPlatformData::fontPlatformData): 35166 35167 2008-04-02 Eric Seidel <eric (a] webkit.org> 35168 35169 No review, build fix only. 35170 35171 Speculative build fix for no-svg build. 35172 Use #if ENABLE(SVG) instead of #if ENABLE_SVG 35173 35174 * css/CSSMutableStyleDeclaration.cpp: 35175 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 35176 35177 2008-04-02 Adam Roben <aroben (a] apple.com> 35178 35179 Rename instances of ExecState from "state" to "exec" in 35180 JavaScriptDebugServer 35181 35182 Rename requested by Darin Adler. 35183 35184 * page/JavaScriptDebugServer.cpp: 35185 35186 2008-04-02 Adam Roben <aroben (a] apple.com> 35187 35188 Make it possible for JavaScriptDebugListeners to listen to specific Pages 35189 35190 JavaScriptDebugServer now has overloads of its 35191 addListener/removeListener methods that take a Page* to indicate for 35192 which Page the JavaScriptDebugListener wishes to receive messages. 35193 35194 Reviewed by Darin. 35195 35196 * page/JavaScriptDebugServer.cpp: 35197 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all 35198 ListenerSets being held in m_pageListenersMap. 35199 (WebCore::JavaScriptDebugServer::addListener): Changed to call 35200 hasListeners(). 35201 (WebCore::JavaScriptDebugServer::removeListener): Ditto. 35202 (WebCore::JavaScriptDebugServer::addListener): Added. This overload 35203 takes a Page* and puts the listener in the appropriate ListenerSet 35204 within m_pageListenersMap. The ListenerSet is allocated and added to 35205 m_pageListenersMap when its first listener is added. 35206 (WebCore::JavaScriptDebugServer::removeListener): Added. This overload 35207 takes a Page* and removes the listener from the appropriate 35208 ListenerSet in m_pageListenersMap. The ListenerSet is deleted and 35209 removed from m_pageListenersMap when its last listener is removed. 35210 (WebCore::toPage): Added. Retrieves the parent Page from an ExecState. 35211 (WebCore::JavaScriptDebugServer::sourceParsed): Changed to call 35212 dispatchDidParseSource/dispatchDidFailToParseSource for both the 35213 global listeners and the Page listeners. 35214 (WebCore::dispatchFunctionToListeners): Added. This code was extracted 35215 from the JavaScriptDebugServer method of the same name. 35216 (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Call 35217 dispatchFunctionToListeners for both the global listeners and the Page 35218 listeners. 35219 * page/JavaScriptDebugServer.h: 35220 - Added declarations for new methods. 35221 - Made JavaScriptExecutionCallback typedef public so that it could 35222 be used by a helper method. 35223 - Added new m_pageListenersMap member. 35224 2008-04-02 Simon Hausmann <hausmann (a] webkit.org> 35225 35226 Fix compilation on case-sensitive file systems. 35227 35228 * svg/SVGGradientElement.h: Include SVGTransformList.h instead of 35229 SVGTRansformlist.h 35230 35231 2008-04-02 Nikolas Zimmermann <zimmermann (a] kde.org> 35232 35233 Reviewed by Oliver. 35234 35235 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support) 35236 35237 SVG Errata states: "All SVG DOM objects that directly correspond to an 35238 attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This 35239 means that any changes made to the attribute are immediately reflected in the 35240 corresponding SVG DOM object." (see linked URL on bug report) 35241 35242 Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect> 35243 element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value). 35244 35245 Add a new synchronization layer to handle SVG DOM -> XML changes. 35246 35247 Added Test: svg/custom/svg-xml-dom-sync.html 35248 35249 * dom/Element.h: 35250 * dom/NamedAttrMap.h: 35251 * rendering/SVGRootInlineBox.cpp: 35252 (WebCore::nodeToTextContentElement): 35253 (WebCore::nodeToTextPositioningElement): 35254 (WebCore::SVGRootInlineBox::buildLayoutInformation): 35255 (WebCore::SVGRootInlineBox::buildTextChunks): 35256 * svg/SVGAElement.h: 35257 (WebCore::SVGAElement::contextElement): 35258 * svg/SVGAltGlyphElement.h: 35259 (WebCore::SVGAltGlyphElement::contextElement): 35260 * svg/SVGAnimateColorElement.h: 35261 (WebCore::SVGAnimateColorElement::contextElement): 35262 * svg/SVGAnimateElement.h: 35263 (WebCore::SVGAnimateElement::contextElement): 35264 * svg/SVGAnimateMotionElement.h: 35265 (WebCore::SVGAnimateMotionElement::contextElement): 35266 * svg/SVGAnimateTransformElement.h: 35267 (WebCore::SVGAnimateTransformElement::contextElement): 35268 * svg/SVGAnimatedTemplate.h: 35269 (WebCore::SVGAnimatedTemplate::toString): 35270 (WebCore::SVGAnimatedTemplate::associatedAttributeName): 35271 (WebCore::lookupOrCreateWrapper): 35272 (WebCore::SVGAnimatedAngle::SVGAnimatedAngle): 35273 (WebCore::SVGAnimatedAngle::toString): 35274 (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean): 35275 (WebCore::SVGAnimatedBoolean::toString): 35276 (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration): 35277 (WebCore::SVGAnimatedEnumeration::toString): 35278 (WebCore::SVGAnimatedInteger::SVGAnimatedInteger): 35279 (WebCore::SVGAnimatedInteger::toString): 35280 (WebCore::SVGAnimatedLength::SVGAnimatedLength): 35281 (WebCore::SVGAnimatedLength::toString): 35282 (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList): 35283 (WebCore::SVGAnimatedLengthList::toString): 35284 (WebCore::SVGAnimatedNumber::SVGAnimatedNumber): 35285 (WebCore::SVGAnimatedNumber::toString): 35286 (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList): 35287 (WebCore::SVGAnimatedNumberList::toString): 35288 (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio): 35289 (WebCore::SVGAnimatedPreserveAspectRatio::toString): 35290 (WebCore::SVGAnimatedRect::SVGAnimatedRect): 35291 (WebCore::SVGAnimatedRect::toString): 35292 (WebCore::SVGAnimatedString::SVGAnimatedString): 35293 (WebCore::SVGAnimatedString::toString): 35294 (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList): 35295 (WebCore::SVGAnimatedTransformList::toString): 35296 (WebCore::SVGAnimatedType::SVGAnimatedType): 35297 * svg/SVGAnimationElement.h: 35298 * svg/SVGCircleElement.h: 35299 (WebCore::SVGCircleElement::contextElement): 35300 * svg/SVGClipPathElement.h: 35301 (WebCore::SVGClipPathElement::contextElement): 35302 * svg/SVGComponentTransferFunctionElement.cpp: 35303 * svg/SVGComponentTransferFunctionElement.h: 35304 * svg/SVGCursorElement.cpp: 35305 (WebCore::SVGCursorElement::SVGCursorElement): 35306 * svg/SVGCursorElement.h: 35307 (WebCore::SVGCursorElement::contextElement): 35308 * svg/SVGDefsElement.h: 35309 (WebCore::SVGDefsElement::contextElement): 35310 * svg/SVGElement.cpp: 35311 (WebCore::SVGElement::getAttribute): 35312 * svg/SVGElement.h: 35313 (LazilyUpdatedType::LazilyUpdatedType): 35314 (LazilyUpdatedType::operator=): 35315 (LazilyUpdatedType::operator==): 35316 (LazilyUpdatedType::operator!=): 35317 (LazilyUpdatedType::operator StoredType): 35318 (WebCore::SVGElement::invokeSVGPropertySynchronizer): 35319 (WebCore::SVGElement::addSVGPropertySynchronizer): 35320 * svg/SVGEllipseElement.cpp: 35321 (WebCore::SVGEllipseElement::SVGEllipseElement): 35322 * svg/SVGEllipseElement.h: 35323 (WebCore::SVGEllipseElement::contextElement): 35324 * svg/SVGExternalResourcesRequired.h: 35325 * svg/SVGFEBlendElement.h: 35326 (WebCore::SVGFEBlendElement::contextElement): 35327 * svg/SVGFEColorMatrixElement.cpp: 35328 * svg/SVGFEColorMatrixElement.h: 35329 (WebCore::SVGFEColorMatrixElement::contextElement): 35330 * svg/SVGFEComponentTransferElement.h: 35331 (WebCore::SVGFEComponentTransferElement::contextElement): 35332 * svg/SVGFECompositeElement.h: 35333 (WebCore::SVGFECompositeElement::contextElement): 35334 * svg/SVGFEDiffuseLightingElement.h: 35335 (WebCore::SVGFEDiffuseLightingElement::contextElement): 35336 * svg/SVGFEDisplacementMapElement.h: 35337 (WebCore::SVGFEDisplacementMapElement::contextElement): 35338 * svg/SVGFEFloodElement.h: 35339 (WebCore::SVGFEFloodElement::contextElement): 35340 * svg/SVGFEGaussianBlurElement.h: 35341 (WebCore::SVGFEGaussianBlurElement::contextElement): 35342 * svg/SVGFEImageElement.cpp: 35343 * svg/SVGFEImageElement.h: 35344 (WebCore::SVGFEImageElement::contextElement): 35345 * svg/SVGFELightElement.h: 35346 * svg/SVGFEMergeElement.h: 35347 (WebCore::SVGFEMergeElement::contextElement): 35348 * svg/SVGFEMergeNodeElement.h: 35349 (WebCore::SVGFEMergeNodeElement::contextElement): 35350 * svg/SVGFEOffsetElement.h: 35351 (WebCore::SVGFEOffsetElement::contextElement): 35352 * svg/SVGFESpecularLightingElement.h: 35353 (WebCore::SVGFESpecularLightingElement::contextElement): 35354 * svg/SVGFETileElement.h: 35355 (WebCore::SVGFETileElement::contextElement): 35356 * svg/SVGFETurbulenceElement.h: 35357 (WebCore::SVGFETurbulenceElement::contextElement): 35358 * svg/SVGFilterElement.cpp: 35359 (WebCore::SVGFilterElement::SVGFilterElement): 35360 * svg/SVGFilterElement.h: 35361 (WebCore::SVGFilterElement::contextElement): 35362 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 35363 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes): 35364 * svg/SVGFilterPrimitiveStandardAttributes.h: 35365 (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): 35366 * svg/SVGFitToViewBox.cpp: 35367 * svg/SVGFitToViewBox.h: 35368 * svg/SVGFontElement.h: 35369 (WebCore::SVGFontElement::contextElement): 35370 * svg/SVGForeignObjectElement.cpp: 35371 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): 35372 * svg/SVGForeignObjectElement.h: 35373 (WebCore::SVGForeignObjectElement::contextElement): 35374 * svg/SVGGElement.h: 35375 (WebCore::SVGGElement::contextElement): 35376 * svg/SVGGradientElement.cpp: 35377 * svg/SVGGradientElement.h: 35378 * svg/SVGImageElement.cpp: 35379 (WebCore::SVGImageElement::SVGImageElement): 35380 * svg/SVGImageElement.h: 35381 (WebCore::SVGImageElement::contextElement): 35382 * svg/SVGLength.cpp: 35383 (WebCore::SVGLength::SVGLength): 35384 (WebCore::SVGLength::operator=): 35385 (WebCore::SVGLength::operator==): 35386 (WebCore::SVGLength::operator!=): 35387 * svg/SVGLength.h: 35388 * svg/SVGLengthList.cpp: 35389 (WebCore::SVGLengthList::valueAsString): 35390 * svg/SVGLengthList.h: 35391 * svg/SVGLineElement.cpp: 35392 (WebCore::SVGLineElement::SVGLineElement): 35393 * svg/SVGLineElement.h: 35394 (WebCore::SVGLineElement::contextElement): 35395 * svg/SVGLinearGradientElement.cpp: 35396 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): 35397 (WebCore::SVGLinearGradientElement::collectGradientProperties): 35398 * svg/SVGLinearGradientElement.h: 35399 (WebCore::SVGLinearGradientElement::contextElement): 35400 * svg/SVGMPathElement.h: 35401 (WebCore::SVGMPathElement::contextElement): 35402 * svg/SVGMarkerElement.cpp: 35403 (WebCore::SVGMarkerElement::SVGMarkerElement): 35404 * svg/SVGMarkerElement.h: 35405 (WebCore::SVGMarkerElement::contextElement): 35406 * svg/SVGMaskElement.cpp: 35407 (WebCore::SVGMaskElement::SVGMaskElement): 35408 * svg/SVGMaskElement.h: 35409 (WebCore::SVGMaskElement::contextElement): 35410 * svg/SVGNumberList.cpp: 35411 (WebCore::SVGNumberList::valueAsString): 35412 * svg/SVGNumberList.h: 35413 * svg/SVGPathElement.h: 35414 (WebCore::SVGPathElement::contextElement): 35415 * svg/SVGPatternElement.cpp: 35416 (WebCore::SVGPatternElement::SVGPatternElement): 35417 (WebCore::SVGPatternElement::collectPatternProperties): 35418 * svg/SVGPatternElement.h: 35419 (WebCore::SVGPatternElement::contextElement): 35420 * svg/SVGPolyElement.h: 35421 (WebCore::SVGPolyElement::contextElement): 35422 * svg/SVGPreserveAspectRatio.cpp: 35423 (WebCore::SVGPreserveAspectRatio::valueAsString): 35424 * svg/SVGPreserveAspectRatio.h: 35425 * svg/SVGRadialGradientElement.cpp: 35426 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement): 35427 (WebCore::SVGRadialGradientElement::svgAttributeChanged): 35428 (WebCore::SVGRadialGradientElement::collectGradientProperties): 35429 * svg/SVGRadialGradientElement.h: 35430 (WebCore::SVGRadialGradientElement::contextElement): 35431 * svg/SVGRectElement.cpp: 35432 (WebCore::SVGRectElement::SVGRectElement): 35433 * svg/SVGRectElement.h: 35434 (WebCore::SVGRectElement::contextElement): 35435 * svg/SVGSVGElement.cpp: 35436 (WebCore::SVGSVGElement::SVGSVGElement): 35437 (WebCore::SVGSVGElement::currentView): 35438 * svg/SVGSVGElement.h: 35439 (WebCore::SVGSVGElement::contextElement): 35440 * svg/SVGScriptElement.h: 35441 (WebCore::SVGScriptElement::contextElement): 35442 * svg/SVGSetElement.h: 35443 (WebCore::SVGSetElement::contextElement): 35444 * svg/SVGStyledElement.h: 35445 * svg/SVGStyledTransformableElement.cpp: 35446 * svg/SVGStyledTransformableElement.h: 35447 * svg/SVGSwitchElement.h: 35448 (WebCore::SVGSwitchElement::contextElement): 35449 * svg/SVGSymbolElement.h: 35450 (WebCore::SVGSymbolElement::contextElement): 35451 * svg/SVGTRefElement.h: 35452 (WebCore::SVGTRefElement::contextElement): 35453 * svg/SVGTSpanElement.h: 35454 (WebCore::SVGTSpanElement::contextElement): 35455 * svg/SVGTextContentElement.cpp: 35456 (WebCore::SVGTextContentElement::SVGTextContentElement): 35457 * svg/SVGTextContentElement.h: 35458 * svg/SVGTextElement.cpp: 35459 * svg/SVGTextElement.h: 35460 (WebCore::SVGTextElement::contextElement): 35461 * svg/SVGTextPathElement.cpp: 35462 (WebCore::SVGTextPathElement::SVGTextPathElement): 35463 * svg/SVGTextPathElement.h: 35464 (WebCore::SVGTextPathElement::contextElement): 35465 * svg/SVGTextPositioningElement.cpp: 35466 * svg/SVGTextPositioningElement.h: 35467 * svg/SVGTransformList.cpp: 35468 (SVGTransformList::valueAsString): 35469 * svg/SVGTransformList.h: 35470 * svg/SVGURIReference.h: 35471 * svg/SVGUseElement.cpp: 35472 (WebCore::SVGUseElement::SVGUseElement): 35473 * svg/SVGUseElement.h: 35474 (WebCore::SVGUseElement::contextElement): 35475 * svg/SVGViewElement.h: 35476 (WebCore::SVGViewElement::contextElement): 35477 * svg/SVGViewSpec.cpp: 35478 (WebCore::SVGViewSpec::SVGViewSpec): 35479 (WebCore::SVGViewSpec::contextElement): 35480 * svg/SVGViewSpec.h: 35481 35482 2008-04-02 Darin Adler <darin (a] apple.com> 35483 35484 Reviewed by Alexey. 35485 35486 - fix storage leak seen on buildbot 35487 35488 * platform/graphics/cg/ImageBufferCG.cpp: 35489 (WebCore::utiFromMIMEType): Put the result of createCFString() into a RetainPtr. Changed 35490 result to be a RetainPtr. 35491 (WebCore::ImageBuffer::toDataURL): Tweak a little bit, removing one local variable and 35492 some unneeded explicit conversions. 35493 35494 2008-04-01 Darin Adler <darin (a] apple.com> 35495 35496 * WebCore.vcproj/WebCore.vcproj: Added RangeBoundaryPoint.h -- not required, but convenient. 35497 35498 2008-04-01 Darin Adler <darin (a] apple.com> 35499 35500 Reviewed by Sam and Antti. 35501 35502 - fix <rdar://problem/5829565> paste performance slowed down with the Range Acid3 changes 35503 35504 Added a new class, RangeBoundaryPoint, to use for range boundary points. The "truth" of 35505 the offset is now stored as a node pointer, and the offset is computed as and when needed. 35506 This allows us to efficiently update when the DOM tree is changed -- computation of the 35507 node offsets is deferred until the Range is used later. 35508 35509 * WebCore.base.exp: Export nodeIndex(). 35510 35511 * WebCore.xcodeproj/project.pbxproj: Added RangeBoundaryPoint.h, removed NodeWithIndexBefore.h 35512 and NodeWIthIndexAfter.h. Also let Xcode tweak the file formatting. 35513 35514 * dom/ContainerNode.cpp: 35515 (WebCore::ContainerNode::childrenChanged): Pass fewer arguments to Document. 35516 35517 * dom/Document.cpp: 35518 (WebCore::Document::nodeChildrenChanged): Pass fewer arguments to Range. 35519 (WebCore::Document::nodeWillBeRemoved): Pass node to range as a raw node pointer; no need for 35520 the index. 35521 * dom/Document.h: Take fewer arguments. 35522 35523 * dom/NodeWithIndexAfter.h: Removed. 35524 * dom/NodeWithIndexBefore.h: Removed. 35525 35526 * dom/Range.cpp: 35527 (WebCore::Range::Range): Changed to use the new RangeBoundaryPoint constructor. 35528 (WebCore::Range::create): Updated to use RangeBoundaryPoint instead of Position. 35529 (WebCore::Range::~Range): Ditto. 35530 (WebCore::Range::startContainer): Ditto. 35531 (WebCore::Range::startOffset): Ditto. 35532 (WebCore::Range::endContainer): Ditto. 35533 (WebCore::Range::endOffset): Ditto. 35534 (WebCore::Range::commonAncestorContainer): Ditto. 35535 (WebCore::Range::collapsed): Ditto. 35536 (WebCore::Range::setStart): Ditto. 35537 (WebCore::Range::setEnd): Ditto. 35538 (WebCore::Range::collapse): Ditto. 35539 (WebCore::Range::isPointInRange): Ditto. 35540 (WebCore::Range::comparePoint): Ditto. 35541 (WebCore::Range::compareNode): Ditto. 35542 (WebCore::Range::compareBoundaryPoints): Ditto. 35543 (WebCore::Range::boundaryPointsValid): Ditto. 35544 (WebCore::Range::intersectsNode): Ditto. 35545 (WebCore::Range::processContents): Ditto. 35546 (WebCore::Range::cloneContents): Ditto. 35547 (WebCore::Range::insertNode): Updated to use RangeBoundaryPoint. Also simplified the code 35548 at the end that updates the range -- not all of it is needed now since most of the fixup 35549 is done automatically by the range document mutation machinery. The one bit that remains 35550 is arguably a bug, but we need to keep it to keep passing Acid3 until we get clarification 35551 that it is indeed a bug (and then Acid3 will probably have to change). 35552 (WebCore::Range::toString): Update to use RangeBoundaryPoint instead of Position. 35553 (WebCore::Range::text): Ditto. 35554 (WebCore::Range::createContextualFragment): Ditto. 35555 (WebCore::Range::detach): Ditto. 35556 (WebCore::Range::checkNodeWOffset): Changed case where the offset is a node offset to 35557 be more efficient by using childNode instead of childNodeCount, and also return the node 35558 before which is needed to set the value of a RangeBoundaryPoint. 35559 (WebCore::Range::cloneRange): Ditto. 35560 (WebCore::Range::setStartAfter): Ditto. 35561 (WebCore::Range::setEndBefore): Ditto. 35562 (WebCore::Range::setEndAfter): Ditto. 35563 (WebCore::Range::selectNode): Ditto. 35564 (WebCore::Range::selectNodeContents): Ditto. 35565 (WebCore::Range::surroundContents): Ditto. 35566 (WebCore::Range::setStartBefore): Ditto. 35567 (WebCore::Range::checkDeleteExtract): Ditto. 35568 (WebCore::Range::containedByReadOnly): Ditto. 35569 (WebCore::Range::firstNode): Ditto. 35570 (WebCore::Range::editingStartPosition): Ditto. 35571 (WebCore::Range::pastLastNode): Ditto. 35572 (WebCore::Range::addLineBoxRects): Ditto. 35573 (WebCore::Range::formatForDebugger): Ditto. 35574 (WebCore::Range::maxStartOffset): Ditto. 35575 (WebCore::Range::maxEndOffset): Ditto. 35576 (WebCore::boundaryNodeChildrenChanged): Updated to use RangeBoundaryPoint instead of 35577 Position. Also changed name and changed to just call invalidateOffset. 35578 (WebCore::Range::nodeChildrenChanged): Changed to take just a container node. 35579 (WebCore::boundaryNodeWillBeRemoved): Updated to use RangeBoundaryPoint instead of 35580 Position. Also changed name and changed to update childBefore. 35581 (WebCore::Range::nodeWillBeRemoved): Changed to just take a Node*. 35582 (WebCore::boundaryTextInserted): Updated to use RangeBoundaryPoint instead of 35583 Position. Also changed name. 35584 (WebCore::Range::textInserted): Ditto. 35585 (WebCore::boundaryTextRemoved): Ditto. 35586 (WebCore::Range::textRemoved): Ditto. 35587 (WebCore::boundaryTextNodesMerged): Ditto. 35588 (WebCore::Range::textNodesMerged): Ditto. 35589 (WebCore::boundaryTextNodesSplit): Ditto. 35590 (WebCore::Range::textNodeSplit): Ditto. 35591 35592 * dom/Range.h: Updated to use RangeBoundaryPoint instead of Position. 35593 35594 * dom/RangeBoundaryPoint.h: Added. 35595 35596 2008-04-01 Anders Carlsson <andersca (a] apple.com> 35597 35598 Reviewed by Sam. 35599 35600 Get rid of old "bindings" forwarding headers. 35601 35602 * ForwardingHeaders/bindings: Removed. 35603 * ForwardingHeaders/bindings/NP_jsobject.h: Removed. 35604 * ForwardingHeaders/bindings/npruntime.h: Removed. 35605 * ForwardingHeaders/bindings/npruntime_impl.h: Removed. 35606 * ForwardingHeaders/bindings/npruntime_internal.h: Removed. 35607 * ForwardingHeaders/bindings/runtime.h: Removed. 35608 * ForwardingHeaders/bindings/runtime_object.h: Removed. 35609 * ForwardingHeaders/bindings/runtime_root.h: Removed. 35610 35611 2008-04-01 Timothy Hatcher <timothy (a] apple.com> 35612 35613 Rename DatabasePanel.js to DatabasesPanel.js to facilitate the up-coming UI refresh changes. 35614 35615 http://bugs.webkit.org/show_bug.cgi?id=17773 35616 35617 Rubber-stamped by Brady Eidson. 35618 35619 * WebCore.vcproj/WebCore.vcproj: Reference DatabasesPanel.js. 35620 * page/inspector/DatabasePanel.js: Removed. 35621 * page/inspector/DatabasesPanel.js: Copied from page/inspector/DatabasePanel.js. 35622 * page/inspector/WebKit.qrc: Reference DatabasesPanel.js. 35623 * page/inspector/inspector.html: Reference DatabasesPanel.js. 35624 35625 2008-04-01 Brady Eidson <beidson (a] apple.com> 35626 35627 Touch a file to get Windows to rebuild WebCore 35628 35629 * platform/ContextMenu.cpp: Alphabetize headers 35630 35631 2008-04-01 Brady Eidson <beidson (a] apple.com> 35632 35633 Reviewed by Adam Roben 35634 35635 Export loader/archive and loader/archive/cf headers for WebKitWin to use 35636 35637 * WebCore.vcproj/WebCore.vcproj: 35638 35639 2008-04-01 Brady Eidson <beidson (a] apple.com> 35640 35641 Reviewed by Darin 35642 35643 WebArchives need to load on Windows the same way as on Mac, and this change in the 35644 finished-loading code path was a big part of that 35645 35646 * loader/FrameLoader.cpp: 35647 (WebCore::FrameLoader::finishedLoadingDocument): Only call the client's finishedLoading() 35648 for non-archive loads 35649 35650 2008-04-01 Dan Bernstein <mitz (a] apple.com> 35651 35652 - Mac build fix 35653 35654 * WebCore.xcodeproj/project.pbxproj: Made FontRenderingMode.h private. 35655 35656 2008-04-01 Dan Bernstein <mitz (a] apple.com> 35657 35658 Reviewed by Darin Adler. 35659 35660 - move the FontRenderingMode enumeration into its own header file 35661 35662 * WebCore.vcproj/WebCore.vcproj: 35663 * WebCore.xcodeproj/project.pbxproj: 35664 * loader/CachedFont.h: 35665 * platform/graphics/FontDescription.h: 35666 * platform/graphics/FontRenderingMode.h: Added. 35667 * platform/graphics/gtk/FontCustomPlatformData.h: 35668 * platform/graphics/mac/FontCustomPlatformData.h: 35669 * platform/graphics/qt/FontCustomPlatformData.h: 35670 * platform/graphics/win/FontCustomPlatformData.h: 35671 35672 2008-04-01 Darin Adler <darin (a] apple.com> 35673 35674 Reviewed by Mitz. 35675 35676 - fix <rdar://problem/5833351> REGRESSION: Leak in JSCustomXPathNSResolver::create 35677 - fix <rdar://problem/5833216> REGRESSION: Leak in CSSStyleSelector::addViewportDependentMediaQueryResult 35678 35679 * bindings/js/JSCustomXPathNSResolver.cpp: 35680 (WebCore::JSCustomXPathNSResolver::create): Added a missing adoptRef. 35681 * css/CSSStyleSelector.cpp: 35682 (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a missing call to deleteAllValues. 35683 35684 2008-04-01 Darin Adler <darin (a] apple.com> 35685 35686 Reviewed by Sam. 35687 35688 - speed up hasChildNodes, which does not need to be virtual 35689 35690 * dom/ContainerNode.cpp: Removed hasChildNodes. 35691 * dom/ContainerNode.h: Added non-virtual inline hasChildNodes. 35692 * dom/Node.cpp: Removed hasChildNodes. 35693 * dom/Node.h: Added non-vritual inline hasChildNodes. 35694 35695 2008-04-01 Simon Hausmann <hausmann (a] webkit.org> 35696 35697 Fix the non-mac build. 35698 35699 * page/AXObjectCache.h: Don't reference AccessibilityObjects when 35700 building without accessibility. 35701 * page/AccessibilityObject.h: Don't include RetainPtr.h for non-mac 35702 builds. 35703 35704 2008-04-01 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 35705 35706 Reviewed by Simon. 35707 35708 * Do not store the QWebFrame associated with a ScrollView/FrameView 35709 in the WebCore::Widget. 35710 * Instead of asking the Widget for the QWebFrame use the QWebFramePrivate::core 35711 and QWebFramePrivate::kit function to convert from and to QWebFrame. 35712 35713 * platform/Widget.h: 35714 * platform/qt/WidgetQt.cpp: 35715 (WebCore::WidgetPrivate::WidgetPrivate): 35716 (WebCore::Widget::containingWindow): 35717 35718 2008-04-01 Alice Liu <alice.liu (a] apple.com> 35719 Patch by Beth Dakin <bdakin (a] apple.com> and Alice Liu 35720 35721 Reviewed by Darin. 35722 35723 Refactored WebCore Accessibility code. Prior to this patch, WebCore 35724 accessibility was implemented in an ObjC class named WebCoreAXObject, 35725 with much of the "guts" in C++. This patch the next natural step of 35726 factoring out the C++ code into a class named AccessibilityObject, and 35727 in order to maintain the required ObjC object ties, also implements an 35728 ObjC class named AccessibilityObjectWrapper as a thin wrapper around the 35729 C++ object. Internally within WebCore we operate on the C++ object as 35730 much as possible, and the ObjC object gets used mostly when we need to 35731 return something to AppKit or call something implemented on NSObject. 35732 The AXObjectCache still keeps one HashMap, now of RenderObjects to 35733 AccessibilityObjects instead of WebCoreAXObjects, and the 35734 AccessibilityObject keeps track of its ObjC wrapper. 35735 35736 * WebCore.xcodeproj/project.pbxproj: 35737 * page/AXObjectCache.h: 35738 (WebCore::AXObjectCache::get): 35739 (WebCore::AXObjectCache::removeAXID): 35740 * page/AccessibilityObject.cpp: Added. 35741 (WebCore::AccessibilityObject::AccessibilityObject): 35742 (WebCore::AccessibilityObject::~AccessibilityObject): 35743 (WebCore::AccessibilityObject::create): 35744 (WebCore::AccessibilityObject::detach): 35745 (WebCore::AccessibilityObject::firstChild): 35746 (WebCore::AccessibilityObject::lastChild): 35747 (WebCore::AccessibilityObject::previousSibling): 35748 (WebCore::AccessibilityObject::nextSibling): 35749 (WebCore::AccessibilityObject::parentObject): 35750 (WebCore::AccessibilityObject::parentObjectUnignored): 35751 (WebCore::AccessibilityObject::isWebArea): 35752 (WebCore::AccessibilityObject::isImageButton): 35753 (WebCore::AccessibilityObject::isAnchor): 35754 (WebCore::AccessibilityObject::isTextControl): 35755 (WebCore::AccessibilityObject::isImage): 35756 (WebCore::AccessibilityObject::isAttachment): 35757 (WebCore::isPasswordFieldElement): 35758 (WebCore::AccessibilityObject::isPasswordField): 35759 (WebCore::AccessibilityObject::headingLevel): 35760 (WebCore::AccessibilityObject::isHeading): 35761 (WebCore::AccessibilityObject::anchorElement): 35762 (WebCore::isCheckboxOrRadio): 35763 (WebCore::AccessibilityObject::actionElement): 35764 (WebCore::AccessibilityObject::mouseButtonListener): 35765 (WebCore::AccessibilityObject::helpText): 35766 (WebCore::AccessibilityObject::textUnderElement): 35767 (WebCore::AccessibilityObject::hasIntValue): 35768 (WebCore::AccessibilityObject::intValue): 35769 (WebCore::AccessibilityObject::stringValue): 35770 (WebCore::labelForElement): 35771 (WebCore::AccessibilityObject::title): 35772 (WebCore::AccessibilityObject::accessibilityDescription): 35773 (WebCore::AccessibilityObject::boundingBoxRect): 35774 (WebCore::AccessibilityObject::size): 35775 (WebCore::AccessibilityObject::linkedUIElement): 35776 (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId): 35777 (WebCore::AccessibilityObject::accessibilityIsIgnored): 35778 (WebCore::AccessibilityObject::loaded): 35779 (WebCore::AccessibilityObject::layoutCount): 35780 (WebCore::AccessibilityObject::textLength): 35781 (WebCore::AccessibilityObject::selectedText): 35782 (WebCore::AccessibilityObject::selection): 35783 (WebCore::AccessibilityObject::selectedTextRange): 35784 (WebCore::AccessibilityObject::setSelectedText): 35785 (WebCore::AccessibilityObject::setSelectedTextRange): 35786 (WebCore::AccessibilityObject::makeRangeVisible): 35787 (WebCore::AccessibilityObject::url): 35788 (WebCore::AccessibilityObject::isVisited): 35789 (WebCore::AccessibilityObject::isFocused): 35790 (WebCore::AccessibilityObject::setFocused): 35791 (WebCore::AccessibilityObject::setValue): 35792 (WebCore::AccessibilityObject::isEnabled): 35793 (WebCore::AccessibilityObject::press): 35794 (WebCore::AccessibilityObject::topRenderer): 35795 (WebCore::AccessibilityObject::textControl): 35796 (WebCore::AccessibilityObject::widget): 35797 (WebCore::AccessibilityObject::axObjectCache): 35798 (WebCore::AccessibilityObject::documentLinks): 35799 (WebCore::AccessibilityObject::documentFrameView): 35800 (WebCore::AccessibilityObject::frameViewIfRenderView): 35801 (WebCore::AccessibilityObject::visiblePositionRange): 35802 (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine): 35803 (WebCore::AccessibilityObject::doAXTextMarkerRangeForUnorderedTextMarkers): 35804 (WebCore::AccessibilityObject::doAXLeftWordTextMarkerRangeForTextMarker): 35805 (WebCore::AccessibilityObject::doAXRightWordTextMarkerRangeForTextMarker): 35806 (WebCore::updateAXLineStartForVisiblePosition): 35807 (WebCore::AccessibilityObject::doAXLeftLineTextMarkerRangeForTextMarker): 35808 (WebCore::AccessibilityObject::doAXRightLineTextMarkerRangeForTextMarker): 35809 (WebCore::AccessibilityObject::doAXSentenceTextMarkerRangeForTextMarker): 35810 (WebCore::AccessibilityObject::doAXParagraphTextMarkerRangeForTextMarker): 35811 (WebCore::startOfStyleRange): 35812 (WebCore::endOfStyleRange): 35813 (WebCore::AccessibilityObject::doAXStyleTextMarkerRangeForTextMarker): 35814 (WebCore::AccessibilityObject::textMarkerRangeForRange): 35815 (WebCore::AccessibilityObject::stringForReplacedNode): 35816 (WebCore::AccessibilityObject::doAXStringForTextMarkerRange): 35817 (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange): 35818 (WebCore::AccessibilityObject::doAXLengthForTextMarkerRange): 35819 (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange): 35820 (WebCore::AccessibilityObject::doAXTextMarkerForPosition): 35821 (WebCore::AccessibilityObject::doAXNextTextMarkerForTextMarker): 35822 (WebCore::AccessibilityObject::doAXPreviousTextMarkerForTextMarker): 35823 (WebCore::AccessibilityObject::doAXNextWordEndTextMarkerForTextMarker): 35824 (WebCore::AccessibilityObject::doAXPreviousWordStartTextMarkerForTextMarker): 35825 (WebCore::AccessibilityObject::doAXNextLineEndTextMarkerForTextMarker): 35826 (WebCore::AccessibilityObject::doAXPreviousLineStartTextMarkerForTextMarker): 35827 (WebCore::AccessibilityObject::doAXNextSentenceEndTextMarkerForTextMarker): 35828 (WebCore::AccessibilityObject::doAXPreviousSentenceStartTextMarkerForTextMarker): 35829 (WebCore::AccessibilityObject::doAXNextParagraphEndTextMarkerForTextMarker): 35830 (WebCore::AccessibilityObject::doAXPreviousParagraphStartTextMarkerForTextMarker): 35831 (WebCore::AccessibilityObject::textMarkerForIndex): 35832 (WebCore::AccessibilityObject::doAXUIElementForTextMarker): 35833 (WebCore::AccessibilityObject::doAXLineForTextMarker): 35834 (WebCore::AccessibilityObject::rangeForTextMarkerRange): 35835 (WebCore::AccessibilityObject::indexForTextMarker): 35836 (WebCore::AccessibilityObject::doAXRangeForLine): 35837 (WebCore::AccessibilityObject::doAXRangeForPosition): 35838 (WebCore::AccessibilityObject::doAXRangeForIndex): 35839 (WebCore::AccessibilityObject::doAXStyleRangeForIndex): 35840 (WebCore::AccessibilityObject::doAXStringForRange): 35841 (WebCore::AccessibilityObject::doAXBoundsForRange): 35842 (WebCore::AccessibilityObject::doAXLineForIndex): 35843 (WebCore::AccessibilityObject::doAccessibilityHitTest): 35844 (WebCore::AccessibilityObject::focusedUIElement): 35845 (WebCore::AccessibilityObject::observableObject): 35846 (WebCore::AccessibilityObject::roleValue): 35847 (WebCore::AccessibilityObject::canSetFocusAttribute): 35848 (WebCore::AccessibilityObject::canSetValueAttribute): 35849 (WebCore::AccessibilityObject::canSetTextRangeAttributes): 35850 (WebCore::AccessibilityObject::childrenChanged): 35851 (WebCore::AccessibilityObject::clearChildren): 35852 (WebCore::AccessibilityObject::hasChildren): 35853 (WebCore::AccessibilityObject::addChildren): 35854 (WebCore::AccessibilityObject::axObjectID): 35855 (WebCore::AccessibilityObject::setAXObjectID): 35856 (WebCore::AccessibilityObject::removeAXObjectID): 35857 * page/AccessibilityObject.h: Added. 35858 (WebCore::VisiblePositionRange::VisiblePositionRange): 35859 (WebCore::VisiblePositionRange::isNull): 35860 (WebCore::AccessibilityObject::detached): 35861 (WebCore::AccessibilityObject::PlainTextRange::PlainTextRange): 35862 (WebCore::AccessibilityObject::PlainTextRange::isNull): 35863 (WebCore::AccessibilityObject::renderer): 35864 (WebCore::AccessibilityObject::children): 35865 (WebCore::AccessibilityObject::wrapper): 35866 (WebCore::AccessibilityObject::setWrapper): 35867 * page/mac/AXObjectCacheMac.mm: 35868 (WebCore::AXObjectCache::~AXObjectCache): 35869 (WebCore::AXObjectCache::get): 35870 (WebCore::AXObjectCache::remove): 35871 (WebCore::AXObjectCache::getAXID): 35872 (WebCore::AXObjectCache::removeAXID): 35873 (WebCore::AXObjectCache::textMarkerForVisiblePosition): 35874 (WebCore::AXObjectCache::childrenChanged): 35875 (WebCore::AXObjectCache::postNotification): 35876 (WebCore::AXObjectCache::postNotificationToElement): 35877 * page/mac/AccessibilityObjectMac.mm: Added. 35878 (createAccessibilityRoleMap): 35879 (RoleEntry::): 35880 (roleValueToNSString): 35881 (AccessibilityObject::attachmentView): 35882 (AccessibilityObject::performPressActionForAttachment): 35883 (AccessibilityObject::textMarkerRange): 35884 (AccessibilityObject::textMarkerForVisiblePosition): 35885 (AccessibilityObject::startTextMarker): 35886 (AccessibilityObject::visiblePositionForTextMarker): 35887 (AccessibilityObject::visiblePositionForStartOfTextMarkerRange): 35888 (AccessibilityObject::visiblePositionForEndOfTextMarkerRange): 35889 (AccessibilityObject::textMarkerRangeFromVisiblePositions): 35890 (AccessibilityObject::textMarkerRangeForSelection): 35891 (AccessibilityObject::textMarkerRangeFromMarkers): 35892 (AccessibilityObject::convertViewRectToScreenCoords): 35893 (AccessibilityObject::convertAbsolutePointToViewCoords): 35894 (AccessibilityObject::convertWidgetChildrenToNSArray): 35895 (AccessibilityObject::position): 35896 (AccessibilityObject::role): 35897 (AccessibilityObject::subrole): 35898 (AccessibilityObject::roleDescription): 35899 (blockquoteLevel): 35900 (AccessibilityObject::AXAttributeStringSetElement): 35901 (AXAttributeStringSetBlockquoteLevel): 35902 (CreateCGColorIfDifferent): 35903 (AXAttributeStringSetColor): 35904 (AXAttributeStringSetNumber): 35905 (AXAttributeStringSetFont): 35906 (AXAttributeStringSetStyle): 35907 (AccessibilityObject::AXAttributeStringSetHeadingLevel): 35908 (AccessibilityObject::AXLinkElementForNode): 35909 (AXAttributeStringSetSpelling): 35910 (AccessibilityObject::AXAttributedStringAppendText): 35911 (nsStringForReplacedNode): 35912 (AccessibilityObject::doAXAttributedStringForTextMarkerRange): 35913 (AccessibilityObject::doAXAttributedStringForRange): 35914 (AccessibilityObject::doAXRTFForRange): 35915 * page/mac/AccessibilityObjectWrapper.h: Added. 35916 * page/mac/AccessibilityObjectWrapper.mm: Added. 35917 (-[AccessibilityObjectWrapper initWithAccessibilityObject:]): 35918 (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]): 35919 (-[AccessibilityObjectWrapper detach]): 35920 (-[AccessibilityObjectWrapper accessibilityObject]): 35921 (-[AccessibilityObjectWrapper accessibilityActionNames]): 35922 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 35923 (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]): 35924 (-[AccessibilityObjectWrapper renderWidgetChildren]): 35925 (convertToNSArray): 35926 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 35927 (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]): 35928 (-[AccessibilityObjectWrapper accessibilityHitTest:]): 35929 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): 35930 (-[AccessibilityObjectWrapper accessibilityIsIgnored]): 35931 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): 35932 (-[AccessibilityObjectWrapper accessibilityPerformAction:]): 35933 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 35934 (rendererForView): 35935 (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]): 35936 (-[AccessibilityObjectWrapper accessibilityActionDescription:]): 35937 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): 35938 (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]): 35939 * page/mac/WebCoreAXObject.h: Removed. 35940 * page/mac/WebCoreAXObject.mm: Removed. 35941 * rendering/RenderMenuList.cpp: 35942 (WebCore::RenderMenuList::selectElement): 35943 * rendering/RenderMenuList.h: 35944 35945 2008-03-31 Dan Bernstein <mitz (a] apple.com> 35946 35947 - fix previous attempted fixes 35948 35949 * platform/qt/TemporaryLinkStubs.cpp: 35950 (PluginDatabase::getPluginPathsInDirectories): 35951 * platform/wx/TemporaryLinkStubs.cpp: 35952 (PluginDatabase::getPluginPathsInDirectories): 35953 35954 2008-03-31 Dan Bernstein <mitz (a] apple.com> 35955 35956 - fix Qt link stubs 35957 35958 * platform/qt/TemporaryLinkStubs.cpp: 35959 (PluginDatabase::getPluginPathsInDirectories): 35960 (PluginDatabase::isPreferredPluginDirectory): 35961 35962 2008-03-31 Dan Bernstein <mitz (a] apple.com> 35963 35964 - try to fix the Wx build 35965 35966 * platform/wx/TemporaryLinkStubs.cpp: 35967 (PluginDatabase::getPluginPathsInDirectories): 35968 (PluginDatabase::isPreferredPluginDirectory): 35969 35970 2008-03-31 Dan Bernstein <mitz (a] apple.com> 35971 35972 - Gtk and Qt build fixes 35973 35974 * platform/graphics/gtk/FontCustomPlatformData.cpp: 35975 (WebCore::FontCustomPlatformData::fontPlatformData): 35976 * platform/graphics/gtk/FontCustomPlatformData.h: 35977 * platform/graphics/qt/FontCustomPlatformData.cpp: 35978 (WebCore::FontCustomPlatformData::fontPlatformData): 35979 * platform/graphics/qt/FontCustomPlatformData.h: 35980 35981 2008-03-31 Dan Bernstein <mitz (a] apple.com> 35982 35983 - Mac build fix 35984 35985 * platform/graphics/mac/FontCustomPlatformData.cpp: 35986 (WebCore::FontCustomPlatformData::fontPlatformData): 35987 * platform/graphics/mac/FontCustomPlatformData.h: 35988 35989 2008-03-31 Dan Bernstein <mitz (a] apple.com> 35990 35991 Reviewed by Darin Adler. 35992 35993 - fix <rdar://problem/5792638> @font-face with downloadable fonts doesn't work with GDI text 35994 35995 * WebCore.vcproj/WebCore.vcproj: Added GetEOTHeader.{h,cpp} 35996 35997 * css/CSSFontFaceSource.cpp: 35998 (WebCore::CSSFontFaceSource::getFontData): Changed to pass the rendering 35999 mode to CachedFont::platformDataFromCustomData(). 36000 36001 * loader/CachedFont.cpp: 36002 (WebCore::CachedFont::platformDataFromCustomData): Added a rendering 36003 mode parameter which is passed down to 36004 FontCustomPlatformData::fontPlatformData(). 36005 36006 * loader/CachedFont.h: 36007 36008 * platform/graphics/win/FontCacheWin.cpp: 36009 (WebCore::FontCache::fontExists): Changed the number 5 to the named 36010 constant CLEARTYPE_QUALITY. 36011 36012 * platform/graphics/win/FontCustomPlatformData.cpp: 36013 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added code 36014 to delete the embedded font reference. 36015 (WebCore::FontCustomPlatformData::fontPlatformData): Added code to 36016 create an HFONT from the embedded font reference and pass it along with 36017 the CGFontRef to the FontPlatformData constructor. Added a rendering 36018 mode parameter which is passed down to the FontPlatformData constructor. 36019 (WebCore::EOTStream::EOTStream): Added this helper class used to feed 36020 data to TTLoadEmbeddedFont(). 36021 (WebCore::EOTStream::read): Added. 36022 (WebCore::readEmbedProc): Added this TTLoadEmbeddedFont() callback. 36023 (WebCore::createUniqueFontName): Added. Creates a unique GUID-derived 36024 font name. 36025 (WebCore::createFontCustomPlatformData): Added code to make the font 36026 accessible to GDI by creating an Embedded OpenType stream and 36027 activating it in the process under a globally-unique name. 36028 36029 * platform/graphics/win/FontCustomPlatformData.h: 36030 Added a font reference data member which holds the embedded font. 36031 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a 36032 rendering mode parameter. 36033 36034 * platform/graphics/win/FontPlatformData.h: 36035 (WebCore::FontPlatformData::FontPlatformData): Made this class always 36036 own the CGFontRef and the HFONT by turning these data members into a 36037 RetainPtr and a RefPtr around a RefCountedHFONT. 36038 Added an HFONT parameter to the CGFontRef-based constructor. 36039 Made platformDataInit() private. 36040 (WebCore::FontPlatformData::hfont): 36041 (WebCore::FontPlatformData::cgFont): 36042 (WebCore::FontPlatformData::hash): 36043 (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT): Added. 36044 (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT): 36045 (WebCore::FontPlatformData::RefCountedHFONT::hfont): 36046 (WebCore::FontPlatformData::RefCountedHFONT::hash): 36047 36048 * platform/graphics/win/FontPlatformDataCGWin.cpp: 36049 (WebCore::FontPlatformData::platformDataInit): Changed to take 36050 ownership of the CGFontRef created here. 36051 (WebCore::FontPlatformData::FontPlatformData): Added an HFONT parameter 36052 and a useGDI flag. 36053 36054 * platform/graphics/win/FontPlatformDataWin.cpp: 36055 (WebCore::FontPlatformData::FontPlatformData): Changed to take ownership 36056 of the HFONT. 36057 36058 * platform/graphics/win/GetEOTHeader.cpp: Added. 36059 (WebCore::BigEndianUShort::operator unsigned short): 36060 (WebCore::BigEndianULong::operator unsigned): 36061 (WebCore::appendBigEndianStringToEOTHeader): 36062 (WebCore::getEOTHeader): Added. Creates an Embedded OpenType (.eot) 36063 header for the given font data, making it suitable as input for 36064 TTLoadEmbeddedFont. 36065 36066 * platform/graphics/win/GetEOTHeader.h: Added. 36067 36068 * platform/graphics/win/SimpleFontDataCGWin.cpp: 36069 (WebCore::SimpleFontData::platformDestroy): Removed code to delete parts 36070 of the FontPlatformData, since they are now always owned and managed 36071 by the FontPlatformData. 36072 36073 2008-03-31 Darin Adler <darin (a] apple.com> 36074 36075 Reviewed by Anders. 36076 36077 - fix crash seen on buildbot (regression from a recent speedup) 36078 36079 * html/HTMLDocument.cpp: 36080 (WebCore::HTMLDocument::createElement): Check validity before calling isLower, since 36081 that takes care of the null string case. 36082 36083 2008-03-31 Dan Bernstein <mitz (a] apple.com> 36084 36085 Reviewed by John Sullivan. 36086 36087 - fix <rdar://problem/5741075> Google Maps: cursor and placemarks don't match up 36088 36089 * platform/win/CursorWin.cpp: 36090 (WebCore::Cursor::Cursor): Set the 1-bit mask for full-alpha cursors 36091 to fully opaque. The mask is ignored and the alpha values from the 36092 32-bit image are used except in the case of a fully-transparent image, 36093 in which the fully-opaque 1-bit mask is required to get transparency. 36094 36095 2008-03-31 Brady Eidson <beidson (a] apple.com> 36096 36097 Reviewed by Jon Honeycutt 36098 36099 Move a WebArchive loading check into WebCore 36100 36101 * loader/FrameLoader.cpp: 36102 (WebCore::FrameLoader::committedLoad): Don't call the client method if currently loading a WebArchive 36103 36104 2008-03-31 Brady Eidson <beidson (a] apple.com> 36105 36106 Reviewed by Oliver Hunt 36107 36108 "Turn on" WebArchives for Windows 36109 36110 Thought I'd done this already, but I hadn't! 36111 36112 * platform/MIMETypeRegistry.cpp: 36113 (WebCore::initializeSupportedNonImageMimeTypes): Apply known ArchiveFactory MIME types 36114 36115 2008-03-31 Dan Bernstein <mitz (a] apple.com> 36116 36117 Reviewed by Dave Hyatt. 36118 36119 - fix http://bugs.webkit.org/show_bug.cgi?id=18076 36120 Box disappears after CSS Transition completes 36121 36122 * page/AnimationController.cpp: Changed the BLEND_MAYBE_INVALID_COLOR 36123 macro to not blend two invalid colors. 36124 * rendering/RenderStyle.cpp: 36125 (WebCore::StyleBackgroundData::StyleBackgroundData): Added missing 36126 copying of the m_color data member. 36127 36128 2008-03-31 Julien Chaffraix <jchaffraix (a] webkit.org> 36129 36130 Reviewed by Darin. 36131 36132 Bug 18177: m_encoding is used twice in XMLHttpRequest 36133 http://bugs.webkit.org/show_bug.cgi?id=18177 36134 36135 - Change XMLHttpRequest variable m_encoding to m_responseEncoding. 36136 36137 - Change send local variable m_encoding to encoding. 36138 36139 No test case (no functionnal change). 36140 36141 * platform/network/ResourceResponseBase.h: Removed unused variable. 36142 * xml/XMLHttpRequest.cpp: 36143 (WebCore::XMLHttpRequest::send): Changed local m_encoding to encoding. 36144 (WebCore::XMLHttpRequest::didReceiveResponse): m_encoding -> m_responseEncoding. 36145 (WebCore::XMLHttpRequest::didReceiveData): Ditto. 36146 * xml/XMLHttpRequest.h: Change m_encoding to m_responseEncoding to disambiguate 36147 the name as it is only used for response. 36148 36149 2008-03-27 Adam Roben <aroben (a] apple.com> 36150 36151 Pass the right ExecStates to toJS when creating JS wrappers for 36152 objects from the inspected page 36153 36154 We now use an ExecState from the inspected page to create the JS 36155 wrappers for objects from the inspected page, rather than use an 36156 ExecState from the Inspector. 36157 36158 Reviewed by Tim Hatcher. 36159 36160 * page/InspectorController.cpp: 36161 (WebCore::getResourceDocumentNode): 36162 (WebCore::InspectorController::focusNode): 36163 (WebCore::InspectorController::addDatabaseScriptResource): 36164 36165 2008-03-31 Adam Roben <aroben (a] apple.com> 36166 36167 Stop relying on functions added to prototypes in the Inspector being 36168 callable on objects from the inspected window 36169 36170 Reviewed by Tim Hatcher. 36171 36172 * page/inspector/Console.js: 36173 (WebInspector.ConsolePanel._formatnode): Use nodeTitleInfo.call(node) 36174 instead of node.titleInfo(). 36175 * page/inspector/StylesSidebarPane.js: Changed uses of 36176 getShorthandValue, getShorthandPriority, getLonghandProperties, and 36177 getUniqueStyleProperties to call them as functions instead of as 36178 methods on the CSSStyleDeclaration objects. 36179 * page/inspector/utilities.js: Removed Node.prototype.titleInfo, and 36180 changed our CSSStyleDeclaration methods to just be standalone 36181 functions. 36182 36183 2008-03-26 Adam Roben <aroben (a] apple.com> 36184 36185 Fix an exception while adding a message to the console 36186 36187 Reviewed by Mark Rowe. 36188 36189 * page/inspector/ConsolePanel.js: Don't call addMessageToSource if the 36190 panel has no such method. This can happen if we get a message for, 36191 e.g., a Database. 36192 36193 2008-03-31 Brady Eidson <beidson (a] apple.com> 36194 36195 Reviewed by Darin and Mitz's rubber stamp 36196 36197 Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore 36198 36199 * page/EditorClient.h: 36200 * svg/graphics/SVGImageEmptyClients.h: 36201 36202 * platform/mac/PasteboardMac.mm: 36203 (WebCore::Pasteboard::writeSelection): Make the archive and get the data directly 36204 36205 2008-03-31 Brady Eidson <beidson (a] apple.com> 36206 36207 Reviewed by Mitz Pettel 36208 36209 Fix for http://bugs.webkit.org/show_bug.cgi?id=18183 36210 36211 Despite the bug reporter's instructions, I have still not been able to actually reproduce this crash and 36212 therefore don't know how to make a layout test for it. 36213 36214 * loader/archive/ArchiveResource.cpp: 36215 (WebCore::ArchiveResource::response): Fix potential null dereference 36216 36217 2008-03-29 Adam Roben <aroben (a] apple.com> 36218 36219 Fix Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing on 36220 Windows 36221 36222 <http://bugs.webkit.org/show_bug.cgi?id=18208> 36223 36224 We now keep track of all the plugin paths found each time refresh() is 36225 called. We'll only instantiate PluginPackages if there are new paths 36226 or paths with changed timestamps since the last time refresh() was 36227 called. 36228 36229 Reviewed by Darin Adler and Anders Carlsson. 36230 36231 * plugins/PluginDatabase.cpp: 36232 (WebCore::PluginDatabase::refresh): 36233 - Only instantiate PluginPackages if there is a new path or a path 36234 with a changed timestamp since we last ran refresh(). 36235 - Cache the set of plugin paths found and their timestamps for the 36236 next call to refresh(). 36237 - Only re-register MIME types if our set of plugins changed. 36238 * plugins/PluginDatabase.h: Added a new member to cache plugin paths 36239 and their timestamps. 36240 36241 2008-03-29 Adam Roben <aroben (a] apple.com> 36242 36243 Separate filesystem crawling from PluginPackage instantiation 36244 36245 Part of Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing 36246 on Windows 36247 <http://bugs.webkit.org/show_bug.cgi?id=18208> 36248 36249 refresh() is now the only place where PluginPackages are instantiated. 36250 refresh() now asks for a set of plugins that no longer exist on disk, 36251 and the set of all plugin files in our plugin directories. Using these 36252 two sets we can update our instantiated plugins without copying any 36253 HashSets. The code in refresh() and in the platform-specific methods 36254 to crawl the filesystem is now quite a bit simpler. 36255 36256 PluginDatabase now stores both a PluginSet and a HashMap that maps 36257 plugin paths to PluginPackages. This allows us to quickly determine 36258 whether we already have a PluginPackage instantiated for a particular 36259 path. The new add/remove methods handle the modification of these two 36260 collections. 36261 36262 A nice side effect of all this is that refresh() no longer copies any 36263 HashSets. 36264 36265 Reviewed by Mitz Pettel. 36266 36267 * plugins/PluginDatabase.cpp: 36268 (WebCore::PluginDatabase::refresh): Unload any plugins that have been 36269 deleted from disk, and add any plugins that either weren't installed 36270 last time, or have changed since last time. 36271 (WebCore::PluginDatabase::getDeletedPlugins): Added. 36272 (WebCore::PluginDatabase::add): Added. Returns whether or not the 36273 PluginPackage was actually added to the database (duplicates won't be 36274 added). 36275 (WebCore::PluginDatabase::remove): Added. 36276 * plugins/PluginDatabase.h: 36277 * plugins/PluginPackage.h: 36278 (WebCore::PluginPackage::path): Added. 36279 (WebCore::PluginPackage::lastModified): Added. 36280 * plugins/gtk/PluginDatabaseGtk.cpp: 36281 (WebCore::PluginDatabase::getPluginPathsInDirectories): Renamed from 36282 getPluginsInDirectories. Now fills a HashSet of Strings instead of 36283 instantiated PluginPackages. 36284 * plugins/win/PluginDatabaseWin.cpp: 36285 (WebCore::addPluginPathsFromRegistry): Ditto. 36286 (WebCore::PluginDatabase::getPluginPathsInDirectories): Ditto. 36287 36288 2008-03-29 Adam Roben <aroben (a] apple.com> 36289 36290 Change getPluginsInDirectories to use an out parameter 36291 36292 This avoids copying a HashSet. 36293 36294 Reviewed by Mitz Pettel. 36295 36296 * plugins/PluginDatabase.cpp: 36297 (WebCore::PluginDatabase::refresh): 36298 * plugins/PluginDatabase.h: 36299 * plugins/gtk/PluginDatabaseGtk.cpp: 36300 (WebCore::PluginDatabase::getPluginsInDirectories): 36301 * plugins/win/PluginDatabaseWin.cpp: 36302 (WebCore::PluginDatabase::getPluginsInDirectories): 36303 36304 2008-03-29 Adam Roben <aroben (a] apple.com> 36305 36306 Make some PluginPackage methods return const String& 36307 36308 Reviewed by Mitz Pettel. 36309 36310 * plugins/PluginPackage.h: 36311 36312 2008-03-29 Adam Roben <aroben (a] apple.com> 36313 36314 Rename PluginDatabase's "PluginPaths" to "PluginDirectories" 36315 36316 The code expects these paths to all be directories, so it seems good 36317 to refer to them as such. 36318 36319 This patch just changes "Paths" to "Directories" and "Path" to 36320 "Directory". 36321 36322 Reviewed by Mitz Pettel. 36323 36324 * platform/qt/TemporaryLinkStubs.cpp: 36325 * platform/wx/TemporaryLinkStubs.cpp: 36326 * plugins/PluginDatabase.cpp: 36327 (WebCore::PluginDatabase::installedPlugins): 36328 (WebCore::PluginDatabase::refresh): 36329 * plugins/PluginDatabase.h: 36330 (WebCore::PluginDatabase::setPluginDirectories): 36331 * plugins/gtk/PluginDatabaseGtk.cpp: 36332 (WebCore::PluginDatabase::getPluginsInDirectories): 36333 * plugins/win/PluginDatabaseWin.cpp: 36334 (WebCore::PluginDatabase::getPluginsInDirectories): 36335 (WebCore::safariPluginsDirectory): 36336 (WebCore::PluginDatabase::defaultPluginDirectories): 36337 (WebCore::PluginDatabase::isPreferredPluginDirectory): 36338 * plugins/win/PluginPackageWin.cpp: 36339 (WebCore::PluginPackage::compare): 36340 36341 2008-03-29 Adam Roben <aroben (a] apple.com> 36342 36343 Remove PlatformFileTime 36344 36345 This typedef is time_t on all platforms, so we can just get rid of the 36346 typedef. 36347 36348 Reviewed by Mitz Pettel. 36349 36350 * platform/FileSystem.h: 36351 * plugins/PluginPackage.cpp: 36352 * plugins/PluginPackage.h: 36353 36354 2008-03-29 Adam Roben <aroben (a] apple.com> 36355 36356 Change PlatformFileTime on Windows to be time_t 36357 36358 This matches other platforms and our existing functions in 36359 FileSystem.h. It will also let us get rid of PlatformFileTime 36360 altogether. 36361 36362 Reviewed by Mitz Pettel. 36363 36364 * platform/FileSystem.h: Change PlatformFileTime to time_t on Windows. 36365 * plugins/win/PluginDatabaseWin.cpp: 36366 (WebCore::addPluginsFromRegistry): Use getFileModificationTime to get 36367 the modification time to pass to PluginPackage::create. 36368 (WebCore::PluginDatabase::getPluginsInPaths): Ditto. 36369 * plugins/win/PluginPackageWin.cpp: 36370 (WebCore::PluginPackage::hash): Updated to use m_lastModified as a 36371 time_t. 36372 (WebCore::PluginPackage::equal): Ditto. 36373 36374 2008-03-29 Adam Roben <aroben (a] apple.com> 36375 36376 Make PluginPackage work like our other RefCounted classes 36377 36378 PluginPackage now starts with a ref count of 1, and its createPackage 36379 method now returns a PassRefPtr instead of a raw pointer. 36380 36381 Reviewed by Darin Adler. 36382 36383 * plugins/PluginPackage.cpp: 36384 (WebCore::PluginPackage::PluginPackage): Removed explicit call to the 36385 RefCounted constructor so that we'll start with a ref count of 1. 36386 (WebCore::PluginPackage::createPackage): Changed to return a 36387 PassRefPtr. 36388 * plugins/PluginPackage.h: 36389 * plugins/gtk/PluginDatabaseGtk.cpp: 36390 (WebCore::PluginDatabase::getPluginsInPaths): Changed to store the 36391 newly-created PluginPackage in a RefPtr. 36392 * plugins/win/PluginDatabaseWin.cpp: 36393 (WebCore::addPluginsFromRegistry): Ditto. 36394 (WebCore::PluginDatabase::getPluginsInPaths): Ditto. 36395 36396 2008-03-29 Adam Roben <aroben (a] apple.com> 36397 36398 Fix Bug 18214: WebKit will sometimes load duplicate plugins 36399 36400 <http://bugs.webkit.org/show_bug.cgi?id=18214> 36401 36402 We now compare 3 things to determine if two PluginPackages are equal: 36403 1) Name 36404 2) Description 36405 3) Supported MIME types 36406 36407 This matches Gecko's equality logic for plugins (implemented in 36408 nsPluginTag::Equals). 36409 36410 Reviewed by Darin Adler. 36411 36412 * plugins/win/PluginPackageWin.cpp: 36413 (WebCore::PluginPackage::hash): Use the above-mentioned 3 criteria to 36414 calculate the hash. 36415 (WebCore::PluginPackage::equal): Use the above-mentioned 3 criteria to 36416 determine equality. 36417 36418 2008-03-31 Simon Hausmann <hausmann (a] webkit.org> 36419 36420 Fix the Qt build. 36421 36422 ResourceHandleInternal.h references ResourceHandle::fireFailure, so include 36423 ResourceHandle.h. 36424 36425 * platform/network/ResourceHandleInternal.h: 36426 36427 2008-03-31 Rob Buis <buis (a] kde.org> 36428 36429 Reviewed by Darin. 36430 36431 http://bugs.webkit.org/show_bug.cgi?id=15595 36432 marker property doesn't show up correctly as "shorthand" in inspector 36433 36434 Make sure parsing the marker property sets the individual 36435 marker properties as implicit with marker as shorthand. 36436 Also let CSSStyleDecleration::getPropertyValue return 36437 the correct value for the marker property. 36438 36439 * css/CSSMutableStyleDeclaration.cpp: 36440 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 36441 * css/CSSParser.cpp: 36442 * css/CSSParser.h: 36443 (WebCore::ShorthandScope::ShorthandScope): 36444 (WebCore::ShorthandScope::~ShorthandScope): 36445 * css/SVGCSSParser.cpp: 36446 (WebCore::CSSParser::parseSVGValue): 36447 36448 2008-03-30 Eric Seidel <eric (a] webkit.org> 36449 36450 Reviewed by Oliver. 36451 36452 Make AMatthews life easier -- fix the SVG_FILTERS build 36453 36454 Build fix only, no tests. 36455 36456 * svg/SVGComponentTransferFunctionElement.cpp: 36457 (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): 36458 * svg/SVGFEColorMatrixElement.cpp: 36459 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement): 36460 * svg/SVGFEDiffuseLightingElement.cpp: 36461 * svg/SVGFEGaussianBlurElement.cpp: 36462 * svg/SVGFEImageElement.cpp: 36463 (WebCore::SVGFEImageElement::SVGFEImageElement): 36464 * svg/SVGFESpecularLightingElement.cpp: 36465 * svg/SVGFETurbulenceElement.cpp: 36466 * svg/SVGFilterElement.cpp: 36467 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 36468 * svg/graphics/filters/SVGFEBlend.cpp: 36469 * svg/graphics/filters/SVGFEComponentTransfer.cpp: 36470 * svg/graphics/filters/SVGFEComposite.cpp: 36471 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: 36472 * svg/graphics/filters/SVGFEGaussianBlur.cpp: 36473 * svg/graphics/filters/SVGFEImage.cpp: 36474 * svg/graphics/filters/SVGFEMerge.cpp: 36475 * svg/graphics/filters/SVGFEMorphology.cpp: 36476 * svg/graphics/filters/SVGFEOffset.cpp: 36477 * svg/graphics/filters/SVGFESpecularLighting.cpp: 36478 * svg/graphics/filters/SVGFETurbulence.cpp: 36479 36480 2008-03-30 Dan Bernstein <mitz (a] apple.com> 36481 36482 Reviewed by Sam Weinig. 36483 36484 - fix http://bugs.webkit.org/show_bug.cgi?id=18115 36485 REGRESSION (r31250): Incomplete repaint of GoogleReader sidebar while reading unread posts 36486 36487 Test: fast/repaint/lines-with-layout-delta.html 36488 36489 * rendering/RenderObject.cpp: 36490 (WebCore::RenderObject::repaintRectangle): Made this method take layout 36491 delta into account. 36492 36493 2008-03-30 Dan Bernstein <mitz (a] apple.com> 36494 36495 Reviewed by Maciej Stachowiak. 36496 36497 - fix assertion failure in CSSParser.cpp's equalIgnoringCase() when 36498 parsing certain transforms. 36499 36500 Test: fast/css/transform-function-lowercase-assert.html 36501 36502 * css/CSSParser.cpp: 36503 (WebCore::TransformOperationInfo::TransformOperationInfo): Changed to 36504 always pass a lowercase string as the second argument of 36505 equalIgnoringCase(). 36506 36507 2008-03-30 Mark Rowe <mrowe (a] apple.com> 36508 36509 ARM build fix. 36510 36511 * platform/text/AtomicString.cpp: 36512 (WebCore::equal): Use correct variable name. 36513 36514 2008-03-30 Hiroyuki Ikezoe <poincare (a] ikezoe.net> 36515 36516 Reviewed by Alp Toker. 36517 36518 http://bugs.webkit.org/show_bug.cgi?id=18036 36519 Rendering invalid japanese characters with pango backend. 36520 36521 * platform/graphics/gtk/FontPlatformDataPango.cpp: 36522 (FontPlatformData::FontPlatformData): Set PangoFontDescription for 36523 PangoContext explicitly to use proper font. 36524 36525 2008-03-30 Rob Buis <buis (a] kde.org> 36526 36527 Reviewed by Oliver. 36528 36529 http://bugs.webkit.org/show_bug.cgi?id=17633 36530 SVG: modifying x & y attribute of text element from JS fails 36531 36532 Make SVG text relayout when x, y attribute is changed from js. 36533 36534 * svg/SVGTextContentElement.cpp: 36535 (WebCore::SVGTextContentElement::isKnownAttribute): 36536 * svg/SVGTextContentElement.h: 36537 * svg/SVGTextElement.cpp: 36538 (WebCore::SVGTextElement::svgAttributeChanged): 36539 * svg/SVGTextElement.h: 36540 * svg/SVGTextPositioningElement.cpp: 36541 (WebCore::SVGTextPositioningElement::isKnownAttribute): 36542 * svg/SVGTextPositioningElement.h: 36543 36544 2008-03-28 Maciej Stachowiak <mjs (a] apple.com> 36545 36546 Reviewed by Oliver. 36547 36548 - yet still more bindings speedup 36549 36550 Make AtomicString straight from UString in handcoded bindings 36551 36552 * bindings/js/JSElementCustom.cpp: 36553 (WebCore::JSElement::setAttribute): 36554 (WebCore::JSElement::setAttributeNS): 36555 * dom/Document.cpp: 36556 (WebCore::Document::createElement): 36557 * dom/Document.h: 36558 * html/HTMLDocument.cpp: 36559 (WebCore::HTMLDocument::createElement): 36560 * html/HTMLDocument.h: 36561 36562 2008-03-29 Sam Weinig <sam (a] webkit.org> 36563 36564 Reviewed by Darin Adler. 36565 36566 Fix for <rdar://problem/5828873> 36567 36568 Since NSURL is allowing invalid urls to be loaded, we need to 36569 check the URL validity at the ResourceHandle level and fire off 36570 a cannotShowURL error. 36571 36572 * loader/FrameLoader.cpp: 36573 (WebCore::FrameLoader::cannotShowURLError): 36574 * loader/FrameLoader.h: 36575 * loader/ResourceLoader.cpp: 36576 (WebCore::ResourceLoader::cannotShowURLError): 36577 (WebCore::ResourceLoader::wasBlocked): 36578 (WebCore::ResourceLoader::cannotShowURL): 36579 * loader/ResourceLoader.h: 36580 * platform/KURL.h: 36581 (WebCore::KURL::isValid): 36582 * platform/network/ResourceHandle.cpp: 36583 (WebCore::ResourceHandle::create): 36584 (WebCore::ResourceHandle::scheduleFailure): 36585 (WebCore::ResourceHandle::fireFailure): 36586 (WebCore::portAllowed): 36587 * platform/network/ResourceHandle.h: 36588 (WebCore::ResourceHandle::): 36589 * platform/network/ResourceHandleClient.h: 36590 (WebCore::ResourceHandleClient::cannotShowURL): 36591 * platform/network/ResourceHandleInternal.h: 36592 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 36593 36594 2008-03-29 Darin Adler <darin (a] apple.com> 36595 36596 Reviewed by Mitz. 36597 36598 - more bindings speedup 36599 36600 When I changed the temporary variables to be UString that means that the 36601 valueToString functions also need to return UString to avoid converting 36602 from UString to String twice. 36603 36604 * bindings/js/kjs_binding.cpp: 36605 (WebCore::valueToStringWithNullCheck): Changed return value to UString. 36606 (WebCore::valueToStringWithUndefinedOrNullCheck): Ditto. 36607 * bindings/js/kjs_binding.h: Ditto. 36608 36609 2008-03-29 Darin Adler <darin (a] apple.com> 36610 36611 Reviewed by Sam. 36612 36613 * DerivedSources.make: Removed temporary remove-stray-JSRGBColor build rule. 36614 36615 2008-03-29 Darin Adler <darin (a] apple.com> 36616 36617 Reviewed by Sam. 36618 36619 - tweak handling of the class attribute to speed up code that 36620 sets it but never needs to parse it 36621 36622 6% speedup of Acid3 test 26 36623 36624 * css/CSSStyleSelector.cpp: 36625 (WebCore::CSSStyleSelector::matchRules): Change to use non-virtual 36626 classNames function since the hasClass bit can only be set for a 36627 StyledElement. 36628 (WebCore::CSSStyleSelector::checkOneSelector): Ditto. Also 36629 streamlined the code a bit for the tag matching as well. 36630 36631 * dom/ClassNames.cpp: 36632 (WebCore::hasNonASCIIOrUpper): Added. This function does what other 36633 callers seem to want isLower() to do. We should merge this with 36634 isLower() in a subsequent cleanup pass. 36635 (WebCore::ClassNamesData::createVector): Renamed from parseClassAttribute. 36636 Turns the string into a vector. 36637 (WebCore::ClassNamesData::containsAll): Added. Used by getElementsByClassName. 36638 36639 * dom/ClassNames.h: Added a separate ClassNameData class so we could hold 36640 the string and case folding flag as well as the vector. Changed ClassNames 36641 to have a set function rather than a parseClassAttribute function. Removed 36642 the "static" from isClassWhitespace. There's no reason to ask for internal linkage. 36643 36644 * dom/ClassNodeList.cpp: 36645 (WebCore::ClassNodeList::ClassNodeList): Use constructor instead of the 36646 parseClassAttribute function. 36647 (WebCore::ClassNodeList::nodeMatches): Get rid of unnneeded isElementNode 36648 check, since hasClass will only be true for StyledElement nodes. Use the new 36649 containsAll function in ClassNames instead of having a loop here. 36650 36651 * dom/ClassNodeList.h: Removed unneeded forward declaration. 36652 36653 * dom/Document.cpp: Removed unneeded include. 36654 36655 * dom/Element.cpp: 36656 (WebCore::Element::cloneNode): Changed code to copy attributes to use a 36657 function call instead of the assignment operator. This paves the way to 36658 making the function more efficient, using a virtual function. 36659 (WebCore::Element::setAttributeMap): Updated for PassRefPtr and for name change 36660 (element -> m_element). 36661 (WebCore::Element::createAttributeMap): Changed to use create function instead of 36662 calling the constructor directly. 36663 * dom/Element.h: Removed unneeded virtual getClassNames function. 36664 Changed the argument to setAttributeMap to be a PassRefPtr. 36665 36666 * dom/NamedAttrMap.cpp: 36667 (WebCore::NamedAttrMap::NamedAttrMap): Updated for name change (element -> m_element). 36668 (WebCore::NamedAttrMap::getNamedItem): Ditto. 36669 (WebCore::NamedAttrMap::removeNamedItem): Ditto. 36670 (WebCore::NamedAttrMap::setNamedItem): Ditto. 36671 (WebCore::NamedAttrMap::item): Ditto. 36672 (WebCore::NamedAttrMap::detachFromElement): Ditto. 36673 (WebCore::NamedAttrMap::setAttributes): Renamed this from the assignment operator. 36674 (WebCore::NamedAttrMap::addAttribute): Ditto. 36675 (WebCore::NamedAttrMap::removeAttribute): Ditto. 36676 (WebCore::NamedAttrMap::isReadOnlyNode): Ditto. 36677 * dom/NamedAttrMap.h: Removed the copy constructor and assignment operator and added 36678 a new function, setAttributes, possibly to be made virtual in the future. Made 36679 isReadOnlyNode non-virtual. Renamed element -> m_element. Made constructor protected 36680 and added a create function. 36681 36682 * dom/NamedMappedAttrMap.cpp: 36683 (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Changed constructor parameter to 36684 take a StyledElement. 36685 (WebCore::NamedMappedAttrMap::setClass): Changed to use the new set function. 36686 36687 * dom/NamedMappedAttrMap.h: Made constructor private and added a create function. 36688 Replaced theparseClassAttribute function with clearClass and setClass functions. 36689 Replaced the getClassNames function with a classNames function returning a reference 36690 instead of a pointer. 36691 36692 * dom/NamedNodeMap.h: Changed to start refcount at 1 instead of 0. Removed unneeded 36693 virtual function isReadOnlyNode. 36694 36695 * dom/StyledElement.cpp: 36696 (WebCore::StyledElement::parseMappedAttribute): Rewrote class attribute handling to 36697 use new function names and took out uneeded special case for null attribute. 36698 (WebCore::StyledElement::createAttributeMap): Changed to use create function instead 36699 of a direct call to new. 36700 36701 * dom/StyledElement.h: Replaced the virtual getClassNames function with a non-virtual 36702 inline classNames function. 36703 36704 * html/HTMLElement.cpp: 36705 (WebCore::HTMLElement::cloneNode): Changed code to copy attributes to use a 36706 function call instead of the assignment operator. 36707 36708 * html/HTMLTokenizer.cpp: 36709 (WebCore::Token::addAttribute): Use create function instead of a a direct call 36710 to new. 36711 36712 * html/HTMLViewSourceDocument.cpp: 36713 (WebCore::HTMLViewSourceDocument::createContainingTable): Use RefPtr and the new 36714 create function. 36715 (WebCore::HTMLViewSourceDocument::addViewSourceToken): Ditto. 36716 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto. 36717 (WebCore::HTMLViewSourceDocument::addLine): Ditto. 36718 (WebCore::HTMLViewSourceDocument::addText): Ditto. 36719 (WebCore::HTMLViewSourceDocument::addLink): Ditto. 36720 * html/HTMLViewSourceDocument.h: Ditto. 36721 36722 * svg/SVGUseElement.cpp: 36723 (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Changed code to copy 36724 attributes to use a function call instead of the assignment operator. 36725 (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Ditto. 36726 36727 2008-03-29 Sam Weinig <sam (a] webkit.org> 36728 36729 Reviewed by Brady Eidson. 36730 36731 Fix crash when canceling a resource load while port blocked failure 36732 timer is going. 36733 36734 Test: fast/loader/cancel-load-during-port-block-timer.html 36735 36736 * platform/network/ResourceHandle.cpp: 36737 (WebCore::ResourceHandle::scheduleBlockedFailure): 36738 (WebCore::ResourceHandle::fireBlockedFailure): 36739 * platform/network/ResourceHandleInternal.h: 36740 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 36741 Make the Timer a member variable of ResourceHandleInternal so 36742 that it can be canceled if the ResourceHandle is destroyed. 36743 36744 2008-03-28 Stephanie <slewis (a] apple.com> 36745 36746 Fix 64bit build 36747 36748 * WebCore.LP64.exp: 36749 * loader/archive/cf/LegacyWebArchiveMac.mm: 36750 (WebCore::createResourceResponseFromMacArchivedData): 36751 36752 2008-03-28 Steve Falkenburg <sfalken (a] apple.com> 36753 36754 Enabled LTCG on files within "page". 36755 36756 Rubber stamped by Oliver. 36757 36758 * WebCore.vcproj/WebCore.vcproj: 36759 36760 2008-03-28 Dan Bernstein <mitz (a] apple.com> 36761 36762 Reviewed by Dave Hyatt. 36763 36764 - fix a percentage background position regression from r31389 36765 36766 Test: fast/backgrounds/background-position-1.html 36767 36768 * rendering/Length.h: 36769 (WebCore::Length::calcValue): Divide by 100. 36770 (WebCore::Length::calcMinValue): Ditto. 36771 36772 2008-03-28 David Hyatt <hyatt (a] apple.com> 36773 36774 Back out the Ahem font antialiasing hack, since it is now no longer required for LCD antialiased text 36775 to match the reference rendering on Acid 3. 36776 36777 * platform/graphics/SimpleFontData.h: 36778 * platform/graphics/mac/FontMac.mm: 36779 (WebCore::Font::drawGlyphs): 36780 * platform/graphics/mac/SimpleFontDataMac.mm: 36781 (WebCore::SimpleFontData::platformInit): 36782 * platform/graphics/win/FontCGWin.cpp: 36783 (WebCore::Font::drawGlyphs): 36784 * platform/graphics/win/SimpleFontDataCGWin.cpp: 36785 (WebCore::SimpleFontData::platformInit): 36786 * rendering/RenderBlock.cpp: 36787 (WebCore::RenderBlock::positionNewFloats): 36788 36789 2008-03-28 Brady Eidson <beidson (a] apple.com> 36790 36791 Reviewed by Darin Adler 36792 36793 More Kit->Core WebArchive changes. 36794 36795 Create an archive from the current selection in a frame 36796 36797 * WebCore.base.exp: 36798 36799 * loader/archive/cf/LegacyWebArchive.cpp: 36800 (WebCore::LegacyWebArchive::createFromSelection): 36801 * loader/archive/cf/LegacyWebArchive.h: 36802 36803 2008-03-28 Kevin McCullough <kmccullough (a] apple.com> 36804 36805 - Somehow managed to duplicate code :( 36806 36807 * xml/XMLHttpRequest.cpp: 36808 (WebCore::XMLHttpRequest::didFinishLoading): 36809 36810 2008-03-28 Kevin McCullough <kmccullough (a] apple.com> 36811 36812 - Missed some changes in previous checkin. 36813 36814 * xml/XMLHttpRequest.cpp: 36815 (WebCore::XMLHttpRequest::send): Get identifier from synchronous loader. 36816 (WebCore::XMLHttpRequest::didFinishLoading): 36817 36818 2008-03-28 Kevin McCullough <kmccullough (a] apple.com> 36819 36820 Reviewed by Adam. 36821 36822 -<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313) 36823 -<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315) 36824 -<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233) 36825 - Send the XMLHttpRequest data to the Inspector Controller. 36826 36827 * loader/FrameLoader.cpp: Return the identifier for this resource since we need it in the XHR case. 36828 (WebCore::FrameLoader::loadResourceSynchronously): 36829 * loader/FrameLoader.h: Ditto. 36830 * page/InspectorController.cpp: 36831 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): We only need the data since the type will 36832 be XHR and the encoding is not used (we decoded earlier). 36833 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): Locking is necessary when setting and clearing 36834 the KJS::UString::Rep. 36835 (WebCore::InspectorResource::setXMLHttpRequestProperties): 36836 (WebCore::InspectorResource::sourceString): Return the decoded source. 36837 (WebCore::addSourceToFrame): No longer do the decoding here, it has been encapsulated in the InspectorResource. 36838 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): 36839 * page/InspectorController.h: Pass a UString instead of copying to a WebCore::String. In case we 36840 never ask for the string's contents this will save us an extra copy. 36841 * xml/XMLHttpRequest.cpp: 36842 (WebCore::XMLHttpRequest::send): In the synchronous load case we normally do not keep the identifier 36843 but we need it to find the InspectorResource in order to tell it that it was loaded via XHR. 36844 (WebCore::XMLHttpRequest::didFinishLoading): Tell the InspectorController that its resource was loaded 36845 via XHR. 36846 * xml/XMLHttpRequest.h: Ditto. 36847 36848 2008-03-28 Brady Eidson <beidson (a] apple.com> 36849 36850 Reviewed by Sam Weinig 36851 36852 WebArchive saga continues - Can now make archives from ranges in WebCore 36853 36854 Again, previous layout test coverage exercised this code 36855 36856 * WebCore.base.exp: 36857 36858 * editing/markup.cpp: 36859 (WebCore::createFullMarkup): Added a "markup from range" variant that copies the previous WebKit implementation 36860 * editing/markup.h: 36861 36862 * loader/archive/cf/LegacyWebArchive.cpp: 36863 (WebCore::LegacyWebArchive::create): 36864 * loader/archive/cf/LegacyWebArchive.h: 36865 36866 2008-03-28 Stephanie Lewis <slewis (a] apple.com> 36867 36868 windows build fix. 36869 36870 * platform/win/MainThreadWin.cpp: 36871 (WebCore::initializeThreadingAndMainThread): 36872 36873 2008-03-28 Brady Eidson <beidson (a] apple.com> 36874 36875 Reviewed by Sam Weinig 36876 36877 More Kit->Core webarchive code movement 36878 36879 * WebCore.base.exp: 36880 * editing/markup.cpp: 36881 (WebCore::createFullMarkup): Replacement for [DOMNode markupString], creating full markup at this node including 36882 the document type string, which the WebKit implementation did indirectly 36883 * editing/markup.h: 36884 36885 2008-03-28 Darin Adler <darin (a] apple.com> 36886 36887 Reviewed by Maciej. 36888 36889 - cut down on copying and refcount churn a little by using references a bit more for 36890 KURL and String 36891 36892 * bindings/js/JSXMLHttpRequest.cpp: 36893 (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Use const KURL& instead of KURL. 36894 * css/StyleSheet.h: 36895 (WebCore::StyleSheet::href): Return const String& instead of String. 36896 (WebCore::StyleSheet::title): Ditto. 36897 * dom/Document.cpp: 36898 (WebCore::Document::completeURL): Use const KURL* for a local variable instead of 36899 KURL to avoid copying the KURL. 36900 * dom/Element.cpp: 36901 (WebCore::Element::baseURI): Use const KURL& instead of KURL. 36902 * html/HTMLAnchorElement.cpp: 36903 (WebCore::HTMLAnchorElement::hostname): Ditto. 36904 * html/HTMLFrameElementBase.cpp: 36905 (WebCore::HTMLFrameElementBase::isURLAllowed): Ditto. 36906 * html/HTMLKeygenElement.cpp: Removed unneeded include of KURL. 36907 * page/ContextMenuController.cpp: 36908 (WebCore::ContextMenuController::contextMenuItemSelected): Get rid of temporary 36909 KURL. 36910 * platform/SecurityOrigin.cpp: 36911 (WebCore::SecurityOrigin::createForFrame): Use const KURL& instead of KURL. 36912 36913 2008-03-28 Alexey Proskuryakov <ap (a] webkit.org> 36914 36915 Reviewed by Sam Weinig. 36916 36917 Fix a dtoa thread safety issue. 36918 36919 * ForwardingHeaders/kjs/InitializeThreading.h: Added. 36920 * platform/MainThread.cpp: 36921 * platform/MainThread.h: 36922 (WebCore::initializeThreadingAndMainThread): Call KJS::initializeThreading instead of its 36923 WTF counterpart. 36924 36925 2008-03-28 Brent Fulgham <bfulgham (a] gmail.com> 36926 36927 Reviewed by Maciej, landed by Brady 36928 36929 Correct build regression (http://bugs.webkit.org/show_bug.cgi?id=18148) 36930 36931 * platform/graphics/win/GraphicsContextCairoWin.cpp: 36932 (WebCore::GraphicsContext::getWindowsContext): 36933 (WebCore::GraphicsContext::releaseWindowsContext): 36934 36935 2008-03-28 Brady Eidson <beidson (a] apple.com> 36936 36937 Reviewed by Darin 36938 36939 "Yet another transitional step" to empty out WebKit-based code for archiving. 36940 36941 With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place 36942 entirely within WebCore, and opens the door to saving WebArchives on Windows. 36943 36944 This is another "zero behavior change" patch, and current editing/ and webarchive/ layout tests 36945 covered the relevant code 36946 36947 * WebCore.base.exp: 36948 * loader/archive/cf/LegacyWebArchive.cpp: 36949 (WebCore::LegacyWebArchive::create): 36950 * loader/archive/cf/LegacyWebArchive.h: 36951 36952 2008-03-28 Jasper Bryant-Greene <jasper (a] unix.geek.nz> 36953 36954 Reviewed by Alp Toker. 36955 36956 http://bugs.webkit.org/show_bug.cgi?id=18061 36957 PlatformScrollBarGtk attempts to allocate negative width and/or height for widgets 36958 36959 Missing clampNegativeToZero() call meant that we tried to allocate widgets with negative width and/or height. 36960 36961 * platform/gtk/PlatformScrollBarGtk.cpp: 36962 (PlatformScrollbar::geometryChanged): 36963 36964 2008-03-28 Brady Eidson <beidson (a] apple.com> 36965 36966 Reviewed by Darin 36967 36968 Using convertUTF16ToUTF8() from WTF, add a helper function that gives you a UTF8 SharedBuffer 36969 created from a String. 36970 36971 * ForwardingHeaders/wtf/unicode/UTF8.h: Added. 36972 * platform/text/PlatformString.h: 36973 * platform/text/String.cpp: 36974 (WebCore::utf8Buffer): 36975 36976 2008-03-28 Darin Adler <darin (a] apple.com> 36977 36978 Reviewed by Adam. 36979 36980 - eliminate a tiny bit of unnecessary refcount churn 36981 36982 * bindings/js/JSEventTargetBase.cpp: 36983 (WebCore::eventNameForPropertyToken): Return const AtomicString&. 36984 * bindings/js/JSEventTargetBase.h: 36985 (WebCore::JSEventTargetBase::getValueProperty): Update for above change. 36986 (WebCore::JSEventTargetBase::putValueProperty): Ditto. 36987 36988 2008-03-28 Simon Hausmann <hausmann (a] webkit.org> 36989 36990 Fix the Qt build. 36991 36992 * rendering/Length.h: Include wtf/MathExtras.h for round(). 36993 36994 2008-03-28 David Hyatt <hyatt (a] apple.com> 36995 36996 Fix a bug where background-position truncates instead of rounding when it evaluates to fractional 36997 pixel values. This matches other browsers. 36998 36999 Reviewed by maciej 37000 37001 Added fast/backgrounds/background-position-rounding.html 37002 37003 * rendering/Length.h: 37004 (WebCore::Length::calcValue): 37005 (WebCore::Length::calcMinValue): 37006 * rendering/RenderBox.cpp: 37007 (WebCore::RenderBox::calculateBackgroundImageGeometry): 37008 37009 2008-03-27 Kevin Ollivier <kevino (a] theolliviers.com> 37010 37011 wx build fix. Return a default value for operator == 37012 when !USE(WXGC) (not implemented in that case). 37013 37014 * platform/graphics/wx/AffineTransformWx.cpp: 37015 (WebCore::AffineTransform::operator== ): 37016 37017 2008-03-27 Maciej Stachowiak <mjs (a] apple.com> 37018 37019 - fix build 37020 37021 * svg/SVGGlyphMap.h: 37022 (WebCore::GlyphMapNode::create): 37023 37024 2008-03-27 Brady Eidson <beidson (a] apple.com> 37025 37026 Forgot a small requested change before committing 37027 37028 * loader/DocumentLoader.cpp: 37029 (WebCore::DocumentLoader::mainResource): 37030 37031 2008-03-27 Brady Eidson <beidson (a] apple.com> 37032 37033 Reviewed by Adam Roben 37034 37035 Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore 37036 as the push to core-ify WebArchives continues. 37037 37038 This patch also introduces a behavior change. WebCore allows ArchiveResources with null or empty data. 37039 WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null. 37040 Since WebResource is API, I decided to leave it be to avoid a behavior change. But internally created resources 37041 (as in "while archiving a page") are accepting of null or empty data. 37042 37043 This actually fixes a bug where not all subframes are archived, and resulted in a layout test change. 37044 37045 * WebCore.base.exp: 37046 * loader/DocumentLoader.cpp: 37047 (WebCore::DocumentLoader::archiveResourceForURL): Make this const 37048 (WebCore::DocumentLoader::mainResource): 37049 (WebCore::DocumentLoader::subresource): Make this const and relocate 37050 (WebCore::DocumentLoader::getSubresources): 37051 * loader/DocumentLoader.h: 37052 37053 2008-03-27 Maciej Stachowiak <mjs (a] apple.com> 37054 37055 Reviewed by Darin. 37056 37057 - fixed many buildbot leaks in glyph map code 37058 37059 * svg/SVGGlyphMap.h: 37060 (WebCore::GlyphMapNode::create): Use explicit create pattern, to avoid overreffing and therefore leaking 37061 these objects. 37062 (WebCore::SVGGlyphMap::add): Call create instead of using new. 37063 37064 2008-03-27 Maciej Stachowiak <mjs (a] apple.com> 37065 37066 Rubber stamped by Oliver. 37067 37068 - re-fix Acid3, some code was incorrectly moved when fixing the Qt build 37069 37070 * rendering/SVGRootInlineBox.cpp: 37071 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 37072 37073 2008-03-27 Simon Hausmann <hausmann (a] webkit.org> 37074 37075 Fix compilation against Qt 4.4 and one missing SVG_FONTS #ifdef. 37076 37077 * platform/graphics/qt/FontQt.cpp: 37078 (WebCore::Font::floatWidth): Forgot to adjust this signture for Qt 4.4. 37079 * bindings/js/JSSVGElementWrapperFactory.cpp: Added a missing #ifdef 37080 for SVG_FONTS 37081 37082 2008-03-27 Simon Hausmann <hausmann (a] webkit.org> 37083 37084 Reviewed by Eric Seidel. 37085 37086 Fix the Qt build and the build without ENABLE(SVG_FONTS) 37087 37088 * WebCore.pro: Removed ElementTimeControl.idl as it's ObjC only and 37089 removed some SVG_FONTS specific idl files from IDL_BINDINGS for now 37090 * bindings/js/JSSVGElementWrapperFactory.cpp: altGlyph is 37091 ENABLE(SVG_FONTS) only 37092 * platform/graphics/qt/FontQt.cpp: 37093 (WebCore::Font::floatWidth): Adjust the function signature to Font.h 37094 * rendering/SVGRootInlineBox.cpp: 37095 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Fix 37096 compilation without SVG_FONTS 37097 * svg/SVGAltGlyphElement.cpp: Compile only if ENABLE(SVG_FONTS) 37098 * svg/SVGAltGlyphElement.h: Ditto 37099 * svg/svgtags.in: hkern and altGlyph are SVG_FONTS only. 37100 * svg/SVGTSpanElement.cpp: 37101 (WebCore::SVGTSpanElement::childShouldCreateRenderer): Compile without 37102 SVG_FONTS 37103 * svg/SVGTextElement.cpp: 37104 (WebCore::SVGTextElement::childShouldCreateRenderer): Ditto 37105 * svg/SVGTextPathElement.cpp: 37106 (WebCore::SVGTextPathElement::childShouldCreateRenderer): 37107 37108 2008-03-26 Timothy Hatcher <timothy (a] apple.com> 37109 37110 Rename some Inspector files to facilitate the up-coming UI refresh changes. 37111 37112 http://bugs.webkit.org/show_bug.cgi?id=17773 37113 37114 Rubber-stamped by Adam Roben. 37115 37116 * WebCore.vcproj/WebCore.vcproj: 37117 * page/inspector/Console.js: Copied from page/inspector/ConsolePanel.js. 37118 * page/inspector/ConsolePanel.js: Removed. 37119 * page/inspector/DocumentPanel.js: Removed. 37120 * page/inspector/ElementsPanel.js: Copied from page/inspector/DocumentPanel.js. 37121 * page/inspector/FontPanel.js: Removed. 37122 * page/inspector/FontView.js: Copied from page/inspector/FontPanel.js. 37123 * page/inspector/ImagePanel.js: Removed. 37124 * page/inspector/ImageView.js: Copied from page/inspector/ImagePanel.js. 37125 * page/inspector/NetworkPanel.js: Removed. 37126 * page/inspector/ResourcePanel.js: Removed. 37127 * page/inspector/ResourceView.js: Copied from page/inspector/ResourcePanel.js. 37128 * page/inspector/ResourcesPanel.js: Copied from page/inspector/NetworkPanel.js. 37129 * page/inspector/SourcePanel.js: Removed. 37130 * page/inspector/SourceView.js: Copied from page/inspector/SourcePanel.js. 37131 * page/inspector/WebKit.qrc: 37132 * page/inspector/inspector.html: 37133 37134 2008-03-26 Steve Falkenburg <sfalken (a] apple.com> 37135 37136 Enable LTCG on css, dom files in WebCore 37137 37138 Reviewed by Stephanie. 37139 37140 * WebCore.vcproj/WebCore.vcproj: 37141 37142 2008-03-26 Stephanie Lewis <slewis (a] apple.com> 37143 37144 Fix Windows Build 37145 37146 * WebCore.vcproj/WebCore.vcproj: 37147 37148 2008-03-26 Mark Rowe <mrowe (a] apple.com> 37149 37150 Speculative GTK build fix. 37151 37152 * GNUmakefile.am: 37153 37154 2008-03-26 Mark Rowe <mrowe (a] apple.com> 37155 37156 Mac build fix. 37157 37158 * WebCore.base.exp: Remove nonexistent symbol from the export file. 37159 37160 2008-03-26 Sam Weinig <sam (a] webkit.org> 37161 37162 Try and fix Gtk+ again. 37163 37164 * GNUmakefile.am: 37165 37166 2008-03-26 Dan Bernstein <mitz (a] apple.com> 37167 37168 Reviewed by Dave Hyatt. 37169 37170 - fix <rdar://problem/5816522> REGRESSION (r30111-30112): Tahoe web cam website has some text in Chinese or japanese 37171 37172 * html/HTMLParser.cpp: 37173 (WebCore::HTMLParser::insertNode): Added call to beginParsingChildren() 37174 on the new node. 37175 (WebCore::HTMLParser::handleError): Ditto. 37176 (WebCore::HTMLParser::reopenResidualStyleTags): Ditto. 37177 (WebCore::HTMLParser::pushBlock): Removed incorrect call to 37178 beginParsingChildren() on the current node. 37179 * manual-tests/applet-finish-parsing-children.html: Added. 37180 * manual-tests/resources/DrawMessage.class: Added. 37181 37182 2008-03-26 Brady Eidson <beidson (a] apple.com> 37183 37184 Reviewed by Darin 37185 37186 When we create a WebArchive, we walk every node from some starting point, asking each node 37187 along the way "What are your subresource URLs?" 37188 37189 That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into 37190 WebCore::Node 37191 37192 * WebCore.base.exp: 37193 37194 * dom/Node.cpp: 37195 (WebCore::Node::getSubresourceURLs): 37196 (WebCore::Node::getSubresourceAttributeStrings): Virtual and empty. Subclasses of Node that have 37197 subresources will override it. 37198 37199 * dom/ProcessingInstruction.cpp: 37200 (WebCore::ProcessingInstruction::getSubresourceAttributeStrings): 37201 * dom/ProcessingInstruction.h: 37202 * html/HTMLBodyElement.cpp: 37203 (WebCore::HTMLBodyElement::getSubresourceAttributeStrings): 37204 * html/HTMLBodyElement.h: 37205 * html/HTMLEmbedElement.cpp: 37206 (WebCore::HTMLEmbedElement::getSubresourceAttributeStrings): 37207 * html/HTMLEmbedElement.h: 37208 * html/HTMLImageElement.cpp: 37209 (WebCore::HTMLImageElement::getSubresourceAttributeStrings): 37210 * html/HTMLImageElement.h: 37211 * html/HTMLInputElement.cpp: 37212 (WebCore::HTMLInputElement::getSubresourceAttributeStrings): 37213 * html/HTMLInputElement.h: 37214 * html/HTMLLinkElement.cpp: 37215 (WebCore::HTMLLinkElement::getSubresourceAttributeStrings): 37216 * html/HTMLLinkElement.h: 37217 * html/HTMLObjectElement.cpp: 37218 (WebCore::HTMLObjectElement::getSubresourceAttributeStrings): 37219 * html/HTMLObjectElement.h: 37220 * html/HTMLParamElement.cpp: 37221 (WebCore::HTMLParamElement::getSubresourceAttributeStrings): 37222 * html/HTMLParamElement.h: 37223 * html/HTMLScriptElement.cpp: 37224 (WebCore::HTMLScriptElement::getSubresourceAttributeStrings): 37225 * html/HTMLScriptElement.h: 37226 * html/HTMLTableCellElement.cpp: 37227 (WebCore::HTMLTableCellElement::getSubresourceAttributeStrings): 37228 * html/HTMLTableCellElement.h: 37229 * html/HTMLTableElement.cpp: 37230 (WebCore::HTMLTableElement::getSubresourceAttributeStrings): 37231 * html/HTMLTableElement.h: 37232 * svg/SVGCursorElement.cpp: 37233 (WebCore::SVGCursorElement::getSubresourceAttributeStrings): 37234 * svg/SVGCursorElement.h: 37235 * svg/SVGFEImageElement.cpp: 37236 (WebCore::SVGFEImageElement::getSubresourceAttributeStrings): 37237 * svg/SVGFEImageElement.h: 37238 * svg/SVGImageElement.cpp: 37239 (WebCore::SVGImageElement::getSubresourceAttributeStrings): 37240 * svg/SVGImageElement.h: 37241 * svg/SVGScriptElement.cpp: 37242 (WebCore::SVGScriptElement::getSubresourceAttributeStrings): 37243 * svg/SVGScriptElement.h: 37244 37245 2008-03-26 Dan Bernstein <mitz (a] apple.com> 37246 37247 Reviewed by Dave Hyatt. 37248 37249 - maintain subpixel-antialiasing when drawing text with a simple shadow 37250 37251 * platform/graphics/mac/FontMac.mm: 37252 (WebCore::Font::drawComplexText): If the shadow has a zero blur radius, 37253 draw the shadow by drawing the text at an offset instead of relying on 37254 Core Graphics shadows. 37255 (WebCore::Font::drawGlyphs): Ditto. 37256 * platform/graphics/win/FontCGWin.cpp: 37257 (WebCore::Font::drawGlyphs): Ditto. 37258 37259 2008-03-26 Brady Eidson <beidson (a] apple.com> 37260 37261 Reviewed by Mark Rowe 37262 37263 Part of the continued push to move WebArchive-related code down to WebCore, this 37264 moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource() 37265 37266 * WebCore.base.exp: 37267 * loader/DocumentLoader.cpp: 37268 (WebCore::DocumentLoader::subresource): Create an ArchiveResource from a CachedResource if it exists 37269 Otherwise, fallback to an ArchiveResource from the current Archive if any. Otherwise, return null 37270 * loader/DocumentLoader.h: 37271 37272 * loader/archive/ArchiveResource.cpp: 37273 (WebCore::ArchiveResource::create): 37274 (WebCore::ArchiveResource::ArchiveResource): 37275 * loader/archive/ArchiveResource.h: 37276 37277 2008-03-26 Sam Weinig <sam (a] webkit.org> 37278 37279 Fix Gtk+ build. 37280 37281 * GNUmakefile.am: 37282 37283 2008-03-26 Mark Rowe <mrowe (a] apple.com> 37284 37285 Rubber-stamped by Brady Eidson. 37286 37287 Update FEATURE_DEFINES to be consistent with the other locations in which it is defined. 37288 37289 * Configurations/WebCore.xcconfig: 37290 37291 2008-03-26 Brent Fulgham <bfulgham (a] gmail.com> 37292 37293 Reviewed by Adam Roben. 37294 37295 Add necessary files and build commands to vcproj files to 37296 build a Curl-based Windows WebKit. For details, see 37297 http://bugs.webkit.org/show_bug.cgi?id=17985 37298 37299 * WebCore.vcproj/WebCore.vcproj: 37300 37301 2008-03-26 Adam Roben <aroben (a] apple.com> 37302 37303 Record JS exceptions triggered by the Inspector's use of JSC 37304 37305 We now dump all exceptions returned from JavaScriptCore into the 37306 Inspector's console. 37307 37308 The HANDLE_EXCEPTION macro records the line on which the exception was 37309 returned. It calls a new private handleException method on 37310 InspectorController. 37311 37312 Reviewed by Kevin McCullough. 37313 37314 * page/InspectorController.cpp: 37315 (WebCore::InspectorController::callSimpleFunction): Made this be a 37316 member of InspectorController so that it can call handleException. 37317 (WebCore::addSourceToFrame): Pass the exception pointer on to inner 37318 JSC calls, and check it after those calls return. 37319 (WebCore::getResourceDocumentNode): Ditto. 37320 (WebCore::search): Ditto. Also changed the name/type of an existing 37321 exception variable to ExceptionCode ec. 37322 (WebCore::databaseTableNames): Ditto. 37323 (WebCore::moveByUnrestricted): Ditto. 37324 (WebCore::InspectorController::~InspectorController): Check for and 37325 record exceptions as we call JSC. 37326 (WebCore::InspectorController::focusNode): Ditto. 37327 (WebCore::InspectorController::scriptObjectReady): Ditto. 37328 (WebCore::addHeaders): Added an exception parameter. 37329 (WebCore::scriptObjectForRequest): Ditto. 37330 (WebCore::scriptObjectForResponse): Ditto. 37331 (WebCore::InspectorController::addScriptResource): Check for and 37332 record exceptions as we call JSC. 37333 (WebCore::InspectorController::addAndUpdateScriptResource): Ditto. 37334 (WebCore::InspectorController::removeScriptResource): Ditto. Also 37335 moved the call to setScriptObject to before the JSC calls so that it 37336 will always be called even if we return early if JSC throws an 37337 exception. 37338 (WebCore::InspectorController::updateScriptResourceRequest): Check for 37339 and record exceptions as we call JSC. 37340 (WebCore::InspectorController::updateScriptResourceResponse): Ditto. 37341 (WebCore::InspectorController::updateScriptResource): Ditto. 37342 (WebCore::InspectorController::addDatabaseScriptResource): Ditto. 37343 (WebCore::InspectorController::removeDatabaseScriptResource): Ditto. 37344 Also moved the call to setScriptObject to before the JSC calls so that 37345 it will always be called even if we return early if JSC throws an 37346 exception. 37347 (WebCore::InspectorController::addScriptConsoleMessage): Check for and 37348 record exceptions as we call JSC. 37349 (WebCore::InspectorController::handleException): Added. 37350 * page/InspectorController.h: 37351 37352 2008-03-26 Darin Adler <darin (a] apple.com> 37353 37354 Rubber stamped by Maciej. 37355 37356 - removed a couple log messages in error cases that are handled internally 37357 37358 * platform/text/TextCodecICU.cpp: 37359 (WebCore::TextCodecICU::decode): Removed the LOG_ERROR. 37360 * platform/text/mac/TextCodecMac.cpp: 37361 (WebCore::TextCodecMac::decode): Ditto. 37362 37363 2008-03-26 Sam Weinig <sam (a] webkit.org> 37364 37365 Reviewed by Adam Roben. 37366 37367 * page/Location.idl: Don't enumerate toString. 37368 37369 2008-03-26 Mark Rowe <mrowe (a] apple.com> 37370 37371 Release build fix. 37372 37373 * rendering/SVGRootInlineBox.cpp: 37374 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Initialize svgFont to zero. 37375 37376 2008-03-26 Maciej Stachowiak <mjs (a] apple.com> 37377 37378 Reviewed by Hyatt and Adam. 37379 37380 Coded by me and Darin. 37381 37382 - SVG kerning support (horizontal kerning only for now since we don't do vertical text layout right yet) 37383 37384 Acid3 100/100 37385 37386 * DerivedSources.make: 37387 * WebCore.vcproj/WebCore.vcproj: 37388 * WebCore.xcodeproj/project.pbxproj: 37389 * platform/graphics/Font.cpp: 37390 (WebCore::Font::floatWidth): 37391 (WebCore::Font::isSVGFont): 37392 * platform/graphics/Font.h: 37393 * rendering/SVGInlineTextBox.cpp: 37394 (WebCore::SVGInlineTextBox::calculateGlyphWidth): 37395 (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): 37396 * rendering/SVGInlineTextBox.h: 37397 * rendering/SVGRootInlineBox.cpp: 37398 (WebCore::cummulatedWidthOrHeightOfTextChunk): 37399 (WebCore::SVGRootInlineBox::buildLayoutInformation): 37400 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 37401 * rendering/SVGRootInlineBox.h: 37402 (WebCore::LastGlyphInfo::LastGlyphInfo): 37403 * svg/SVGFont.cpp: 37404 (WebCore::SVGTextRunWalker::walk): 37405 (WebCore::Font::svgFont): 37406 (WebCore::floatWidthOfSubStringUsingSVGFont): 37407 (WebCore::Font::floatWidthUsingSVGFont): 37408 (WebCore::Font::drawTextUsingSVGFont): 37409 (WebCore::Font::selectionRectForTextUsingSVGFont): 37410 * svg/SVGFontElement.cpp: 37411 (WebCore::SVGFontElement::invalidateGlyphCache): 37412 (WebCore::SVGFontElement::ensureGlyphCache): 37413 (WebCore::parseUnicodeRange): 37414 (WebCore::parseUnicodeRangeList): 37415 (WebCore::stringMatchesUnicodeRange): 37416 (WebCore::matches): 37417 (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs): 37418 * svg/SVGFontElement.h: 37419 * svg/SVGGlyphElement.cpp: 37420 (WebCore::SVGGlyphElement::insertedIntoDocument): 37421 (WebCore::SVGGlyphElement::removedFromDocument): 37422 * svg/SVGHKernElement.cpp: Added. 37423 (WebCore::SVGHKernElement::SVGHKernElement): 37424 (WebCore::SVGHKernElement::~SVGHKernElement): 37425 (WebCore::SVGHKernElement::insertedIntoDocument): 37426 (WebCore::SVGHKernElement::removedFromDocument): 37427 (WebCore::SVGHKernElement::buildHorizontalKerningPair): 37428 * svg/SVGHKernElement.h: Added. 37429 (WebCore::SVGHorizontalKerningPair::SVGHorizontalKerningPair): 37430 (WebCore::SVGHKernElement::rendererIsNeeded): 37431 * svg/SVGHKernElement.idl: Added. 37432 * svg/SVGTextContentElement.cpp: 37433 (WebCore::cummulatedCharacterRangeLength): 37434 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): 37435 * svg/svgtags.in: 37436 37437 2008-03-26 Sam Weinig <sam (a] webkit.org> 37438 37439 Reviewed by Adam Roben. 37440 37441 Autogenerate JSLocation. 37442 37443 * GNUmakefile.am: 37444 * WebCore.pro: 37445 * WebCore.vcproj/WebCore.vcproj: 37446 * WebCore.xcodeproj/project.pbxproj: 37447 * WebCoreSources.bkl: 37448 Add files. 37449 37450 * DerivedSources.make: Add Location, remove JSLocation.lut.h 37451 * bindings/js/JSDOMWindowBase.cpp: 37452 (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate): 37453 (WebCore::JSDOMWindowBase::getValueProperty): 37454 (WebCore::JSDOMWindowBase::put): 37455 (WebCore::JSDOMWindowBase::clearHelperObjectProperties): 37456 (WebCore::JSDOMWindowBase::disconnectFrame): 37457 * bindings/js/JSDOMWindowBase.h: 37458 Remove manuel management of the Location object. 37459 37460 * bindings/js/JSDOMWindowCustom.cpp: 37461 (WebCore::JSDOMWindow::mark): Add marking of JSLocation. 37462 (WebCore::JSDOMWindow::setLocation): Add custom setLocation as we only want to do this when 37463 safe and we need to keep Dashboard quirks. 37464 37465 * bindings/js/JSDocumentCustom.cpp: 37466 (WebCore::JSDocument::location): 37467 Fetch the location object using the normal toJS route. 37468 37469 * bindings/js/JSLocation.cpp: Removed. 37470 * bindings/js/JSLocation.h: Removed. 37471 * bindings/js/JSLocationCustom.cpp: Added. 37472 (WebCore::JSLocation::customGetOwnPropertySlot): 37473 (WebCore::JSLocation::customPut): 37474 (WebCore::JSLocation::deleteProperty): 37475 (WebCore::JSLocation::customGetPropertyNames): 37476 (WebCore::navigateIfAllowed): 37477 (WebCore::JSLocation::setHref): 37478 (WebCore::JSLocation::setProtocol): 37479 (WebCore::JSLocation::setHost): 37480 (WebCore::JSLocation::setHostname): 37481 (WebCore::JSLocation::setPort): 37482 (WebCore::JSLocation::setPathname): 37483 (WebCore::JSLocation::setSearch): 37484 (WebCore::JSLocation::setHash): 37485 (WebCore::JSLocation::replace): 37486 (WebCore::JSLocation::reload): 37487 (WebCore::JSLocation::assign): 37488 (WebCore::JSLocation::toString): 37489 Setter and Functions need custom implementations as they rely on the dynamic 37490 global object for determining the behavior of the navigation. 37491 37492 * history/CachedPage.cpp: 37493 (WebCore::CachedPage::CachedPage): 37494 (WebCore::CachedPage::restore): 37495 (WebCore::CachedPage::clear): 37496 * history/CachedPage.h: 37497 Removed all the special casing for location as it should be treated like all 37498 the other objects hanging off the window. 37499 37500 * page/DOMWindow.cpp: 37501 (WebCore::DOMWindow::clear): 37502 (WebCore::DOMWindow::location): 37503 * page/DOMWindow.h: 37504 (WebCore::DOMWindow::optionalLocation): 37505 * page/DOMWindow.idl: 37506 Add Location accessor and pointer getter for marking. 37507 37508 * page/Location.cpp: Added. 37509 (WebCore::Location::Location): 37510 (WebCore::Location::disconnectFrame): 37511 (WebCore::Location::url): 37512 (WebCore::Location::href): 37513 (WebCore::Location::protocol): 37514 (WebCore::Location::host): 37515 (WebCore::Location::hostname): 37516 (WebCore::Location::port): 37517 (WebCore::Location::pathname): 37518 (WebCore::Location::search): 37519 (WebCore::Location::hash): 37520 (WebCore::Location::toString): 37521 * page/Location.h: Added. 37522 (WebCore::Location::create): 37523 (WebCore::Location::frame): 37524 * page/Location.idl: Added. 37525 37526 2008-03-26 David Hyatt <hyatt (a] apple.com> 37527 37528 Add support for the rendering and measurement of the <altGlyph> element in SVG. This patch brings 37529 is half of what's needed to reach 100/100 on Acid3 and pass the test. Maciej has coded up the other half. :) 37530 37531 Reviewed by mjs 37532 37533 Added svg/custom/altGlyph.svg 37534 37535 * svg/SVGAltGlyphElement.cpp: 37536 (WebCore::SVGAltGlyphElement::childShouldCreateRenderer): 37537 (WebCore::SVGAltGlyphElement::glyphElement): 37538 * svg/SVGAltGlyphElement.h: 37539 * svg/SVGFont.cpp: 37540 (WebCore::SVGTextRunWalker::walk): 37541 * svg/SVGFontFaceElement.cpp: 37542 (WebCore::SVGFontFaceElement::insertedIntoDocument): 37543 * svg/SVGGlyphElement.cpp: 37544 (WebCore::SVGGlyphElement::insertedIntoDocument): 37545 (WebCore::SVGGlyphElement::removedFromDocument): 37546 37547 2008-03-26 Adam Roben <aroben (a] apple.com> 37548 37549 Turn on SVG animation on Windows 37550 37551 Also touched some files to force things to rebuild/regenerate. 37552 37553 * WebCore.vcproj/WebCore.vcproj: Added ENABLE_SVG_ANIMATION. 37554 * WebCore.vcproj/build-generated-files.sh: Ditto. 37555 * bindings/scripts/CodeGenerator.pm: Touched. 37556 * config.h: Touched. 37557 * svg/svgtags.in: Touched. 37558 37559 2008-03-26 Justin Garcia <justin.garcia (a] apple.com> 37560 37561 Reviewed by Harrison. 37562 37563 <rdar://problem/5820749> REGRESSION (Safari 3.1): Mail's plain text reply omits blank line following the attribution 37564 37565 * editing/markup.cpp: 37566 (WebCore::createFragmentFromText): When asked to create a fragment from "Attribution:\n" 37567 with a context from [html, 0] to [html, 0], we'd return "<html>Attribution</html><br>". 37568 Don't enclose paragraphs in clones of the context's enclosing block if that block is the 37569 html or body element. Currently no way to test [DOMHTMLElement createFragmentFromText:]. 37570 37571 2008-03-26 Antti Koivisto <antti (a] apple.com> 37572 37573 Reviewed by Anders. 37574 37575 http://bugs.webkit.org/show_bug.cgi?id=17077 37576 Bug 17077: SVG SMIL animation is currently broken (and turned off) (affects Acid3 tests 75 and 76) 37577 37578 - enable SVG animation support. 37579 - basic implementation of beginElement()/endElement(). 37580 37581 Animation definitely will need more work than this, but it is a start! 37582 37583 * Configurations/WebCore.xcconfig: 37584 * svg/SVGAnimationElement.cpp: 37585 (WebCore::SVGAnimationElement::SVGAnimationElement): 37586 (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds): 37587 (WebCore::SVGAnimationElement::beginElement): 37588 (WebCore::SVGAnimationElement::beginElementAt): 37589 (WebCore::SVGAnimationElement::endElement): 37590 (WebCore::SVGAnimationElement::endElementAt): 37591 * svg/SVGAnimationElement.h: 37592 37593 2008-03-26 Mark Rowe <mrowe (a] apple.com> 37594 37595 Reviewed by David Hyatt. 37596 37597 Make the Ahem font antialias correctly on Acid3 on Tiger. 37598 37599 * WebCore.Tiger.exp: 37600 * platform/graphics/mac/SimpleFontDataMac.mm: 37601 (WebCore::SimpleFontData::platformInit): 37602 * platform/mac/WebCoreSystemInterface.h: 37603 * platform/mac/WebCoreSystemInterface.mm: 37604 37605 2008-03-26 Simon Hausmann <hausmann (a] webkit.org> 37606 37607 Attempt to fix the Qt build. 37608 37609 * platform/text/qt/TextCodecQt.cpp: Adjust function signature. 37610 (WebCore::TextCodecQt::decode): 37611 * platform/text/qt/TextCodecQt.h: Ditto. 37612 37613 2008-03-26 Dan Bernstein <mitz (a] apple.com> 37614 37615 Reviewed by Anders Carlsson. 37616 37617 - fix http://bugs.webkit.org/show_bug.cgi?id=18104 37618 REGRESSION: LEAK: 2 InlineBox in editing/inserting/12882.html 37619 37620 * rendering/bidi.cpp: 37621 (WebCore::RenderBlock::layoutInlineChildren): When deciding to ditch 37622 old clean lines (due to changed or newly-added floats), keep the 37623 reference to those lines so they can be properly deleted in the end, 37624 and use a separate flag to signal that no matching should be attempted. 37625 37626 2008-03-26 Mark Rowe <mrowe (a] apple.com> 37627 37628 Speculative Windows build fix. 37629 37630 * platform/graphics/win/SimpleFontDataCGWin.cpp: 37631 37632 2008-03-25 Steve Falkenburg <sfalken (a] apple.com> 37633 37634 Turn on link-time-codegen in html and rendering related files. 37635 37636 Reviewed by Oliver. 37637 37638 * WebCore.vcproj/WebCore.vcproj: 37639 37640 2008-03-26 Maciej Stachowiak <mjs (a] apple.com> 37641 37642 Reviewed by Darin. 37643 37644 - fixed "SVG multichar glyph matching matches longest instead of first (affects Acid3 test 79)" 37645 http://bugs.webkit.org/show_bug.cgi?id=18118 37646 37647 * svg/SVGFont.cpp: 37648 (WebCore::SVGTextRunWalker::walk): 37649 * svg/SVGFontElement.cpp: 37650 (WebCore::SVGFontElement::SVGFontElement): 37651 (WebCore::SVGFontElement::addGlyphToCache): 37652 (WebCore::SVGFontElement::removeGlyphFromCache): 37653 (WebCore::SVGFontElement::ensureGlyphCache): 37654 (WebCore::SVGFontElement::getGlyphIdentifiersForString): 37655 * svg/SVGFontElement.h: 37656 * svg/SVGGlyphElement.h: 37657 (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier): 37658 * svg/SVGGlyphMap.h: Added. New radix tree based glyph map. 37659 (WebCore::GlyphMapNode::GlyphMapNode): 37660 (WebCore::SVGGlyphMap::SVGGlyphMap): 37661 (WebCore::SVGGlyphMap::add): 37662 (WebCore::SVGGlyphMap::compareGlyphPriority): 37663 (WebCore::SVGGlyphMap::get): 37664 (WebCore::SVGGlyphMap::clear): 37665 37666 2008-03-26 David Hyatt <hyatt (a] apple.com> 37667 37668 Fix build bustage on Tiger. Tiger will not have the bug fix. 37669 37670 * platform/graphics/mac/SimpleFontDataMac.mm: 37671 (WebCore::SimpleFontData::platformInit): 37672 * platform/graphics/win/SimpleFontDataCGWin.cpp: 37673 (WebCore::SimpleFontData::platformInit): 37674 37675 2008-03-26 David Hyatt <hyatt (a] apple.com> 37676 37677 Make the Ahem font antialias correctly on Acid3. 37678 37679 Reviewed by Dan 37680 37681 * platform/graphics/SimpleFontData.h: 37682 * platform/graphics/mac/FontMac.mm: 37683 (WebCore::Font::drawGlyphs): 37684 * platform/graphics/mac/SimpleFontDataMac.mm: 37685 (WebCore::SimpleFontData::platformInit): 37686 * platform/graphics/win/FontCGWin.cpp: 37687 (WebCore::Font::drawGlyphs): 37688 * platform/graphics/win/SimpleFontDataCGWin.cpp: 37689 (WebCore::SimpleFontData::platformInit): 37690 37691 2008-03-26 Mark Rowe <mrowe (a] apple.com> 37692 37693 Fix the Mac build. 37694 37695 * WebCore.xcodeproj/project.pbxproj: Copy the newly generated header into the right place. 37696 37697 2008-03-26 Adam Roben <aroben (a] apple.com> 37698 37699 Fix Bug 17768: REGRESSION (r30146): Inspector no longer shows elements 37700 properties 37701 37702 <http://bugs.webkit.org/show_bug.cgi?id=17768> 37703 37704 We were throwing an exception from Object.describe because of some 37705 undefined variables. 37706 37707 Reviewed by Tim Hatcher. 37708 37709 * page/inspector/utilities.js: 37710 (Object.describe): Reinstate the type1 and type2 variables that were 37711 removed in r30146. They're still used when formatting a function. 37712 37713 2008-03-26 Eric Seidel <eric (a] webkit.org> 37714 37715 Reviewed by darin. 37716 37717 Forgot to add braces darin asked for during review. 37718 37719 * dom/XMLTokenizer.cpp: 37720 (WebCore::XMLTokenizer::write): 37721 37722 2008-03-26 Eric Seidel <eric (a] webkit.org> 37723 37724 Reviewed by darin. 37725 37726 Fix, makes us pass Test 70 37727 XML documents should be strict about encoding checks 37728 http://bugs.webkit.org/show_bug.cgi?id=17079 37729 37730 Test: fast/encoding/invalid-xml.html 37731 37732 * WebCore.base.exp: 37733 * dom/XMLTokenizer.cpp: 37734 (WebCore::XMLTokenizer::write): 37735 * loader/CachedFont.cpp: 37736 (WebCore::CachedFont::ensureSVGFontData): 37737 * loader/TextResourceDecoder.cpp: 37738 (WebCore::TextResourceDecoder::TextResourceDecoder): 37739 (WebCore::TextResourceDecoder::decode): 37740 * loader/TextResourceDecoder.h: 37741 * platform/text/TextCodec.h: 37742 (WebCore::TextCodec::decode): 37743 * platform/text/TextCodecICU.cpp: 37744 (WebCore::TextCodecICU::decodeToBuffer): 37745 (WebCore::ErrorCallbackSetter::ErrorCallbackSetter): 37746 (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter): 37747 (WebCore::TextCodecICU::decode): 37748 * platform/text/TextCodecICU.h: 37749 * platform/text/TextCodecLatin1.cpp: 37750 * platform/text/TextCodecLatin1.h: 37751 * platform/text/TextCodecUTF16.cpp: 37752 * platform/text/TextCodecUTF16.h: 37753 * platform/text/TextCodecUserDefined.cpp: 37754 * platform/text/TextCodecUserDefined.h: 37755 * platform/text/TextDecoder.cpp: 37756 (WebCore::TextDecoder::checkForBOM): 37757 * platform/text/TextDecoder.h: 37758 (WebCore::TextDecoder::decode): 37759 * platform/text/TextEncoding.cpp: 37760 (WebCore::TextEncoding::decode): 37761 * platform/text/TextEncoding.h: 37762 (WebCore::TextEncoding::decode): 37763 * platform/text/mac/TextCodecMac.cpp: 37764 (WebCore::TextCodecMac::decode): 37765 * platform/text/mac/TextCodecMac.h: 37766 37767 2008-03-26 Antti Koivisto <antti (a] apple.com> 37768 37769 Reviewed by Adam. 37770 37771 Add ElementTimeControl interface to SVGAnimationElement. 37772 Passes Acid3 test 75. 37773 37774 * DerivedSources.make: 37775 * WebCore.pro: 37776 * WebCore.vcproj/WebCore.vcproj: 37777 * WebCore.xcodeproj/project.pbxproj: 37778 * bindings/scripts/CodeGeneratorObjC.pm: 37779 * svg/ElementTimeControl.h: Added. 37780 (WebCore::ElementTimeControl::~ElementTimeControl): 37781 * svg/ElementTimeControl.idl: Added. 37782 * svg/SVGAnimationElement.cpp: 37783 (WebCore::SVGAnimationElement::beginElement): 37784 (WebCore::SVGAnimationElement::beginElementAt): 37785 (WebCore::SVGAnimationElement::endElement): 37786 (WebCore::SVGAnimationElement::endElementAt): 37787 * svg/SVGAnimationElement.h: 37788 * svg/SVGAnimationElement.idl: 37789 37790 2008-03-26 Kevin McCullough <kmccullough (a] apple.com> 37791 37792 - LayoutTest fix. Null check. 37793 37794 * xml/XMLHttpRequest.cpp: 37795 (WebCore::XMLHttpRequest::send): 37796 37797 2008-03-26 Dan Bernstein <mitz (a] apple.com> 37798 37799 Reviewed by Darin Adler. 37800 37801 - fix http://bugs.webkit.org/show_bug.cgi?id=17994 37802 REGRESSION (523-525+) View not updated when changing CSS size via JavaScript 37803 - fix http://bugs.webkit.org/show_bug.cgi?id=18063 37804 REGRESSION (r31250): Small bug that just cropped up in WebKit r31275 37805 37806 Tests: fast/repaint/subtree-root-clip.html 37807 fast/repaint/subtree-root-clip-2.html 37808 fast/repaint/subtree-root-clip-3.html 37809 37810 * rendering/LayoutState.cpp: 37811 (WebCore::LayoutState::LayoutState): Changed to not set an initial clip. 37812 Since the root is clipping, there is no need to set a clip, and setting 37813 the clip based on the container was wrong because often the root was 37814 not included in the container's overflow rect because it had its own 37815 layer. 37816 * rendering/RenderBox.cpp: 37817 (WebCore::RenderBox::absolutePosition): Removed code that added table 37818 cell's extra top offset only in the slow (recursive) code path. 37819 * rendering/RenderTableCell.cpp: 37820 (WebCore::RenderTableCell::absolutePosition): Added code to add the 37821 extra top offset in both code paths. 37822 37823 2008-03-26 Simon Hausmann <hausmann (a] webkit.org> 37824 37825 Fix the Qt build. 37826 37827 * platform/graphics/qt/FontQt.cpp: 37828 (WebCore::Font::floatWidth): 37829 37830 2008-03-24 Maciej Stachowiak <mjs (a] apple.com> 37831 37832 Reviewed by Eric. 37833 37834 - fixed "SVGTextElement.getStartPositionOfChar does not correctly account for multichar glyphs" 37835 http://bugs.webkit.org/show_bug.cgi?id=18046 37836 37837 * platform/graphics/Font.cpp: 37838 (WebCore::Font::floatWidth): Allow expressing a run that has extra "context" characters beyond the end, 37839 and reporting of how many characters were actually consumed, to support multichar glyphs in SVG fonts. 37840 * platform/graphics/Font.h: 37841 * rendering/SVGInlineTextBox.cpp: 37842 (WebCore::SVGInlineTextBox::calculateGlyphWidth): Pass along extra chars in argument and chars consumed out 37843 argument. 37844 (WebCore::SVGInlineTextBox::calculateGlyphHeight): Pass along extra chars in argument. 37845 (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): Add boilerplate; may not handle multichar glyphs 37846 right but I don't know what effects this would have. 37847 * rendering/SVGInlineTextBox.h: 37848 * rendering/SVGRootInlineBox.cpp: 37849 (WebCore::cummulatedWidthOrHeightOfTextChunk): Add boilerplate; may not handle multichar glyphs right 37850 but again I am not sure what effect this would have. 37851 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Account for multichar glyphs - let glyph 37852 selection consider extra chars, and account for the fact that a glyph may have consumed multiple chars. 37853 * rendering/SVGRootInlineBox.h: 37854 * svg/SVGFont.cpp: 37855 (WebCore::SVGTextRunWalker::walk): This is the place where glyph selection happens, so this is where 37856 we accout for multichar glyphs (both looking at extra chars past the end of the run, and reporting how 37857 many chars were consumed). 37858 (WebCore::floatWidthOfSubStringUsingSVGFont): Pass aforementioned info through the layers. 37859 (WebCore::Font::floatWidthUsingSVGFont): ditto 37860 (WebCore::Font::drawTextUsingSVGFont): ditto 37861 (WebCore::Font::selectionRectForTextUsingSVGFont): ditto 37862 * svg/SVGTextContentElement.cpp: 37863 (WebCore::cummulatedCharacterRangeLength): ditto 37864 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): ditto 37865 37866 2008-03-25 Beth Dakin <bdakin (a] apple.com> 37867 37868 Reviewed by Oliver. 37869 37870 Fix for <rdar://problem/5811826> CSSValueList::item() does not 37871 range-check index 37872 37873 Check bounds before accessing the item to avoid a crash. 37874 itemWithoutBoundsCheck() is still inlined and not bounds-checked to 37875 avoid slowing down our internal callers of item(). 37876 * css/CSSValueList.cpp: 37877 (WebCore::CSSValueList::item): 37878 * css/CSSValueList.h: 37879 (WebCore::CSSValueList::itemWithoutBoundsCheck): 37880 37881 Call itemWithoutBoundsCheck() to avoid slowing down these internal 37882 callers. 37883 * css/CSSFontSelector.cpp: 37884 (WebCore::CSSFontSelector::addFontFaceRule): 37885 * css/CSSMutableStyleDeclaration.cpp: 37886 (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): 37887 * css/CSSStyleSelector.cpp: 37888 (WebCore::applyCounterList): 37889 (WebCore::CSSStyleSelector::applyProperty): 37890 * css/MediaQueryEvaluator.cpp: 37891 (WebCore::parseAspectRatio): 37892 * svg/SVGFontFaceElement.cpp: 37893 (WebCore::SVGFontFaceElement::rebuildFontFace): 37894 * svg/graphics/SVGPaintServer.cpp: 37895 (WebCore::dashArrayFromRenderingStyle): 37896 37897 2008-03-25 Antti Koivisto <antti (a] apple.com> 37898 37899 Reviewed by Oliver. 37900 37901 Fix http://bugs.webkit.org/show_bug.cgi?id=18082 37902 REGRESSION (r31287): GMail does not work if user stylesheet is set 37903 37904 Oops, my cache refactoring patch was missing these rather essential lines for 37905 user stylesheets. They would get reloaded repeatedly. 37906 37907 * loader/Cache.cpp: 37908 (WebCore::Cache::requestUserCSSStyleSheet): 37909 37910 2008-03-25 Matt Lilek <webkit (a] mattlilek.com> 37911 37912 Rubber stamped by Adam 37913 37914 Roll out r31300 since it causes assertion failures on page load. 37915 See http://bugs.webkit.org/show_bug.cgi?id=18093 37916 37917 * page/InspectorController.cpp: 37918 (WebCore::InspectorController::didFinishLoading): 37919 (WebCore::InspectorController::didFailLoading): 37920 37921 2008-03-25 Darin Adler <darin (a] apple.com> 37922 37923 Reviewed by Anders. 37924 37925 - fix http://bugs.webkit.org/show_bug.cgi?id=17252 37926 Acid3 test removing Nodes during NodeIterator walk fails (affects Acid3 test 2) 37927 37928 Test: traversal/acid3-test-2.html 37929 37930 * bindings/js/JSNodeIteratorCustom.cpp: 37931 (WebCore::JSNodeIterator::nextNode): Update since result is PassRefPtr. 37932 (WebCore::JSNodeIterator::previousNode): Ditto. 37933 * dom/NodeIterator.cpp: 37934 (WebCore::NodeIterator::nextNode): Changed result to PassRefPtr. Added code to 37935 track both the current candidate (which needs to move along to the next node 37936 if current node is deleted) and the current provisional result (passed to acceptNode, 37937 and needs to be returned even if it's deleted). 37938 (WebCore::NodeIterator::previousNode): Ditto. 37939 (WebCore::NodeIterator::nodeWillBeRemoved): Call updateForNodeRemoval for 37940 m_candidateNode as well as m_referenceNode. 37941 * dom/NodeIterator.h: Use PassRefPtr for return values. 37942 37943 2008-03-25 Brady Eidson <beidson (a] apple.com> 37944 37945 Reviewed by Anders 37946 37947 Add the ability to transform a CString into a SharedBuffer to avoid copying data 37948 This is valuable to avoid copying a block of data for an upcoming patch 37949 37950 * platform/SharedBuffer.cpp: 37951 (WebCore::SharedBuffer::adoptVector): 37952 * platform/SharedBuffer.h: 37953 37954 * platform/text/CString.cpp: 37955 (WebCore::CString::releaseBuffer): 37956 * platform/text/CString.h: 37957 (WebCore::CStringBuffer::releaseBuffer): 37958 37959 2008-03-25 Brady Eidson <beidson (a] apple.com> 37960 37961 Attempt to fix .bkl build systems after recent archive additions 37962 37963 * webcore-base.bkl: 37964 37965 2008-03-25 Kevin McCullough <kmccullough (a] apple.com> 37966 37967 Reviewed by Adam. 37968 37969 - Cleaned up the needless use of RefPtrs, which we may someday no longer use for 37970 InspectorResources. 37971 37972 * page/InspectorController.cpp: 37973 (WebCore::InspectorController::didFinishLoading): 37974 (WebCore::InspectorController::didFailLoading): 37975 37976 2008-03-25 Kevin McCullough <kmccullough (a] apple.com> 37977 37978 Reviewed by Adam. 37979 37980 - Added a null check 37981 37982 * xml/XMLHttpRequest.cpp: Null check 37983 (WebCore::XMLHttpRequest::send): 37984 37985 2008-03-25 Kevin McCullough <kmccullough (a] apple.com> 37986 37987 Reviewed by Tim. 37988 37989 -<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313) 37990 -<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315) 37991 -<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233) 37992 - XMLHttpRequestResources now identify themselves to the inspector which caches the data related to 37993 the request since no one else caches it. However this is just the plumbing and the Inspector's UI 37994 has not been changed to show XHR resources yet. 37995 37996 * page/InspectorController.cpp: Add ability to set XHR data on an InspectorResource. 37997 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): 37998 (WebCore::XMLHttpRequestResource::data): 37999 (WebCore::XMLHttpRequestResource::encoding): 38000 (WebCore::InspectorResource::): Add new type. 38001 (WebCore::InspectorResource::~InspectorResource): No longer virtual since we are not using inheritance. 38002 (WebCore::InspectorResource::type): Ditto. 38003 (WebCore::InspectorResource::setXMLHttpRequestResource): 38004 (WebCore::InspectorResource::isXHR): 38005 (WebCore::InspectorResource::xmlHttpRequestData): 38006 (WebCore::InspectorResource::xmlHttpRequestEncoding): 38007 (WebCore::InspectorResource::InspectorResource): 38008 (WebCore::addSourceToFrame): 38009 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): 38010 * page/InspectorController.h: Add accessor for setting the XHR data. 38011 * page/inspector/Resource.js: Keep the XHR resource types in sync with the Inspector Controller. 38012 * xml/XMLHttpRequest.cpp: Give the InspectorController the XHR information to cache. 38013 (WebCore::XMLHttpRequest::send): 38014 38015 2008-03-25 Adam Roben <aroben (a] apple.com> 38016 38017 Add an UnusedParam.h forwarding header for use by testapi 38018 38019 Reviewed by Steve Falkenburg. 38020 38021 * ForwardingHeaders/wtf/UnusedParam.h: Added. 38022 38023 2008-03-25 Brady Eidson <beidson (a] apple.com> 38024 38025 Reviewed by Adam Roben 38026 38027 <rdar://problem/5819308> - View Source is empty when view webarchives 38028 38029 * WebCore.base.exp: 38030 * loader/DocumentLoader.cpp: 38031 (WebCore::DocumentLoader::setParsedArchiveData): 38032 (WebCore::DocumentLoader::parsedArchiveData): 38033 * loader/DocumentLoader.h: 38034 38035 * loader/FrameLoader.cpp: 38036 (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData 38037 in the DocumentLoader 38038 38039 2008-03-25 Eric Seidel <eric (a] webkit.org> 38040 38041 Reviewed by Oliver. 38042 38043 Speculative crash fix for Acid3 crasher. 38044 I couldn't figure out how to make a test case for this? 38045 Suggestions welcome. 38046 38047 * css/CSSFontSelector.cpp: null check document->renderer() 38048 38049 2008-03-25 Antti Koivisto <antti (a] apple.com> 38050 38051 Reviewed by Geoff Garen. 38052 38053 Some memory cache cleanups: 38054 - Separate CachedResource loading from construction, initiate load using a separate load() method. 38055 - Add special case function to Cache for loading user stylesheets. This allows removal 38056 of a bunch of parameters from several methods and CachedResource constructors. 38057 - Construct CachedResources with m_inCache set to false which is quite a bit more logical as they 38058 are not yet in the cache at that point. 38059 - Pass encoding around as const String& instead of const String*. 38060 38061 * css/CSSImageValue.cpp: 38062 (WebCore::CSSImageValue::image): 38063 * html/HTMLImageLoader.cpp: 38064 (WebCore::HTMLImageLoader::updateFromElement): 38065 * loader/Cache.cpp: 38066 (WebCore::createResource): 38067 (WebCore::Cache::requestResource): 38068 (WebCore::Cache::requestUserCSSStyleSheet): 38069 (WebCore::Cache::remove): 38070 * loader/Cache.h: 38071 * loader/CachedCSSStyleSheet.cpp: 38072 (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): 38073 * loader/CachedCSSStyleSheet.h: 38074 * loader/CachedFont.cpp: 38075 (WebCore::CachedFont::CachedFont): 38076 (WebCore::CachedFont::load): 38077 (WebCore::CachedFont::ref): 38078 * loader/CachedFont.h: 38079 * loader/CachedImage.cpp: 38080 (WebCore::CachedImage::CachedImage): 38081 (WebCore::CachedImage::load): 38082 * loader/CachedImage.h: 38083 * loader/CachedResource.cpp: 38084 (WebCore::CachedResource::CachedResource): 38085 (WebCore::CachedResource::~CachedResource): 38086 (WebCore::CachedResource::load): 38087 * loader/CachedResource.h: 38088 (WebCore::CachedResource::load): 38089 * loader/CachedScript.cpp: 38090 (WebCore::CachedScript::CachedScript): 38091 * loader/CachedScript.h: 38092 * loader/CachedXBLDocument.cpp: 38093 (WebCore::CachedXBLDocument::CachedXBLDocument): 38094 * loader/CachedXBLDocument.h: 38095 * loader/CachedXSLStyleSheet.cpp: 38096 (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): 38097 * loader/CachedXSLStyleSheet.h: 38098 * loader/DocLoader.cpp: 38099 (WebCore::DocLoader::requestImage): 38100 (WebCore::DocLoader::requestFont): 38101 (WebCore::DocLoader::requestCSSStyleSheet): 38102 (WebCore::DocLoader::requestUserCSSStyleSheet): 38103 (WebCore::DocLoader::requestScript): 38104 (WebCore::DocLoader::requestXSLStyleSheet): 38105 (WebCore::DocLoader::requestXBLDocument): 38106 (WebCore::DocLoader::requestResource): 38107 (WebCore::DocLoader::preload): 38108 * loader/DocLoader.h: 38109 38110 2008-03-25 Darin Adler <darin (a] apple.com> 38111 38112 Reviewed by Anders. 38113 38114 - avoid converting UString to String and then later to AtomicString 38115 38116 1% speedup on Acid3 test 26 38117 38118 This is inefficient for the case where there's already an AtomicString. 38119 By first creating and destroying a String we waste time. 38120 38121 * bindings/scripts/CodeGeneratorJS.pm: Use const UString& for string 38122 arguments rather than using String; this uses the object as it's produced 38123 from toString rather than creating a new temporary object that might not 38124 be of the right type. The type conversion happens at the callsite instead. 38125 Also eliminate the ability to use the type AtomicString from IDL. 38126 38127 * dom/KeyboardEvent.idl: AtomicString -> DOMString. 38128 * dom/MouseEvent.idl: Ditto. 38129 * dom/MutationEvent.idl: Ditto. 38130 * dom/UIEvent.idl: Ditto. 38131 * svg/SVGStyleElement.idl: Ditto. 38132 38133 2008-03-25 Brady Eidson <beidson (a] apple.com> 38134 38135 Build fix for non-CoreFoundation platforms 38136 38137 * loader/archive/ArchiveFactory.cpp: 38138 38139 2008-03-25 Brady Eidson <beidson (a] apple.com> 38140 38141 Reviewed by Darin 38142 38143 Remove newly obsolete FrameLoaderClient methods 38144 38145 * loader/FrameLoaderClient.h: 38146 * svg/graphics/SVGImageEmptyClients.h: 38147 (WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError): 38148 (WebCore::SVGEmptyFrameLoaderClient::finishedLoading): 38149 38150 2008-03-25 Brady Eidson <beidson (a] apple.com> 38151 38152 Reviewed by Darin 38153 38154 <rdar://problem/4516169> - Support WebArchives on Windows 38155 And pave the way for many future WebArchive bug fixes and enhancements 38156 38157 This patch accomplishes two main goals: 38158 1 - Consolidates much of the spread out WebKitMac archive code into one place in WebCore. This allows for cleaner refactoring 38159 in the future as well as adding more archive formats with ease. 38160 2 - Hooks up WebArchive support on Windows. Safari-style .webarchive files are nothing more than property lists readable by 38161 CoreFoundation. While there are still some outstanding issues, including an NSKeyedArchiver chunk of data for the 38162 ResourceResponse for each resource, this patch manually parses through the property list on CoreFoundation platforms and 38163 gets many archives loading on Windows 38164 38165 My goal for this first cut was zero behavior change. As such, I went for a direct port of the WebKitMac code. There will be 38166 opportunities for redesign and refactoring as followups. 38167 38168 * WebCore.base.exp: 38169 38170 * loader/DocumentLoader.cpp: 38171 (WebCore::DocumentLoader::setupForReplaceByMIMEType): Ported from WebKitMac, WebDataSource 38172 (WebCore::DocumentLoader::addAllArchiveResources): 38173 (WebCore::DocumentLoader::addArchiveResource): 38174 (WebCore::DocumentLoader::archiveResourceForURL): 38175 (WebCore::DocumentLoader::popArchiveForSubframe): 38176 (WebCore::DocumentLoader::clearArchiveResources): 38177 * loader/DocumentLoader.h: 38178 38179 * loader/FrameLoader.cpp: Moved WebFrameLoaderClient and WebFrame code down into their more appropriate FrameLoader home 38180 (WebCore::FrameLoader::FrameLoader): 38181 (WebCore::FrameLoader::setDefersLoading): 38182 (WebCore::FrameLoader::deliverArchivedResourcesAfterDelay): 38183 (WebCore::FrameLoader::archiveResourceDeliveryTimerFired): 38184 (WebCore::FrameLoader::loadURLIntoChildFrame): 38185 (WebCore::FrameLoader::loadArchive): 38186 (WebCore::FrameLoader::scheduleArchiveLoad): 38187 (WebCore::FrameLoader::stopAllLoaders): 38188 (WebCore::FrameLoader::cancelPendingArchiveLoad): 38189 (WebCore::FrameLoader::isArchiveLoadPending): 38190 (WebCore::FrameLoader::finishedLoadingDocument): 38191 * loader/FrameLoader.h: 38192 38193 * loader/ResourceLoader.cpp: 38194 (WebCore::ResourceLoader::load): 38195 38196 * loader/archive/Archive.h: Generic "Archive of web resources" class that is only useful when subclassed. 38197 Contains a MainResource, subresources, and Archives for subframes 38198 (WebCore::Archive::mainResource): 38199 (WebCore::Archive::subresources): 38200 (WebCore::Archive::subframeArchives): 38201 (WebCore::Archive::setMainResource): 38202 (WebCore::Archive::addSubresource): 38203 (WebCore::Archive::addSubframeArchive): 38204 38205 * loader/archive/ArchiveFactory.cpp: A class that will take raw archive data and the MIMEtype, and create the 38206 appropriate Archive class for it. Additionally it handles registering the known MIMEtypes for all known archive formats 38207 (WebCore::archiveFactoryCreate): 38208 (WebCore::archiveMIMETypes): 38209 (WebCore::ArchiveFactory::isArchiveMimeType): 38210 (WebCore::ArchiveFactory::create): 38211 (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes): 38212 * loader/archive/ArchiveFactory.h: 38213 38214 * loader/archive/ArchiveResource.cpp: Analog to "WebResource" in WebKitMac. Contains the data and other important 38215 attributes of an archived resource 38216 (WebCore::ArchiveResource::create): 38217 (WebCore::ArchiveResource::ArchiveResource): 38218 (WebCore::ArchiveResource::response): 38219 * loader/archive/ArchiveResource.h: 38220 (WebCore::ArchiveResource::data): 38221 (WebCore::ArchiveResource::url): 38222 (WebCore::ArchiveResource::mimeType): 38223 (WebCore::ArchiveResource::textEncoding): 38224 (WebCore::ArchiveResource::frameName): 38225 (WebCore::ArchiveResource::ignoreWhenUnarchiving): 38226 (WebCore::ArchiveResource::shouldIgnoreWhenUnarchiving): 38227 38228 * loader/archive/ArchiveResourceCollection.cpp: Analog of "WebUnarchivingState" in WebKitMac. Contains a hash of 38229 all the resources for every frame in an archive, and contains the archives for each subframe needed to load a multi-frame archive 38230 (WebCore::ArchiveResourceCollection::ArchiveResourceCollection): 38231 (WebCore::ArchiveResourceCollection::addAllResources): 38232 (WebCore::ArchiveResourceCollection::addResource): 38233 (WebCore::ArchiveResourceCollection::archiveResourceForURL): 38234 (WebCore::ArchiveResourceCollection::popSubframeArchive): 38235 * loader/archive/ArchiveResourceCollection.h: 38236 38237 * loader/archive/cf/LegacyWebArchive.cpp: Subclass of Archive specifically for Webkit's Objective-C based ".webarchive" format. 38238 Mostly a collection of static methods involved in parsing and serializing a WebKit-style .webarchive. Is mostly supported 38239 for any CF platform. 38240 (WebCore::createPropertyListRepresentationFromResource): 38241 (WebCore::createPropertyListRep): 38242 (WebCore::createResourceResponseFromPropertyListData): 38243 (WebCore::createResource): 38244 (WebCore::LegacyWebArchive::create): 38245 (WebCore::LegacyWebArchive::LegacyWebArchive): 38246 (WebCore::LegacyWebArchive::init): 38247 (WebCore::LegacyWebArchive::extract): 38248 (WebCore::LegacyWebArchive::rawDataRepresentation): 38249 (WebCore::createResourceResponseFromMacArchivedData): 38250 (WebCore::propertyListDataFromResourceResponse): 38251 * loader/archive/cf/LegacyWebArchive.h: 38252 * loader/archive/cf/LegacyWebArchiveMac.mm: 38253 (WebCore::createResourceResponseFromMacArchivedData): 38254 (WebCore::propertyListDataFromResourceResponse): 38255 38256 * platform/network/mac/ResourceRequest.h: 38257 * platform/network/mac/ResourceRequestMac.mm: 38258 (WebCore::ResourceRequest::applyWebArchiveHackForMail): Tweak the resource request for Mac clients when loading WebArchives 38259 38260 2008-03-25 David Hyatt <hyatt (a] apple.com> 38261 38262 Cut and paste error in the zoom code. A width() should have been a height(). Regression tests caught this. 38263 38264 * page/DOMWindow.cpp: 38265 (WebCore::DOMWindow::innerHeight): 38266 38267 2008-03-24 Darin Adler <darin (a] apple.com> 38268 38269 - try to fix broken Wx build 38270 38271 * platform/wx/TemporaryLinkStubs.cpp: 38272 (GraphicsContext::setPlatformShadow): 38273 (GraphicsContext::clearPlatformShadow): 38274 38275 2008-03-24 Darin Adler <darin (a] apple.com> 38276 38277 Reviewed by Sam. 38278 38279 - use AtomicString more consistently for attribute values 38280 38281 1% speedup on Acid3 test 26 38282 38283 * dom/Element.cpp: 38284 (WebCore::Element::setAttribute): Changed value argument to AtomicString. 38285 Also fixed call to lower() to only be done if the name isn't already lowercase. 38286 Also took out one unneeded condition in a cascade of if statements. 38287 (WebCore::Element::createAttribute): Ditto. 38288 (WebCore::Element::setAttributeNS): Ditto. 38289 * dom/Element.h: Ditto. 38290 * dom/StyledElement.cpp: 38291 (WebCore::StyledElement::createAttribute): Ditto. 38292 * dom/StyledElement.h: Ditto. 38293 38294 2008-03-24 Darin Adler <darin (a] apple.com> 38295 38296 Reviewed by Sam. 38297 38298 - get rid of extra level of function call in toJS functions for Node 38299 38300 0.6% speedup on Acid3 test 26 38301 38302 * bindings/js/JSNodeCustom.cpp: 38303 (WebCore::toJS): Take a raw pointer, not a PassRefPtr, like other toJS functions. 38304 38305 * bindings/scripts/CodeGeneratorJS.pm: Add an inlined toJS for EventTargetNode* 38306 to avoid ambiguity that otherwise exists between the toJS for EventTarget* and 38307 for Node*. 38308 38309 2008-03-24 Darin Adler <darin (a] apple.com> 38310 38311 Reviewed by Hyatt. 38312 38313 - add fast path to isValidName that does not use advanced Unicode functions 38314 38315 2% speedup on Acid3 test 26 38316 38317 * dom/Document.cpp: 38318 (WebCore::isValidNameNonASCII): Added. Contains the old isValidName function. 38319 (WebCore::isValidNameASCII): Added. Contains a simpler function that returns 38320 true for most valid names that are also all ASCII. 38321 (WebCore::Document::isValidName): Changed to call both of the above functions. 38322 The common case is that isValidNameASCII returns true so isValidNameNonASCII 38323 is never called. 38324 38325 2008-03-24 David Hyatt <hyatt (a] apple.com> 38326 38327 Fix for bug 18052, window properties need to respect zoom factor. 38328 38329 Reviewed by Beth 38330 38331 * page/DOMWindow.cpp: 38332 (WebCore::DOMWindow::innerHeight): 38333 (WebCore::DOMWindow::innerWidth): 38334 (WebCore::DOMWindow::scrollX): 38335 (WebCore::DOMWindow::scrollY): 38336 (WebCore::DOMWindow::scrollTo): 38337 * page/FrameView.cpp: 38338 (WebCore::FrameViewPrivate::reset): 38339 (WebCore::FrameView::layout): 38340 (WebCore::FrameView::performPostLayoutTasks): 38341 38342 2008-03-24 Sam Weinig <sam (a] webkit.org> 38343 38344 Reviewed by Darin Adler. 38345 38346 Fix http://bugs.webkit.org/show_bug.cgi?id=18048 38347 The "thisObject" parameter to JSEvaluateScript is not used properly 38348 38349 * bindings/js/kjs_proxy.cpp: 38350 (WebCore::KJSProxy::evaluate): No need to pass a thisObject since we want the global object to be used. 38351 * bridge/jni/jni_jsobject.mm: 38352 (JavaJSObject::eval): To avoid any change to this function, don't pass a thisObject to keep the same 38353 behavior. 38354 38355 2008-03-24 Brady Eidson <beidson (a] apple.com> 38356 38357 Reviewed by Darin's rubberstamp 38358 38359 Land a load of empty files for upcoming work to make sure I'm not breaking any platform's build 38360 38361 * GNUmakefile.am: 38362 * WebCore.pro: 38363 * WebCore.vcproj/WebCore.vcproj: 38364 * WebCore.xcodeproj/project.pbxproj: 38365 * WebCoreSources.bkl: 38366 * loader/archive: Added. 38367 * loader/archive/Archive.h: Added. 38368 * loader/archive/ArchiveFactory.cpp: Added. 38369 * loader/archive/ArchiveFactory.h: Added. 38370 * loader/archive/ArchiveResource.cpp: Added. 38371 * loader/archive/ArchiveResource.h: Added. 38372 * loader/archive/ArchiveResourceCollection.cpp: Added. 38373 * loader/archive/ArchiveResourceCollection.h: Added. 38374 * loader/archive/cf: Added. 38375 * loader/archive/cf/LegacyWebArchive.cpp: Added. 38376 * loader/archive/cf/LegacyWebArchive.h: Added. 38377 * loader/archive/cf/LegacyWebArchiveMac.mm: Added. 38378 38379 2008-03-24 David Hyatt <hyatt (a] apple.com> 38380 38381 Fix for bug 18009. Make sure the IE offset/client/scroll*** extensions respect full page zoom. 38382 38383 Reviewed by Beth 38384 38385 * dom/Element.cpp: 38386 (WebCore::localZoomForRenderer): 38387 (WebCore::adjustForLocalZoom): 38388 (WebCore::adjustForAbsoluteZoom): 38389 (WebCore::Element::offsetLeft): 38390 (WebCore::Element::offsetTop): 38391 (WebCore::Element::offsetWidth): 38392 (WebCore::Element::offsetHeight): 38393 (WebCore::Element::clientLeft): 38394 (WebCore::Element::clientTop): 38395 (WebCore::Element::clientWidth): 38396 (WebCore::Element::clientHeight): 38397 (WebCore::Element::scrollLeft): 38398 (WebCore::Element::scrollTop): 38399 (WebCore::Element::setScrollLeft): 38400 (WebCore::Element::setScrollTop): 38401 (WebCore::Element::scrollWidth): 38402 (WebCore::Element::scrollHeight): 38403 * rendering/RenderBox.cpp: 38404 (WebCore::RenderBox::setStyle): 38405 * rendering/RenderObject.cpp: 38406 (WebCore::RenderObject::offsetParent): 38407 * rendering/RenderObject.h: 38408 38409 2008-03-24 Brady Eidson <beidson (a] apple.com> 38410 38411 Reviewed by Darin 38412 38413 Some style cleanup and add a logging channel for upcoming work 38414 38415 * platform/Logging.cpp: 38416 * platform/Logging.h: 38417 38418 * platform/MIMETypeRegistry.cpp: 38419 (WebCore::initializeSupportedImageMIMETypes): 38420 (WebCore::initializeSupportedNonImageMimeTypes): 38421 38422 2008-03-24 Dan Bernstein <mitz (a] apple.com> 38423 38424 Reviewed by Sam Weinig. 38425 38426 - fix <rdar://problem/5812292> CrashTracer: [REGRESSION] 60 crashes in Safari at com.apple.WebCore: WebCore::RenderObject::repaintRectangle + 47 38427 38428 Test: fast/repaint/renderer-destruction-by-invalidateSelection-crash.html 38429 38430 * page/FrameView.cpp: 38431 (WebCore::FrameViewPrivate::reset): Removed repaintRects code. 38432 (WebCore::FrameView::layout): Ditto. 38433 (WebCore::FrameView::addRepaintInfo): Removed. 38434 38435 * page/FrameView.h: Removed addRepaintInfo(). 38436 38437 * rendering/RenderBlock.cpp: 38438 (WebCore::RenderBlock::layoutBlock): Changed to call repaintRectangle 38439 instead of FrameView::addRepaintInfo(). 38440 * rendering/RenderTable.cpp: 38441 (WebCore::RenderTable::layout): Ditto. 38442 38443 2008-03-24 Alp Toker <alp (a] atoker.com> 38444 38445 GTK+/soup http backend build fix for breakage introduced in r31141. 38446 Fix suggested by Xan. 38447 38448 * platform/network/ResourceHandle.h: 38449 38450 2008-03-24 Dan Bernstein <mitz (a] apple.com> 38451 38452 Reviewed by Sam Weinig. 38453 38454 - fix <rdar://problem/5792582> CSS opacity does not work with GDI text 38455 - fix <rdar://problem/5792619> non-opaque CSS colors do not work with GDI text (RGBA, HSLA) 38456 - fix <rdar://problem/5792624> GDI text can't be stroked/filled independently 38457 - make text-shadow work with GDI text 38458 - make -webkit-background-clip: text work with GDI text 38459 38460 * platform/graphics/GraphicsContext.cpp: 38461 (WebCore::GraphicsContext::setShadow): Made this a shared method that 38462 updates the state and calls the platform-specific method. 38463 (WebCore::GraphicsContext::clearShadow): Ditto. 38464 (WebCore::GraphicsContext::getShadow): Added. 38465 38466 * platform/graphics/GraphicsContext.h: 38467 (WebCore::GraphicsContext::WindowsBitmap): Added this class that 38468 represents a bitmap with a Windows device context that GDI can draw into. 38469 38470 * platform/graphics/GraphicsContextPrivate.h: 38471 (WebCore::GraphicsContextState::GraphicsContextState): Added the shadow 38472 parameters to the graphics state. 38473 38474 * platform/graphics/cairo/GraphicsContextCairo.cpp: 38475 (WebCore::GraphicsContext::setPlatformShadow): Renamed the platform- 38476 specific implementation to this. 38477 (WebCore::GraphicsContext::clearPlatformShadow): Renamed the platform- 38478 specific implementation to this. 38479 38480 * platform/graphics/cg/GraphicsContextCG.cpp: 38481 (WebCore::GraphicsContext::setPlatformShadow): Renamed the platform- 38482 specific implementation to this. 38483 (WebCore::GraphicsContext::clearPlatformShadow): Renamed the platform- 38484 specific implementation to this. 38485 38486 * platform/graphics/qt/GraphicsContextQt.cpp: 38487 (WebCore::GraphicsContext::setPlatformShadow): Renamed the platform- 38488 specific implementation to this. 38489 (WebCore::GraphicsContext::clearPlatformShadow): Renamed the platform- 38490 specific implementation to this. 38491 38492 * platform/graphics/win/FontCGWin.cpp: 38493 (WebCore::toCGFloat): Added. Converts a Windows FIXED. 38494 (WebCore::createPathForGlyph): Added. Retrieves a glyph's hinted 38495 outline from GDI and creates a CGPath containing it. 38496 (WebCore::Font::drawGlyphs): Added two code paths in the GDI case. 38497 The existing code path, which uses GDI to draw text directly to the 38498 graphics context, is used for opaque-colored, non-transformed, 38499 non-stroked, non-shadowed text in a GDI-backed graphics context that is 38500 not in a transparency layer. 38501 An additional code path is used for non-stroked text in all other cases. 38502 It uses GDI to draw black text into an all-white Windows bitmap, then 38503 uses the green channel as a mask to create a bitmap with the desired 38504 fill color and alpha. The bitmap is then drawn into the graphics 38505 context, at which time transparency layers, transforms and shadows are 38506 handled properly. 38507 A third code path is used for stroked text. It constructs a path from 38508 hinted glyph outlines retrieved from GDI and strokes (and optionally 38509 fills) it. 38510 38511 * platform/graphics/win/GraphicsContextCGWin.cpp: 38512 (WebCore::GraphicsContext::getWindowsContext): Added a mayCreateBitmap 38513 parameter. When false, prevents this method from creating a Windows 38514 device context if the graphics context does not already have one. 38515 (WebCore::GraphicsContext::releaseWindowsContext): Added a 38516 mayCreateBitmap parameter to match getWindowsContext(). 38517 (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): 38518 (WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap): 38519 (WebCore::GraphicsContext::createWindowsBitmap): Added. 38520 (WebCore::GraphicsContext::drawWindowsBitmap): Added. Draws the bitmap 38521 as a non-alpha-premultiplied image. 38522 38523 2008-03-24 Kevin McCullough <kmccullough (a] apple.com> 38524 38525 - Fixed Changelog 38526 38527 2008-03-24 Marco Barisione <marco.barisione (a] collabora.co.uk> 38528 38529 Reviewed by Alp Toker. 38530 38531 http://bugs.webkit.org/show_bug.cgi?id=17845 38532 [GTK] combo box menu displayed in the wrong position 38533 38534 * platform/gtk/PopupMenuGtk.cpp: 38535 (WebCore::PopupMenu::show): Change the popup menu vertical position so 38536 that the active item is over the combo box. 38537 (WebCore::PopupMenu::menuPositionFunction): use the "push in" style 38538 like native GTK+ combo boxes to handle menus that don't fit in the 38539 screen. 38540 38541 2008-03-24 Adam Roben <aroben (a] apple.com> 38542 38543 * WebCore.vcproj/WebCore.vcproj: Add files from WebCore/page/inspector 38544 to the project. 38545 38546 2008-03-24 Alexey Proskuryakov <ap (a] webkit.org> 38547 38548 Build fix. 38549 38550 * WebCore.xcodeproj/project.pbxproj: Added DOMSVGAltGlyphElement.h and 38551 DOMSVGAltGlyphElementInternal.h to Copy Generated Headers phase. 38552 38553 2008-03-24 Eric Seidel <eric (a] webkit.org> 38554 38555 Build fix, no review. 38556 38557 Fix project paths to be group relative instead of project relative 38558 38559 * WebCore.xcodeproj/project.pbxproj: 38560 38561 2008-03-23 Maciej Stachowiak <mjs (a] apple.com> 38562 38563 Reviewed by Eric. 38564 38565 - fixed "SVGTextElement.getNumberOfChars is broken for altGlyph (affects Acid3 test 79)" 38566 http://bugs.webkit.org/show_bug.cgi?id=17062 38567 38568 * svg/SVGAltGlyphElement.cpp: Added. Implementation for new element. 38569 (WebCore::SVGAltGlyphElement::SVGAltGlyphElement): 38570 (WebCore::SVGAltGlyphElement::~SVGAltGlyphElement): 38571 (WebCore::SVGAltGlyphElement::setGlyphRef): 38572 (WebCore::SVGAltGlyphElement::glyphRef): 38573 (WebCore::SVGAltGlyphElement::setFormat): 38574 (WebCore::SVGAltGlyphElement::format): 38575 (WebCore::SVGAltGlyphElement::childShouldCreateRenderer): 38576 (WebCore::SVGAltGlyphElement::createRenderer): For now, this just renders as a tspan, 38577 which is right for everything besides the alternate glyph substitution itself. 38578 * svg/SVGAltGlyphElement.h: Added. Header for new element. 38579 (WebCore::SVGAltGlyphElement::contextElement): 38580 * svg/SVGAltGlyphElement.idl: Added. Interface for new element. 38581 * svg/SVGTSpanElement.cpp: 38582 (WebCore::SVGTSpanElement::childShouldCreateRenderer): Allow altGlyph to render here. 38583 * svg/SVGTextElement.cpp: 38584 (WebCore::SVGTextElement::childShouldCreateRenderer): ditto 38585 * svg/SVGTextPathElement.cpp: 38586 (WebCore::SVGTextPathElement::childShouldCreateRenderer): ditto 38587 * svg/svgtags.in: Add altGlyph 38588 * DerivedSources.make: Add new files 38589 * GNUmakefile.am: ditto 38590 * WebCore.SVG.exp: Add new ObjC DOM class 38591 * WebCore.pro: Add new files 38592 * WebCore.vcproj/WebCore.vcproj: ditto 38593 * WebCore.xcodeproj/project.pbxproj: ditto 38594 * bindings/js/JSSVGElementWrapperFactory.cpp: Handle altGlyph 38595 * bindings/objc/DOM.mm: 38596 (WebCore::createElementClassMap): ditto 38597 * bindings/objc/DOMInternal.h: Include altGlyph header 38598 * bindings/objc/DOMSVG.h: Include altGlyph header 38599 38600 2008-03-23 Robert Blaut <webkit (a] blaut.biz> 38601 38602 Reviewed by eseidel. Landed by eseidel. 38603 38604 Bug 17685: [~=] attribute selector failing to match empty string 38605 <http://bugs.webkit.org/show_bug.cgi?id=17685> 38606 38607 Test: fast/css/attribute-selector-empty-value.html 38608 38609 * css/CSSStyleSelector.cpp: 38610 (WebCore::CSSStyleSelector::checkOneSelector): 38611 38612 2008-03-22 Marco Barisione <marco.barisione (a] collabora.co.uk> 38613 38614 Reviewed by Darin Adler. 38615 38616 http://bugs.webkit.org/show_bug.cgi?id=16339 38617 Frame scrollbar positions are not updated on page scroll 38618 38619 Widget::geometryChanged() was called instead of 38620 ScrollViewScrollbar::geometryChanged() because of a missing const. 38621 38622 * platform/gtk/ScrollViewGtk.cpp: 38623 (WebCore::ScrollViewScrollbar::geometryChanged): add the missing 38624 const. 38625 38626 2008-03-22 Rodney Dawes <dobey (a] wayofthemonkey.com> 38627 38628 Reviewed by Mark Rowe. 38629 38630 Bug 17974: REGRESSION: npfunctions.h should not import npruntime_internal.h 38631 <http://bugs.webkit.org/show_bug.cgi?id=17974> 38632 <rdar://problem/5782310> 38633 38634 Include npapi.h and npruntime.h directly in npfunctions.h. 38635 Add npfunctions.h and npapi.h to npruntime_internal.h. 38636 Replace includes of npfunctions.h with npruntime_internal.h. 38637 38638 * bridge/npruntime_internal.h: 38639 * plugins/PluginPackage.h: 38640 * plugins/PluginStream.h: 38641 * plugins/npapi.cpp: 38642 * plugins/npfunctions.h: 38643 38644 2008-03-22 Mark Rowe <mrowe (a] apple.com> 38645 38646 Qt build fix. 38647 38648 * bridge/qt/qt_runtime.cpp: 38649 (KJS::Bindings::valueRealType): 38650 38651 2008-03-22 Eric Seidel <eric (a] webkit.org> 38652 38653 Reviewed by mjs. 38654 38655 Unify handling of NAMESPACE_ERR and fix Acid3 test 25 38656 http://bugs.webkit.org/show_bug.cgi?id=16693 38657 38658 Test: fast/dom/DOMImplementation/createDocumentType-err.html 38659 38660 * dom/DOMImplementation.cpp: 38661 (WebCore::DOMImplementation::createDocumentType): 38662 (WebCore::DOMImplementation::createDocument): 38663 * dom/DOMImplementation.idl: 38664 * dom/Document.cpp: 38665 (WebCore::Document::hasPrefixNamespaceMismatch): 38666 (WebCore::Document::createElementNS): 38667 (WebCore::Document::parseQualifiedName): 38668 (WebCore::Document::createAttributeNS): 38669 * dom/Document.h: 38670 * dom/Element.cpp: 38671 (WebCore::Element::setAttributeNS): 38672 * editing/FormatBlockCommand.cpp: 38673 (WebCore::FormatBlockCommand::doApply): 38674 38675 2008-03-22 Eric Seidel <eric (a] webkit.org> 38676 38677 Reviewed by mjs. 38678 38679 Fix createElementNS to throw exceptions for invalid qualified names 38680 Fixes Acid3 sub-test 23 38681 http://bugs.webkit.org/show_bug.cgi?id=16833 38682 38683 Tests: fast/dom/Document/createAttributeNS-namespace-err.html 38684 fast/dom/Document/createElementNS-namespace-err.html 38685 38686 * dom/Document.cpp: 38687 (WebCore::Document::createElement): 38688 (WebCore::hasNamespaceError): 38689 (WebCore::Document::createElementNS): 38690 (WebCore::Document::createAttributeNS): 38691 * dom/Document.idl: 38692 38693 2008-03-21 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 38694 38695 Reviewed by Oliver Hunt. 38696 38697 Bug 13693: REGRESSION (r13615): Acid2 Test Eyes render improperly after a page refresh 38698 <http://bugs.webkit.org/show_bug.cgi?id=13693> 38699 38700 Do not create bogus history items for unloaded <object> elements, because they 38701 cause fallback content to be ignored on reload. 38702 38703 * loader/FrameLoader.cpp: 38704 (WebCore::FrameLoader::createHistoryItemTree): 38705 38706 2008-03-21 Dan Bernstein <mitz (a] apple.com> 38707 38708 Reviewed by Oliver Hunt. 38709 38710 - fix http://bugs.webkit.org/show_bug.cgi?id=17988 38711 REGRESSION (r31114-31132): Crash in InlineBox::isDirty() opening chowhound.com 38712 38713 Test: fast/css-generated-content/empty-content-with-float-crash.html 38714 38715 * rendering/bidi.cpp: 38716 (WebCore::RenderBlock::layoutInlineChildren): Added a null check for 38717 the case where the block contains no in-flow elements but still lays 38718 out as a line flow, which can happen as a result of empty generated 38719 content. 38720 38721 2008-03-21 Sam Weinig <sam (a] webkit.org> 38722 38723 Reviewed by Oliver Hunt. 38724 38725 Fix <rdar://problem/5788451> 38726 toDataURL not implemented for Windows (need mapping of MIME type to UTI) 38727 38728 Hard code support for just PNG's on windows, the minimum the spec requires. 38729 38730 * platform/MIMETypeRegistry.cpp: 38731 (WebCore::initializeSupportedImageMIMETypesForEncoding): 38732 * platform/graphics/cg/ImageBufferCG.cpp: 38733 (WebCore::utiFromMIMEType): 38734 (WebCore::ImageBuffer::toDataURL): 38735 38736 2008-03-21 Matt Lilek <webkit (a] mattlilek.com> 38737 38738 Not reviewed, Mac build fix. 38739 38740 * bindings/objc/WebScriptObject.mm: 38741 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 38742 * bridge/jni/jni_utility.cpp: 38743 (KJS::Bindings::convertValueToJValue): 38744 * bridge/objc/objc_runtime.mm: 38745 (ObjcFallbackObjectImp::callAsFunction): 38746 38747 2008-03-21 Adam Roben <aroben (a] apple.com> 38748 38749 Attempt to fix the Mac build 38750 38751 * bindings/objc/DOMUtility.mm: 38752 (KJS::createDOMWrapper): 38753 38754 2008-03-21 Adam Roben <aroben (a] apple.com> 38755 38756 Rename static info members to s_info 38757 38758 This avoids conflicts with custom "info" methods, such as the one that 38759 will soon be added to Console. 38760 38761 Reviewed by Ada Chan and Sam Weinig. 38762 38763 2008-03-21 David Hyatt <hyatt (a] apple.com> 38764 38765 <rdar://problem/5808863> Zooming should not let non-zero border width become zero 38766 38767 Make sure zoomed values that begin >= 1 are not allowed to fall below 1. 38768 38769 Reviewed by adele 38770 38771 * css/CSSPrimitiveValue.cpp: 38772 (WebCore::CSSPrimitiveValue::computeLengthDouble): 38773 * loader/CachedImage.cpp: 38774 (WebCore::CachedImage::imageSize): 38775 (WebCore::CachedImage::imageRect): 38776 38777 2008-03-21 Kevin McCullough <kmccullough (a] apple.com> 38778 38779 Reviewed by Sam. 38780 38781 -<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313) 38782 -<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315) 38783 -<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233) 38784 - Instrument the InspectorController to cache XHR resrouces since they are not cached by WebCore. 38785 The resources will be kept in the same map as all other resources so they will have the exact 38786 same lifecycle. 38787 38788 * ChangeLog: 38789 * page/InspectorController.cpp: 38790 (WebCore::InspectorCachedXMLHttpRequestResource::type): 38791 (WebCore::InspectorCachedXMLHttpRequestResource::setType): 38792 (WebCore::InspectorCachedXMLHttpRequestResource::data): 38793 (WebCore::InspectorCachedXMLHttpRequestResource::setData): 38794 (WebCore::InspectorCachedXMLHttpRequestResource::encoding): 38795 (WebCore::InspectorCachedXMLHttpRequestResource::setEncoding): 38796 (WebCore::InspectorCachedXMLHttpRequestResource::create): 38797 (WebCore::InspectorCachedXMLHttpRequestResource::InspectorCachedXMLHttpRequestResource): 38798 38799 2008-03-21 Rodney Dawes <dobey (a] wayofthemonkey.com> 38800 38801 Reviewed by Holger. 38802 38803 http://bugs.webkit.org/show_bug.cgi?id=17981 38804 38805 Remove WebCore/ForwardingHeaders from cppflags as it is not needed, 38806 and causes build problems with GTK+. 38807 38808 * GNUmakefile.am: 38809 38810 2008-03-21 Dan Bernstein <mitz (a] apple.com> 38811 38812 Reviewed by Adele Peterson. 38813 38814 - fix http://bugs.webkit.org/show_bug.cgi?id=17966 38815 REGRESSION (r31114-r31132): Clearing via br behaves unpredictably 38816 38817 Test: fast/block/float/br-with-clear.html 38818 38819 * rendering/bidi.cpp: 38820 (WebCore::RenderBlock::layoutInlineChildren): Fixed the logic for the 38821 very special case of an all-lines-clean block that ends with a float- 38822 clearing <br> by looking for the <br> at the end of the line rather 38823 than at its beginning. 38824 38825 2008-03-21 Adam Roben <aroben (a] apple.com> 38826 38827 Don't allow any newly-scheduled plugin requests to be serviced when JS is paused 38828 38829 This is a followup to r31199. 38830 38831 Reviewed by Tim Hatcher. 38832 38833 * plugins/PluginView.cpp: 38834 (WebCore::PluginView::requestTimerFired): Added an assertion that JS 38835 is not paused. 38836 (WebCore::PluginView::scheduleRequest): Don't start the request timer 38837 if JS is paused. This is the bug fix. 38838 (WebCore::PluginView::setJavaScriptPaused): Replaced the use of 38839 m_requestTimerWasActive with a check to see if we have any pending 38840 requests. m_requestTimerWasActive would not be accurate if a new 38841 request had been scheduled while JS was paused. 38842 (WebCore::PluginView::PluginView): Removed initialization of 38843 m_requestTimerWasActive. 38844 * plugins/PluginView.h: Removed m_requestTimerWasActive. 38845 38846 2008-03-20 Dan Bernstein <mitz (a] apple.com> 38847 38848 Reviewed by Anders Carlsson. 38849 38850 - fix an assertion failure due to a line being marked dirty during 38851 computeVerticalPositionsForLine() due to temporary box destruction 38852 38853 Test: fast/inline/clean-after-removing-temp-boxes.html 38854 38855 * rendering/RenderText.cpp: 38856 (WebCore::RenderText::setTextWithOffset): Added code to dirty lines 38857 when this method is called on an empty text node, which has no line 38858 boxes. 38859 * rendering/bidi.cpp: 38860 (WebCore::RenderBlock::computeVerticalPositionsForLine): Mark the line 38861 clean in the end. 38862 38863 2008-03-20 Anders Carlsson <andersca (a] apple.com> 38864 38865 Reviewed by Maciej. 38866 38867 Make some member variables private. 38868 38869 * loader/ResourceLoader.cpp: 38870 (WebCore::ResourceLoader::ResourceLoader): 38871 * loader/ResourceLoader.h: 38872 38873 2008-03-20 Anders Carlsson <andersca (a] apple.com> 38874 38875 Reviewed by Maciej. 38876 38877 Get rid of m_originalURL in ResourceLoader. 38878 38879 * loader/ResourceLoader.cpp: 38880 (WebCore::ResourceLoader::load): 38881 Don't store m_originalURL. 38882 38883 * loader/ResourceLoader.h: 38884 * loader/SubresourceLoader.cpp: 38885 (WebCore::SubresourceLoader::willSendRequest): 38886 Use the url of the current request instead of the original URL. 38887 38888 2008-03-20 Anders Carlsson <andersca (a] apple.com> 38889 38890 Reviewed by Maciej. 38891 38892 Small loader cleanups. 38893 38894 * loader/MainResourceLoader.cpp: 38895 (WebCore::MainResourceLoader::willSendRequest): 38896 No need to call setRequest here, ResourceLoader::willSendRequest takes care of that. 38897 Also, there is no need to check that newRequest is null here, because we assert earlier that it is not. 38898 38899 * loader/ResourceLoader.h: 38900 Get rid of setRequest, it is no longer needed. 38901 38902 2008-03-20 Anders Carlsson <andersca (a] apple.com> 38903 38904 Get rid of a couple of unnecessary class declarations. 38905 38906 * loader/SubresourceLoader.h: 38907 38908 2008-03-20 David Hyatt <hyatt (a] apple.com> 38909 38910 Add a new value to background-clip, "text", that allows backgrounds to be clipped to foreground text (and 38911 associated text decorations like shadows and underlines). 38912 38913 Reviewed by Beth 38914 38915 * css/CSSParser.cpp: 38916 (WebCore::CSSParser::parseBackgroundProperty): 38917 * css/CSSPrimitiveValueMappings.h: 38918 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 38919 (WebCore::CSSPrimitiveValue::operator EBackgroundBox): 38920 * platform/graphics/GraphicsContext.cpp: 38921 (WebCore::GraphicsContext::clipToImageBuffer): 38922 * platform/graphics/GraphicsContext.h: 38923 * platform/graphics/cg/GraphicsContextCG.cpp: 38924 (WebCore::GraphicsContext::clipToImageBuffer): 38925 * rendering/InlineBox.cpp: 38926 (WebCore::InlineBox::paint): 38927 * rendering/InlineFlowBox.cpp: 38928 (WebCore::InlineFlowBox::paintBackgrounds): 38929 (WebCore::InlineFlowBox::paintBackground): 38930 (WebCore::InlineFlowBox::paintBoxDecorations): 38931 * rendering/InlineFlowBox.h: 38932 * rendering/InlineTextBox.cpp: 38933 (WebCore::InlineTextBox::paint): 38934 * rendering/RenderBlock.cpp: 38935 (WebCore::RenderBlock::paintColumns): 38936 (WebCore::RenderBlock::paintObject): 38937 (WebCore::RenderBlock::paintFloats): 38938 * rendering/RenderBlock.h: 38939 * rendering/RenderBox.cpp: 38940 (WebCore::RenderBox::paintRootBoxDecorations): 38941 (WebCore::RenderBox::paintBoxDecorations): 38942 (WebCore::RenderBox::paintBackgrounds): 38943 (WebCore::RenderBox::paintBackground): 38944 (WebCore::RenderBox::paintBackgroundExtended): 38945 * rendering/RenderBox.h: 38946 * rendering/RenderFieldset.cpp: 38947 (WebCore::RenderFieldset::paintBoxDecorations): 38948 * rendering/RenderFlow.cpp: 38949 (WebCore::RenderFlow::paintLines): 38950 * rendering/RenderObject.h: 38951 (WebCore::RenderObject::paintBackgroundExtended): 38952 * rendering/RenderStyle.h: 38953 * rendering/RenderTable.cpp: 38954 (WebCore::RenderTable::paintBoxDecorations): 38955 * rendering/RenderTableCell.cpp: 38956 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 38957 38958 2008-03-20 Adam Roben <aroben (a] apple.com> 38959 38960 Allow pausing/blocking of JS execution by plugins 38961 38962 Part of Bug 17133: Should support pausing JavaScript execution without 38963 hanging the process 38964 38965 <http://bugs.webkit.org/show_bug.cgi?id=17133> 38966 <rdar://problem/5719551> 38967 38968 This patch doesn't affect Mac, which doesn't use the shared PluginView 38969 code. 38970 38971 Note that this patch doesn't prevent plugins from executing JS via an 38972 NPObject they've already gotten hold of. It just blocks obtaining new 38973 NPObjects and pauses any requests to evaluate javascript: URIs. This 38974 is probably good enough for now because most plugins seem to always 38975 obtain the Window object each time they want to execute JS. 38976 38977 Reviewed by Tim Hatcher. 38978 38979 * plugins/PluginView.cpp: 38980 (WebCore::PluginView::getValue): Return an error if JS is paused. 38981 (WebCore::PluginView::setJavaScriptPaused): Stop the request timer if 38982 we're pausing, and resume it if we're unpausing. 38983 (WebCore::PluginView::PluginView): Initialize new members. 38984 * plugins/PluginView.h: 38985 38986 2008-03-20 Adam Roben <aroben (a] apple.com> 38987 38988 Allow pausing of callOnMainThread callbacks 38989 38990 Part of Bug 17133: Should support pausing JavaScript execution without 38991 hanging the process 38992 38993 <http://bugs.webkit.org/show_bug.cgi?id=17133> 38994 <rdar://problem/5719551> 38995 38996 Reviewed by Tim Hatcher. 38997 38998 * platform/MainThread.cpp: 38999 (WebCore::dispatchFunctionsFromMainThread): If callbacks are paused, 39000 don't dispatch the functions. 39001 (WebCore::setMainThreadCallbacksPaused): Added. If we're being 39002 unpaused, call scheduleDispatchFunctionsOnMainThread so that any 39003 queued callbacks will get dispatched in the near future. 39004 * platform/MainThread.h: 39005 39006 2008-03-20 Adam Roben <aroben (a] apple.com> 39007 39008 Allow blocking of JS event handlers/javascript: URIs per-Frame 39009 39010 Part of Bug 17133: Should support pausing JavaScript execution without 39011 hanging the process 39012 39013 <http://bugs.webkit.org/show_bug.cgi?id=17133> 39014 <rdar://problem/5719551> 39015 39016 Two new methods are added to KJSProxy: setPaused and isPaused. When 39017 setPaused(true) is called, JS event handlers are blocked and 39018 javascript: URIs will not be evaluated. 39019 39020 Reviewed by Tim Hatcher. 39021 39022 * bindings/js/kjs_events.cpp: 39023 (WebCore::JSAbstractEventListener::handleEvent): 39024 - Removed some old KJS_DEBUGGER code 39025 - Don't run the handler if the KJSProxy is paused. 39026 * bindings/js/kjs_proxy.cpp: 39027 (WebCore::KJSProxy::KJSProxy): Initialize new member. 39028 * bindings/js/kjs_proxy.h: Added new methods. 39029 * loader/FrameLoader.cpp: 39030 (WebCore::FrameLoader::executeScript): Don't execute the script if the 39031 KJSProxy is paused. 39032 39033 2008-03-20 Jon Honeycutt <jhoneycutt (a] apple.com> 39034 39035 Reviewed by Anders. 39036 39037 Fix Windows warning / leak: warning C4150: deletion of pointer to 39038 incomplete type 'WebCore::PluginRequest'; no destructor called 39039 39040 * plugins/PluginView.cpp: Move PluginRequest class to PluginView.h so 39041 Windows PluginView destructor can use WTF::deleteAllValues to clean up 39042 m_requests. 39043 * plugins/PluginView.h: 39044 (WebCore::PluginRequest::PluginRequest): 39045 (WebCore::PluginRequest::frameLoadRequest): 39046 (WebCore::PluginRequest::notifyData): 39047 (WebCore::PluginRequest::sendNotification): 39048 (WebCore::PluginRequest::shouldAllowPopups): 39049 39050 2008-03-20 Mark Rowe <mrowe (a] apple.com> 39051 39052 Reviewed by Sam Weinig. 39053 39054 Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit. 39055 This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the 39056 command-line. 39057 39058 * Configurations/WebCore.xcconfig: 39059 39060 2008-03-20 Jon Honeycutt <jhoneycutt (a] apple.com> 39061 39062 Reviewed by Anders. 39063 39064 <rdar://problem/5809600> REGRESSION: 39065 http/tests/plugins/cross-frame-object-access.html hangs Windows Layout 39066 Tests 39067 39068 r30897 changed the way we conditionalize this feature. 39069 39070 * plugins/PluginView.cpp: 39071 (WebCore::PluginView::getValue): Test ENABLE(NETSCAPE_PLUGIN_API) 39072 instead of USE(NPOBJECT). 39073 (WebCore::PluginView::bindingInstance): Same. 39074 39075 2008-03-20 Adam Roben <aroben (a] apple.com> 39076 39077 Highlight nodes when you hover over them in the Console 39078 39079 Part of Bug 16532: Inspector should highlight nodes in page when 39080 hovering over nodes in Inspector's interface 39081 39082 <http://bugs.webkit.org/show_bug.cgi?id=16532> 39083 <rdar://problem/5712896> 39084 39085 Reviewed by Tim Hatcher. 39086 39087 * page/inspector/ConsolePanel.js: 39088 (WebInspector.ConsolePanel._formatnode): Add mouseover/mouseout event 39089 listeners to highlight the node and clear the highlight. 39090 39091 2008-03-20 Adam Roben <aroben (a] apple.com> 39092 39093 Highlight nodes in the page when you hover over their DOM breadcrumbs 39094 39095 Part of Bug 16532: Inspector should highlight nodes in page when 39096 hovering over nodes in Inspector's interface 39097 39098 <http://bugs.webkit.org/show_bug.cgi?id=16532> 39099 <rdar://problem/5712896> 39100 39101 Reviewed by Tim Hatcher. 39102 39103 * page/inspector/DocumentPanel.js: 39104 (WebInspector.DocumentPanel): Add an mouseout event listener to the 39105 breadcrumbs element to clear the highlighted node. 39106 (WebInspector.DocumentPanel.updateBreadcrumbs): Change the mouseover 39107 event listener to highlight the node represented by the hovered 39108 breadcrumb. 39109 39110 2008-03-20 Adam Roben <aroben (a] apple.com> 39111 39112 Highlight nodes in the page when you hover over them in the DOM tree 39113 39114 Part of Bug 16532: Inspector should highlight nodes in page when 39115 hovering over nodes in Inspector's interface 39116 39117 <http://bugs.webkit.org/show_bug.cgi?id=16532> 39118 <rdar://problem/5712896> 39119 39120 The inspected node is no longer highlighted (unless, of course, you 39121 hover over it). 39122 39123 Reviewed by Tim Hatcher. 39124 39125 * page/inspector/DocumentPanel.js: 39126 (WebInspector.DocumentPanel): 39127 - Don't highlight the focused node when the DOM tree is shown 39128 - Added mousemove/mouseout event listeners to set/clear the 39129 highlighted node. These are added to the root of the DOM tree 39130 instead of to each individual list item to avoid flashing as the 39131 mouse moves between nodes. 39132 (WebInspector.DocumentPanel.set focusedDOMNode): Don't highlight the 39133 focused node. 39134 (WebInspector.DocumentPanel._onmousemove): Highlight the node under 39135 the mouse. 39136 39137 2008-03-20 Adam Roben <aroben (a] apple.com> 39138 39139 Show nodes' content/padding/border/margin boxes in the node highlight 39140 39141 Part of Bug 17221: Node highlight should show node metrics 39142 39143 <http://bugs.webkit.org/show_bug.cgi?id=17221> 39144 <rdar://problem/5732822> 39145 39146 Outstanding issues: 39147 1) We don't show padding/border/margins for inlines 39148 2) We don't show any numeric metrics, we just draw the boxes 39149 3) We'll probably want to tweak the look of the highlight some, at 39150 least to make the boxes better distinguishable 39151 39152 Reviewed by Tim Hatcher. 39153 39154 * page/InspectorController.cpp: 39155 (WebCore::drawOutlinedRect): Added. Just draws a single rect. 39156 (WebCore::drawHighlightForBoxes): Added. Takes the rects we calculated 39157 for the node and draws the highlight. 39158 (WebCore::InspectorController::drawNodeHighlight): Calculates the 39159 content/padding/border/margin boxes for blocks and passes them off to 39160 drawHighlightForBoxes. The behavior for inlines is for now unchanged. 39161 39162 2008-03-20 Adam Roben <aroben (a] apple.com> 39163 39164 Fix RenderContainer's override of addLineBoxRects to match RenderObject's 39165 39166 RenderContainer::addLineBoxRects was never getting called because its 39167 parameters didn't match those of RenderObject::addLineBoxRects. 39168 39169 Reviewed by Mitz Pettel. 39170 39171 No test possible. 39172 39173 * rendering/RenderContainer.cpp: Added an optional bool 39174 useSelectionHeight parameter to match RenderObject's method. 39175 * rendering/RenderContainer.h: Ditto. 39176 39177 2008-03-20 Marco Barisione <marco.barisione (a] collabora.co.uk> 39178 39179 Reviewed by Alp Toker. 39180 39181 http://bugs.webkit.org/show_bug.cgi?id=17946 39182 [GTK] Widgets are not clipped 39183 39184 * platform/gtk/RenderThemeGtk.cpp: 39185 (WebCore::paintMozWidget): pass the clipping rectangle to 39186 moz_gtk_widget_paint() instead of just the widget rectangle. 39187 39188 2008-03-20 David Hyatt <hyatt (a] apple.com> 39189 39190 Fix for http://bugs.webkit.org/show_bug.cgi?id=9279 39191 39192 Make :hover work with the adjacent sibling selector. This fix makes all forms of dynamic changes 39193 (class name changes, :hover, :focus, etc.) work properly when used with the + selector. 39194 39195 Reviewed by weinig 39196 39197 Added fast/css/dynamic-sibling-selector.html 39198 39199 * dom/Element.cpp: 39200 (WebCore::Element::recalcStyle): 39201 39202 2008-03-20 Aaron Golden <aegolden (a] gmail.com> 39203 39204 Reviewed by Darin and David Kilzer. 39205 39206 Addresses <http://bugs.webkit.org/show_bug.cgi?id=15263>, which caused certain marquees to not display. 39207 39208 Test: fast/html/marquee-scroll.html 39209 39210 * html/HTMLMarqueeElement.cpp: 39211 (WebCore::HTMLMarqueeElement::parseMappedAttribute): 39212 39213 2008-03-20 Adam Roben <aroben (a] apple.com> 39214 39215 Export InspectorController::drawNodeHighlight 39216 39217 Reviewed by Tim Hatcher. 39218 39219 * WebCore.base.exp: Also sorted this file. 39220 39221 2008-03-19 Stephanie Lewis <slewis (a] apple.com> 39222 39223 Rubber-stamped by Anders. 39224 39225 Fix Windows Build 39226 39227 * platform/cf/SharedBufferCF.cpp: 39228 (WebCore::SharedBuffer::createCFData): 39229 39230 2008-03-19 Stephanie Lewis <slewis (a] apple.com> 39231 39232 Rubber-stamped by Anders. 39233 39234 Fix Windows Build 39235 39236 * platform/SharedBuffer.h: 39237 39238 2008-03-19 Justin Garcia <justin.garcia (a] apple.com> 39239 39240 Reviewed by Oliver. 39241 39242 <rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues 39243 39244 Elements with height: x%; overflow: visible; overlap what's below them when they are copied from 39245 a document in quirksmode and pasted into to one in standards mode. This fix uses the computed 39246 the value for a property if its value is a percentage. 39247 39248 * css/CSSMutableStyleDeclaration.cpp: 39249 (WebCore::CSSMutableStyleDeclaration::addParsedProperty): Added so that we don't have to use 39250 setProperty from appendStartMarkup. We already have a parsed property value, so we shouldn't 39251 use setProperty, since it takes in a String. If we did, we would have to call CSSValue::cssText() 39252 for a String only to re-parse it in setProperty. This wasn't extremely important now, but it will 39253 be as we compute more properties to fix the rest of the copy/paste fidelity bugs. 39254 * css/CSSMutableStyleDeclaration.h: 39255 * editing/markup.cpp: 39256 (WebCore::appendStartMarkup): Compute values for properties that have percentage values. We could 39257 perhaps narrow this special case to only include properties that are effected by quirksmode. 39258 39259 2008-03-19 Sam Weinig <sam (a] webkit.org> 39260 39261 Reviewed by Anders Carlsson. 39262 39263 Fix for <rdar://problem/5785694> 39264 Crash occurs at KJS::Collector::collect() when loading web clip widgets with a PAC file 39265 39266 Make the activeExecStates stack per JSGlobalObject instead of static to ensure 39267 thread safety. 39268 39269 * bindings/objc/WebScriptObject.mm: 39270 (+[WebScriptObject throwException:]): Change to throw an exception on the current 39271 GlobalObject instead of the top of the static activeExecStates stack. 39272 (-[WebScriptObject setException:]): Change to use the top of the rootObjects GlobalObject 39273 instead of the top of the static activeExecStates stack. 39274 39275 * bridge/c/c_instance.cpp: 39276 * bridge/c/c_instance.h: 39277 * bridge/jni/jni_instance.cpp: 39278 (JavaInstance::virtualBegin): 39279 (JavaInstance::virtualEnd): 39280 * bridge/jni/jni_instance.h: 39281 * bridge/objc/objc_instance.h: 39282 * bridge/objc/objc_instance.mm: 39283 (ObjcInstance::~ObjcInstance): 39284 (ObjcInstance::virtualBegin): 39285 (ObjcInstance::virtualEnd): 39286 * bridge/runtime.cpp: 39287 (KJS::Bindings::Instance::setDidExecuteFunction): 39288 (KJS::Bindings::Instance::didExecuteFunction): 39289 (KJS::Bindings::Instance::setCurrentGlobalObject): Added. 39290 (KJS::Bindings::Instance::currentGlobalObject): Added. 39291 (KJS::Bindings::Instance::begin): 39292 (KJS::Bindings::Instance::end): 39293 * bridge/runtime.h: 39294 (KJS::Bindings::Instance::virtualBegin): Renamed from begin(). 39295 (KJS::Bindings::Instance::virtualEnd): Renamed from end(). 39296 We now store the currently active globalObject everytime we cross the runtime 39297 object boundary. To do this, we take advantage of the existing begin/end 39298 methods that are called when crossing this boundary, making begin set the current 39299 globalObject and then call the old begin, now called virtualBegin. 39300 39301 2008-03-19 Brady Eidson <beidson (a] apple.com> 39302 39303 Reviewed by Anders 39304 39305 Change SharedBuffer so the wrapping platform data aspect can be shared with all CoreFoundation platforms 39306 (Mac and Windows instead of just Mac) 39307 39308 * WebCore.vcproj/WebCore.vcproj: Add SharedBufferCF.cpp 39309 * WebCore.xcodeproj/project.pbxproj: Ditto 39310 39311 * platform/SharedBuffer.cpp: 39312 * platform/SharedBuffer.h: Change the private c'tor from NSData to CFDataRef, other PLATFORM tweaks 39313 39314 * platform/cf/SharedBufferCF.cpp: Added. 39315 (WebCore::SharedBuffer::SharedBuffer): 39316 (WebCore::SharedBuffer::createCFData): Non-Mac version of createCFData 39317 (WebCore::SharedBuffer::hasPlatformData): 39318 (WebCore::SharedBuffer::platformData): 39319 (WebCore::SharedBuffer::platformDataSize): 39320 (WebCore::SharedBuffer::maybeTransferPlatformData): 39321 (WebCore::SharedBuffer::clearPlatformData): 39322 39323 * platform/mac/SharedBufferMac.mm: 39324 (WebCore::SharedBuffer::wrapNSData): Use the CFDataRef constructor via toll-free bridging 39325 (WebCore::SharedBuffer::createCFData): Mac-specific version of createCFData 39326 39327 2008-03-19 Oliver Hunt <oliver (a] apple.com> 39328 39329 Reviewed by Antti. 39330 39331 Bug 17954: Canvas arc() with radius of 0 throws exception 39332 http://bugs.webkit.org/show_bug.cgi?id=17954 39333 39334 Simple fix -- use >= instead of > when validating the radius. 39335 39336 * html/CanvasRenderingContext2D.cpp: 39337 (WebCore::CanvasRenderingContext2D::arc): 39338 39339 2008-03-19 Justin Garcia <justin.garcia (a] apple.com> 39340 39341 Reviewed by Oliver. 39342 39343 <rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004) 39344 39345 The position inside an empty inline-block was a candidate, but upstream and downstream 39346 would move across it without stopping. This confused canonicalPosition, since no more 39347 than two candidates should have the same upstream/downstream (be visually equivalent). 39348 39349 Code was added intentionally in isCandidate to make VisiblePositions inside empty 39350 inline-blocks, so we need to make upstream/downstream understand that. 39351 39352 * dom/Position.cpp: 39353 (WebCore::endsOfNodeAreVisuallyDistinctPositions): upstream and downstream used to only 39354 stop when entering or leaving a non-inline element (referred to as a "block"). We must also 39355 avoid entering or leaving an empty inline-block. This will allow a VisiblePosition there, to 39356 match up with what the code in isCandidate intended. 39357 (WebCore::enclosingVisualBoundary): Removed enclosingBlock and replaced it with this. 39358 (WebCore::Position::upstream): Added better comments, called the new functions. 39359 (WebCore::Position::downstream): Ditto. 39360 * dom/Position.h: 39361 39362 2008-03-19 Dan Bernstein <mitz (a] apple.com> 39363 39364 Rubber-stamped by John Sullivan. 39365 39366 - change CSS property and value keyword constants from all-caps with 39367 underscores to intra-caps. 39368 39369 * css/makeprop.pl: 39370 * css/makevalues.pl: 39371 * All files using the constants 39372 39373 2008-03-19 Adam Roben <aroben (a] apple.com> 39374 39375 Make clicking anywhere in a row in the DOM tree select that row's node 39376 39377 We now have mousedown and dblclick event listeners on the root of the 39378 tree that forward the event to the node on the row the mouse is over. 39379 39380 Reviewed by Tim Hatcher. 39381 39382 * page/inspector/DocumentPanel.js: 39383 (WebInspector.DocumentPanel): Added a dblclick and mousedown event 39384 listeners to the root of the tree. 39385 (WebInspector.DocumentPanel._treeElementFromEvent): Added. Finds the 39386 tree element for the row underneath the mouse. 39387 (WebInspector.DocumentPanel._ondblclick): Added. Sends the dblclick 39388 event on to the tree element in the current row. 39389 (WebInspector.DocumentPanel._onmousedown): Added. Selects the tree 39390 element in the current row. 39391 * page/inspector/treeoutline.js: 39392 (TreeOutline.treeElementFromPoint): Added. 39393 (TreeElement.treeElementSelected): Changed to call 39394 TreeElement.isEventWithinDisclosureTriangle, and added an early return. 39395 (TreeElement.treeElementToggled): Ditto. 39396 (TreeElement.isEventWithinDisclosureTriangle): Added. 39397 * page/inspector/utilities.js: 39398 (Node.enclosingNodeOrSelfWithNodeNameInArray): Added. 39399 (Node.enclosingNodeOrSelfWithNodeName): Now just calls 39400 enclosingNodeOrSelfWithNodeNameInArray. 39401 (Elemnt.get totalOffsetLeft): Added. 39402 (Elemnt.get totalOffsetTop): Added. 39403 39404 2008-03-19 Dan Bernstein <mitz (a] apple.com> 39405 39406 Reviewed by Sam Weinig. 39407 39408 - fix assertion failure in RenderBlock::determineStartPosition() at http://www.wired.com/techbiz/it/magazine/16-04/bz_apple 39409 39410 Test: fast/repaint/line-flow-with-floats-10.html 39411 39412 * rendering/bidi.cpp: 39413 (WebCore::RenderBlock::determineStartPosition): Removed bogus assertion. 39414 If the float's top margin has changed and it has not been repositioned 39415 yet, we do not have its new y position. 39416 39417 2008-03-19 David Hyatt <hyatt (a] apple.com> 39418 39419 New implementation of full page zoom. Because of how much doesn't transform when zooming, and because 39420 of the need to obey viewport constraints, I decided to take a completely different approach. Now CSS 39421 lengths and intrinsic sizes are simply adjusted by the zoom factor. This approach works much better and 39422 avoids pixel cracks more than the old approach. In addition widgets "just work", namely plugins zoom 39423 and scrollbars do not. 39424 39425 This patch also implements the IE zoom CSS property. This property allows fine-grained control over 39426 zooming at the element level. It takes values of normal | <number> | <percentage> to match WinIE. In 39427 addition, in the vein of text-size-adjust for text zooming, I have extended the zoom property with an 39428 extra value, reset. The reset keyword can be used to prevent a section of the page from scaling at all 39429 when a zoom is applied. 39430 39431 Reviewed by olliej 39432 39433 * css/CSSComputedStyleDeclaration.cpp: 39434 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 39435 Support the new 'zoom' property for getComputedStyle. 39436 39437 * css/CSSParser.cpp: 39438 (WebCore::CSSParser::parseValue): 39439 Code that parses the 'zoom' property. 39440 39441 * css/CSSPrimitiveValue.cpp: 39442 (WebCore::CSSPrimitiveValue::computeLengthInt): 39443 (WebCore::CSSPrimitiveValue::computeLengthIntForLength): 39444 (WebCore::CSSPrimitiveValue::computeLengthShort): 39445 (WebCore::CSSPrimitiveValue::computeLengthFloat): 39446 (WebCore::CSSPrimitiveValue::computeLengthDouble): 39447 * css/CSSPrimitiveValue.h: 39448 Extend all of the computeLength methods to take a multiplier so that lengths can be adjusted by the 39449 zoom factor. 39450 39451 * css/CSSPropertyNames.in: 39452 Add the new zoom property to the list of properties we understand. 39453 39454 * css/CSSStyleSelector.cpp: 39455 (WebCore::CSSStyleSelector::applyDeclarations): 39456 (WebCore::CSSStyleSelector::applyProperty): 39457 (WebCore::CSSStyleSelector::mapBackgroundSize): 39458 (WebCore::CSSStyleSelector::mapBackgroundXPosition): 39459 (WebCore::CSSStyleSelector::mapBackgroundYPosition): 39460 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): 39461 * css/CSSStyleSelector.h: 39462 (WebCore::CSSStyleSelector::setStyle): 39463 Pass in the zoom factor when computing all lengths in CSS. 39464 39465 * css/CSSValueKeywords.in: 39466 Add support for the 'reset' keyword of the zoom property. 39467 39468 * dom/Document.cpp: 39469 (WebCore::Document::recalcStyle): 39470 Set the 'zoom' CSS property on the RenderView. This is how we implement full page zoom. 39471 39472 * html/CanvasRenderingContext2D.cpp: 39473 (WebCore::size): 39474 Make sure the back end canvas size ignores zooming when rendering images. 39475 39476 * html/HTMLImageElement.cpp: 39477 (WebCore::HTMLImageElement::width): 39478 (WebCore::HTMLImageElement::height): 39479 (WebCore::HTMLImageElement::naturalWidth): 39480 (WebCore::HTMLImageElement::naturalHeight): 39481 Use the unzoomed width/height if we have no style information in HTMLImageElement.cpp. 39482 39483 * loader/CachedImage.cpp: 39484 (WebCore::CachedImage::ref): 39485 (WebCore::CachedImage::imageSize): 39486 (WebCore::CachedImage::imageRect): 39487 * loader/CachedImage.h: 39488 (WebCore::CachedImage::canRender): 39489 Force access to the CachedImage metrics to take a multiplier so that people have to think about 39490 the zoom factor. The "intrinsic size" of the image then takes that into account. 39491 39492 * loader/ImageDocument.cpp: 39493 (WebCore::ImageTokenizer::finish): 39494 (WebCore::ImageDocument::scale): 39495 (WebCore::ImageDocument::resizeImageToFit): 39496 (WebCore::ImageDocument::imageChanged): 39497 (WebCore::ImageDocument::restoreImageSize): 39498 (WebCore::ImageDocument::imageFitsInWindow): 39499 Make sure image documents respect the zoom. 39500 39501 * page/AnimationController.cpp: 39502 (WebCore::ImplicitAnimation::animate): 39503 Make the 'zoom' CSS property work with CSS transitions. 39504 39505 * page/Frame.h: 39506 (WebCore::Frame::pageZoomFactor): 39507 (WebCore::Frame::textZoomFactor): 39508 Add accessors for obtaining the pageZoom vs. textZoom. 39509 39510 * page/FrameView.cpp: 39511 (WebCore::FrameView::adjustViewSize): 39512 Remove the old zoom implementation that used transforms. 39513 39514 * page/mac/WebCoreAXObject.mm: 39515 (-[WebCoreAXObject accessibilityIsIgnored]): 39516 Pass in the zoom factor. 39517 39518 * rendering/InlineFlowBox.cpp: 39519 (WebCore::InlineFlowBox::paintBackground): 39520 (WebCore::InlineFlowBox::paintBoxDecorations): 39521 Pass in the zoom factor when testing for size. 39522 39523 * rendering/RenderBox.cpp: 39524 (WebCore::RenderBox::calculateBackgroundSize): 39525 (WebCore::RenderBox::imageChanged): 39526 (WebCore::RenderBox::paintBackgroundExtended): 39527 (WebCore::RenderBox::calcHeight): 39528 * rendering/RenderFrameSet.cpp: 39529 (WebCore::RenderFrameSet::layout): 39530 * rendering/RenderHTMLCanvas.cpp: 39531 (WebCore::RenderHTMLCanvas::canvasSizeChanged): 39532 * rendering/RenderHTMLCanvas.h: 39533 (WebCore::RenderHTMLCanvas::renderName): 39534 (WebCore::RenderHTMLCanvas::intrinsicSizeChanged): 39535 * rendering/RenderImage.cpp: 39536 (WebCore::RenderImage::setImageSizeForAltText): 39537 (WebCore::RenderImage::imageChanged): 39538 (WebCore::RenderImage::calcReplacedWidth): 39539 (WebCore::RenderImage::calcReplacedHeight): 39540 * rendering/RenderImage.h: 39541 (WebCore::RenderImage::intrinsicSizeChanged): 39542 * rendering/RenderListMarker.cpp: 39543 (WebCore::RenderListMarker::layout): 39544 (WebCore::RenderListMarker::imageChanged): 39545 (WebCore::RenderListMarker::getRelativeMarkerRect): 39546 * rendering/RenderObject.cpp: 39547 (WebCore::RenderObject::mustRepaintBackgroundOrBorder): 39548 (WebCore::RenderObject::paintBorder): 39549 Pass in the zoom factor when testing for size. 39550 39551 * rendering/RenderReplaced.cpp: 39552 (WebCore::RenderReplaced::RenderReplaced): 39553 (WebCore::RenderReplaced::setStyle): 39554 (WebCore::RenderReplaced::intrinsicSizeChanged): 39555 * rendering/RenderReplaced.h: 39556 Added a new call when the zoom factor changes, intrinsicSizeChanged(). Replaced element subclasses 39557 respond to this via overrides. 39558 39559 * rendering/RenderStyle.cpp: 39560 (WebCore::StyleVisualData::StyleVisualData): 39561 (WebCore::StyleInheritedData::StyleInheritedData): 39562 (WebCore::StyleInheritedData::operator==): 39563 (WebCore::RenderStyle::diff): 39564 * rendering/RenderStyle.h: 39565 (WebCore::StyleVisualData::operator==): 39566 (WebCore::RenderStyle::zoom): 39567 (WebCore::RenderStyle::zoomInEffect): 39568 (WebCore::RenderStyle::setZoom): 39569 (WebCore::RenderStyle::setZoomInEffect): 39570 (WebCore::RenderStyle::initialZoom): 39571 Support for 'zoom' in the RenderStyle. "zoomInEffect" represents the computed zoom taking into account 39572 all the zooms specified on ancestors. 39573 39574 * rendering/RenderTableCol.cpp: 39575 (WebCore::RenderTableCol::imageChanged): 39576 * rendering/RenderTableRow.cpp: 39577 (WebCore::RenderTableRow::imageChanged): 39578 * rendering/RenderTableSection.cpp: 39579 (WebCore::RenderTableSection::imageChanged): 39580 * rendering/RenderVideo.h: 39581 (WebCore::RenderVideo::intrinsicSizeChanged): 39582 Pass in the zoom factor. 39583 39584 * rendering/RenderView.cpp: 39585 (WebCore::RenderView::calcHeight): 39586 (WebCore::RenderView::calcWidth): 39587 (WebCore::RenderView::layout): 39588 (WebCore::RenderView::viewHeight): 39589 (WebCore::RenderView::viewWidth): 39590 * rendering/RenderView.h: 39591 (WebCore::RenderView::zoomFactor): 39592 Back out the old implementation. 39593 39594 2008-03-19 Adam Roben <aroben (a] apple.com> 39595 39596 Rename firstParent* methods to enclosingNode* 39597 39598 Rubberstamped by John Sullivan. 39599 39600 * page/inspector/ConsolePanel.js: 39601 * page/inspector/DocumentPanel.js: 39602 * page/inspector/NetworkPanel.js: 39603 * page/inspector/inspector.js: 39604 * page/inspector/utilities.js: 39605 39606 2008-03-19 Dan Bernstein <mitz (a] apple.com> 39607 39608 Reviewed by John Sullivan. 39609 39610 - fix <rdar://problem/5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431 39611 39612 Test: fast/dynamic/subtree-parent-static-y.html 39613 39614 * rendering/RenderObject.cpp: 39615 (WebCore::RenderObject::markContainingBlocksForLayout): Avoid calling 39616 this method on the parent if the parent is the new layout subtree root, 39617 which would result in marking all the way to the top, when it should 39618 actually do nothing. 39619 39620 2008-03-19 Mark Rowe <mrowe (a] apple.com> 39621 39622 Reviewed by Oliver Hunt. 39623 39624 Use WTF::Unicode abstraction rather than using ICU functions directly. 39625 39626 * html/PreloadScanner.cpp: 39627 (WebCore::PreloadScanner::tokenize): 39628 39629 2008-03-19 Mark Rowe <mrowe (a] apple.com> 39630 39631 Attempt to fix the Gtk build. 39632 39633 * platform/network/curl/ResourceHandleCurl.cpp: 39634 (WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate): 39635 39636 2008-03-18 Darin Adler <darin (a] apple.com> 39637 39638 Reviewed by Maciej. 39639 39640 - Speed up JavaScript built-in properties by changing the 39641 hash table to take advantage of the identifier objects 39642 39643 5% speedup for Acid3 test 26 39644 39645 * bindings/js/JSDOMWindowBase.cpp: 39646 (WebCore::JSDOMWindowBase::getOwnPropertySlot): Update for change to HashTable. 39647 (WebCore::JSDOMWindowBase::put): Ditto. 39648 * bindings/js/JSDOMWindowCustom.cpp: 39649 (WebCore::JSDOMWindow::customGetOwnPropertySlot): Ditto. 39650 * bindings/js/JSHTMLInputElementBase.cpp: 39651 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): Ditto. 39652 * bindings/js/JSHistoryCustom.cpp: 39653 (WebCore::JSHistory::customGetOwnPropertySlot): Ditto. 39654 * bindings/js/JSLocation.cpp: 39655 (WebCore::JSLocation::customGetOwnPropertySlot): Ditto. 39656 (WebCore::JSLocation::put): Ditto. 39657 * bindings/js/kjs_binding.cpp: 39658 (WebCore::nonCachingStaticFunctionGetter): Ditto. 39659 39660 * bindings/scripts/CodeGeneratorJS.pm: Same changes as in the 39661 create_hash_table script. 39662 39663 2008-03-18 Matt Lilek <webkit (a] mattlilek.com> 39664 39665 Fix the Gtk build for real this time. 39666 39667 * platform/network/curl/AuthenticationChallenge.h: 39668 39669 2008-03-18 Sam Weinig <sam (a] webkit.org> 39670 39671 Reviewed by Anders Carlsson. 39672 39673 Fix for http://bugs.webkit.org/show_bug.cgi?id=17057 39674 REGRESSION: Frequent random crashes in WebCore::JSNodeList::indexGetter 39675 <rdar://problem/5725058> 39676 39677 Tests: fast/dom/NodeList/5725058-crash-scenario-1.html 39678 fast/dom/NodeList/5725058-crash-scenario-2.html 39679 fast/dom/NodeList/5725058-crash-scenario-3.html 39680 39681 * dom/ChildNodeList.cpp: 39682 (WebCore::ChildNodeList::ChildNodeList): 39683 * dom/ChildNodeList.h: 39684 Remove rootNodeChildrenChanged() method and fix the constructor to not 39685 pass in a needsNotifications argument to DynamicNodeList, as it no longer 39686 takes one. 39687 39688 * dom/ClassNodeList.cpp: 39689 (WebCore::ClassNodeList::ClassNodeList): 39690 Don't pass the needsNotifications argument to DynamicNodeList. 39691 39692 * dom/ContainerNode.cpp: 39693 (WebCore::ContainerNode::childrenChanged): 39694 Rename call to hasNodeLists() to hasNodeListCaches(). 39695 39696 * dom/Document.cpp: 39697 (WebCore::Document::Document): 39698 (WebCore::Document::~Document): Zero out the m_document variable to signify 39699 to destructors down the destruction chain that this is a Document type node 39700 being destructed, and thus, accessing document() is prohibited. 39701 * dom/Document.h: 39702 (WebCore::Document::addNodeListCache): Renamed from addNodeList. 39703 (WebCore::Document::removeNodeListCache): Renamed from removeNodeList, adds assertion. 39704 (WebCore::Document::hasNodeListCaches): Renamed from hasNodeListCaches. 39705 Rename m_numNodeLists to m_numNodeListCaches. 39706 39707 * dom/DynamicNodeList.cpp: 39708 (WebCore::DynamicNodeList::DynamicNodeList): 39709 (WebCore::DynamicNodeList::~DynamicNodeList): 39710 (WebCore::DynamicNodeList::invalidateCache): 39711 (WebCore::DynamicNodeList::Caches::Caches): 39712 * dom/DynamicNodeList.h: 39713 (WebCore::DynamicNodeList::hasOwnCaches): 39714 Remove the needsNotifications concept from DynamicNodeList, instead, manually 39715 invalidate the cache for lists that own their own cache. 39716 39717 * dom/NameNodeList.cpp: 39718 (WebCore::NameNodeList::NameNodeList): 39719 * dom/NameNodeList.h: 39720 Remove rootNodeAttributeChanged() method and fix the constructor to not 39721 pass in a needsNotifications argument to DynamicNodeList, as it no longer 39722 takes one. 39723 39724 * dom/Node.cpp: 39725 (WebCore::Node::~Node): Decrement the document's nodeListCache count 39726 if we had a NodeListsNodeData cache and this is not the Document being 39727 destructor, as tagged by a null m_document. 39728 (WebCore::Node::childNodes): Increment the document's nodeListCache count 39729 if we need create the NodeListsNodeData. 39730 (WebCore::Node::registerDynamicNodeList): Increment the document's nodeListCache count 39731 if we need create the NodeListsNodeData. Change to invalidate all the caches, instead 39732 of just the ChildNodeList, if document has had no NodeListCaches. 39733 (WebCore::Node::unregisterDynamicNodeList): Change to remove the cache from the m_listsWithCaches 39734 set if it is owned by the NodeList and clear the m_nodeLists if it is empty. 39735 (WebCore::Node::notifyLocalNodeListsAttributeChanged): Move logic to 39736 NodeListsNodeData::invalidateAttributeCaches and clear the cache pointer if it is empty. 39737 (WebCore::Node::notifyLocalNodeListsChildrenChanged): Move logic to 39738 NodeListsNodeData::invalidateCaches and clear the cache pointer if it is empty. 39739 (WebCore::Node::notifyNodeListsChildrenChanged): Cleanup. 39740 (WebCore::Node::getElementsByName): Increment the document's nodeListCache count 39741 if we need create the NodeListsNodeData. 39742 (WebCore::Node::getElementsByClassName): Increment the document's nodeListCache count 39743 if we need create the NodeListsNodeData. 39744 39745 (WebCore::NodeListsNodeData::invalidateCaches): Added. 39746 (WebCore::NodeListsNodeData::invalidateAttributeCaches): Added. 39747 (WebCore::NodeListsNodeData::isEmpty): Added. 39748 39749 * dom/TagNodeList.cpp: 39750 (WebCore::TagNodeList::TagNodeList): 39751 Don't pass the needsNotifications argument to DynamicNodeList. 39752 39753 2008-03-18 Matt Lilek <webkit (a] mattlilek.com> 39754 39755 Not reviewed, build fix. 39756 39757 * platform/network/curl/AuthenticationChallenge.h: 39758 39759 2008-03-18 Brent Fulgham <bfulgham (a] gmail.com> 39760 39761 Reviewed by Adam Roben. 39762 39763 Provide some stub implementations for things that WebKit 39764 uses for performing authentication/challenge activities. This 39765 is in support of http://bugs.webkit.org/show_bug.cgi?id=17837 39766 39767 * platform/network/ResourceHandle.h: 39768 * platform/network/curl/AuthenticationChallenge.h: 39769 (WebCore::AuthenticationChallenge::AuthenticationChallenge): 39770 (WebCore::AuthenticationChallenge::sourceHandle): 39771 39772 2008-03-18 Eric Seidel <eric (a] webkit.org> 39773 39774 Reviewed by Oliver. 39775 39776 Fix SVGImage crash seen once, and obvious via code inspection. 39777 39778 I was not able to find a test case for this. 39779 39780 * svg/graphics/SVGImage.cpp: 39781 (WebCore::SVGImage::setContainerSize): 39782 (WebCore::SVGImage::usesContainerSize): 39783 (WebCore::SVGImage::hasRelativeWidth): 39784 (WebCore::SVGImage::hasRelativeHeight): 39785 39786 2008-03-18 Rodney Dawes <dobey (a] wayofthemonkey.com> 39787 39788 Fix Qt build after r31123. 39789 39790 Add PluginView methods to TemporaryLinkStubs. 39791 39792 * platform/qt/TemporaryLinkStubs.cpp: 39793 39794 2008-03-18 Sam Weinig <sam (a] webkit.org> 39795 39796 Reviewed by Darin Adler. 39797 39798 - Speed up JavaScript prototype and constructor object creation 39799 using a static Identifier in the self() methods to avoid the 39800 cost of creating one from a c-string each time. 39801 39802 5% speedup for Acid3 test 26 39803 39804 * bindings/scripts/CodeGeneratorJS.pm: 39805 39806 2008-03-18 Antti Koivisto <antti (a] apple.com> 39807 39808 Reviewed by Mark Rowe. 39809 39810 Enable preloading for other platforms besides Mac. 39811 39812 * GNUmakefile.am: 39813 * WebCore.pro: 39814 * WebCore.vcproj/WebCore.vcproj: 39815 * WebCoreSources.bkl: 39816 * html/HTMLTokenizer.cpp: 39817 * html/HTMLTokenizer.h: 39818 * html/PreloadScanner.cpp: 39819 (WebCore::PreloadScanner::tokenize): 39820 39821 2008-03-18 Dan Bernstein <mitz (a] apple.com> 39822 39823 Reviewed by Adele Peterson. 39824 39825 - fix <rdar://problem/5805127> REGRESSION (r31116): Assertion failure (floatIndex < floats.size()) in RenderBlock::determineStartPosition() at digg.com 39826 39827 Test: fast/dynamic/floating-to-positioned.html 39828 39829 * rendering/RenderObject.cpp: 39830 (WebCore::RenderObject::setStyle): Added code to remove a float from 39831 object lists if its position property changes to something other than 39832 static, since then it ceases to be a float. 39833 39834 2008-03-18 Adam Roben <aroben (a] apple.com> 39835 39836 Windows build fix after r31123 39837 39838 * plugins/win/PluginViewWin.cpp: Add back MozillaUserAgent. 39839 39840 2008-03-18 Dan Bernstein <mitz (a] apple.com> 39841 39842 Reviewed by Darin Adler. 39843 39844 - eliminate RenderFlow::m_clear 39845 39846 * rendering/RenderBlock.cpp: 39847 (WebCore::RenderBlock::layoutBlock): Removed code to set m_clear. 39848 (WebCore::RenderBlock::newLine): Added a 'clear' parameter. 39849 * rendering/RenderBlock.h: 39850 * rendering/RenderFlow.h: 39851 (WebCore::RenderFlow::RenderFlow): Removed initialization of m_clear. 39852 * rendering/bidi.cpp: 39853 (WebCore::RenderBlock::layoutInlineChildren): Added a local 'clear' 39854 variable, passing a pointer to it to findNextLineBreak() and its value 39855 to newLine(). 39856 (WebCore::RenderBlock::findNextLineBreak): Added a 'clear' parameter, 39857 which this method adjusts when it encounters a <br>. 39858 39859 2008-03-18 Simon Hausmann <hausmann (a] webkit.org> 39860 39861 Reviewed by Holger. 39862 39863 Fix the Qt build and clean up the invoke mechanism for dispatching 39864 functions in the main thread by using QMetaObject::invokeMethod 39865 instead of posting a null event. 39866 39867 * platform/qt/MainThreadQt.cpp: 39868 39869 2008-03-18 Rodney Dawes <dobey (a] wayofthemonkey.com> 39870 39871 Fix Mac build from commit of r31123. 39872 39873 Add a typedef for NSView* to PlatformWidget, remove duplicate PluginMessageThrottlerWin definition. 39874 39875 * platform/Widget.h: 39876 * WebCore.vcproj/WebCore.vcproj: 39877 39878 2008-03-18 Rodney Dawes <dobey (a] wayofthemonkey.com> 39879 39880 Reviewed by Jon Honeycutt. 39881 39882 Add PluginView.cpp and npapi.cpp to build files. 39883 Copy win/PluginViewWin.cpp to PluginView.cpp for shared code. 39884 Split Windows specific code out of PluginView.cpp. 39885 Add #if USE(NPOBJECT) around dependant code. 39886 Use npruntime_internal.h instead of npapi.h. 39887 Add PlatformWidget typedef to Widget.h. 39888 Update WidgetGtk.cpp for the PlatformWidget usage. 39889 Add needed methods to TemporaryLinkStubs for GTK+ port. 39890 39891 * GNUmakefile.am: 39892 * WebCore.pro: 39893 * WebCoreSources.bkl: 39894 * WebCore.vcproj/WebCore.vcproj: 39895 * plugins/win/PluginViewWin.cpp: 39896 * plugins/PluginView.cpp: 39897 * plugins/PluginView.h: 39898 * plugins/npapi.cpp: 39899 * platform/Widget.h: 39900 * platform/gtk/WidgetGtk.cpp: 39901 * platform/gtk/TemporaryLinkStubs.cpp: 39902 39903 2008-03-17 Darin Adler <darin (a] apple.com> 39904 39905 Reviewed by Maciej. 39906 39907 - speed up document property fetching (eliminate the AtomicString 39908 objects made during document property lookup) 39909 39910 3% speedup for Acid3 test 26 39911 39912 * bindings/js/JSDOMWindowBase.cpp: 39913 (WebCore::JSDOMWindowBase::getOwnPropertySlot): Use AtomicString::find to 39914 locate the AtomicString, only if already present. Also call the new faster 39915 versions of the hasNamedItem and hasElementWithId functions that don't 39916 ref/deref the AtomicStringImpl, get inlined, etc. 39917 * bindings/js/JSHTMLDocumentCustom.cpp: 39918 (WebCore::JSHTMLDocument::canGetItemsForName): Ditto. 39919 (WebCore::writeHelper): Use a Vector instead of a String to build up 39920 the string to avoid the bad performance of string append. 39921 39922 * dom/Document.cpp: Tweaked code and comments a bit. Nothing substantive. 39923 * dom/Document.h: Added new hasElementWithId function that's faster than 39924 getElementById because it doesn't ref/deref the AtomicStringImpl*, gets 39925 inlined, doesn't have to handle the 0 case, and doesn't try to return the 39926 element pointer (just a boolean). 39927 39928 * html/HTMLAppletElement.cpp: 39929 (WebCore::HTMLAppletElement::parseMappedAttribute): Use AtomicString 39930 consistently. Also renamed the data member for clarity. 39931 (WebCore::HTMLAppletElement::insertedIntoDocument): Ditto. 39932 (WebCore::HTMLAppletElement::removedFromDocument): Ditto. 39933 * html/HTMLAppletElement.h: Ditto. 39934 39935 * html/HTMLDocument.cpp: 39936 (WebCore::addItemToMap): Use AtomicString instead of String. 39937 (WebCore::removeItemFromMap): Ditto. 39938 (WebCore::HTMLDocument::addNamedItem): Updated for member name change. 39939 (WebCore::HTMLDocument::removeNamedItem): Ditto. 39940 (WebCore::HTMLDocument::addExtraNamedItem): Ditto. 39941 (WebCore::HTMLDocument::removeExtraNamedItem): Ditto. 39942 (WebCore::HTMLDocument::clear): Added. Moved code here from the JavaScript 39943 bindings. If we're going to have an empty placeholder function, there's no 39944 reason to have it in the bindings instead of here. 39945 * html/HTMLDocument.h: Added clear. Changed the named item function 39946 arguments to AtomicString insted of String. Changed the NameCountMap to 39947 use AtomicStringImpl* instead of StringImpl*. Renamed the data members 39948 to add a m_ prefix and remove the needless doc prefix. Added hasNamedItem 39949 and hasExtraNamedItem functions that are inlined and faster than the old 39950 idiom because they doesn't ref/deref the AtomicStringImpl*, get inlined, 39951 and don't have to handle the 0 case. 39952 * html/HTMLDocument.idl: Removed the [Custom] attribute on clear and took 39953 it out of the JavaScript-specific section. 39954 39955 * html/HTMLEmbedElement.cpp: 39956 (WebCore::HTMLEmbedElement::parseMappedAttribute): Use AtomicString 39957 consistently. Also renamed the data member for clarity. 39958 (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto. 39959 (WebCore::HTMLEmbedElement::removedFromDocument): Ditto. 39960 * html/HTMLFormElement.cpp: 39961 (WebCore::HTMLFormElement::insertedIntoDocument): Ditto. 39962 (WebCore::HTMLFormElement::removedFromDocument): Ditto. 39963 (WebCore::HTMLFormElement::parseMappedAttribute): Ditto. 39964 * html/HTMLFormElement.h: Ditto. 39965 39966 * html/HTMLFrameElementBase.cpp: 39967 (WebCore::HTMLFrameElementBase::openURL): Renamed m_name to m_frameName for 39968 clarity, since the frame name is not the same as the name attribute. 39969 (WebCore::HTMLFrameElementBase::parseMappedAttribute): Ditto. 39970 (WebCore::HTMLFrameElementBase::setNameAndOpenURL): Ditto. 39971 * html/HTMLFrameElementBase.h: Ditto. 39972 39973 * html/HTMLIFrameElement.cpp: 39974 (WebCore::HTMLIFrameElement::parseMappedAttribute): Use AtomicString 39975 consistently. Also renamed the data member for clarity. 39976 (WebCore::HTMLIFrameElement::insertedIntoDocument): Ditto. 39977 (WebCore::HTMLIFrameElement::removedFromDocument): Ditto. 39978 * html/HTMLIFrameElement.h: Ditto. 39979 * html/HTMLImageElement.cpp: 39980 (WebCore::HTMLImageElement::parseMappedAttribute): Ditto. 39981 (WebCore::HTMLImageElement::insertedIntoDocument): Ditto. 39982 (WebCore::HTMLImageElement::removedFromDocument): Ditto. 39983 * html/HTMLImageElement.h: Ditto. 39984 * html/HTMLObjectElement.cpp: 39985 (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto. 39986 (WebCore::HTMLObjectElement::insertedIntoDocument): Ditto. 39987 (WebCore::HTMLObjectElement::removedFromDocument): Ditto. 39988 (WebCore::HTMLObjectElement::updateDocNamedItem): Ditto. 39989 * html/HTMLObjectElement.h: Ditto. 39990 39991 * html/HTMLParamElement.cpp: 39992 (WebCore::HTMLParamElement::isURLAttribute): Use equalIgnoringCase instead 39993 of callling lower(). 39994 39995 * html/HTMLPlugInElement.h: Changed the type of m_name. The code that 39996 uses this is in HTMLAppletElement, HTMLEmbedElement, and HTMLObjectElement. 39997 39998 * platform/text/AtomicString.cpp: 39999 (WebCore::equal): Moved to an inline so we can share this code between a 40000 few different functions. It could move to a header too if we want to use 40001 it elsewhere. 40002 (WebCore::UCharBufferTranslator::equal): Change to use inline. 40003 (WebCore::HashAndCharactersTranslator::hash): Added. 40004 (WebCore::HashAndCharactersTranslator::equal): Added. 40005 (WebCore::HashAndCharactersTranslator::translate): Added. 40006 (WebCore::AtomicString::add): Improved the Identifier and UString overloads 40007 to use the already-computed hash code instead of rehashing the string. 40008 (WebCore::AtomicString::find): Added. 40009 * platform/text/AtomicString.h: Added a find function so we can avoid 40010 allocating memory just to look up a string in an atomic string set or map. 40011 40012 * platform/text/StringImpl.h: Added declarations needed for the 40013 AtomicString changes. 40014 40015 2008-03-17 Timothy Hatcher <timothy (a] apple.com> 40016 40017 Reviewed by Mark Rowe. 40018 40019 Bug 17908: Various bugs in the Console completion code 40020 http://bugs.webkit.org/show_bug.cgi?id=17908 40021 40022 * page/inspector/ConsolePanel.js: 40023 (WebInspector.ConsolePanel.complete): Moved the code that checked for the caret being at the end 40024 of the prompt into the _caretAtEndOfPrompt helper function. 40025 (WebInspector.ConsolePanel.messagesSelectStart): Clear and redo the auto complete when the selection changes. 40026 (WebInspector.ConsolePanel._caretInsidePrompt): Fixed a logic error that always caused a false result. 40027 (WebInspector.ConsolePanel._caretAtEndOfPrompt): Added. Tests if the selection is a caret at the 40028 end of the prompt. 40029 (WebInspector.ConsolePanel._moveCaretToEndOfPrompt): Changed the offset to use the childNodes length. 40030 This makes sure the caret is at the end when there are multiple text nodes in the prompt. 40031 40032 2008-03-17 Dan Bernstein <mitz (a] apple.com> 40033 40034 Rubber-stamped by Dave Hyatt. 40035 40036 - FloatingObject cleanup 40037 40038 Renamed FloatingObject's data members as follows: node -> m_renderer, 40039 startY -> m_top, endY -> m_bottom, left -> m_left, width -> m_width, 40040 and noPaint -> !m_shouldPaint, reversing the meaning of the flag. 40041 40042 Also addressed the FIXME in RenderBlock::containsFloat(). 40043 40044 * rendering/RenderBlock.cpp: 40045 (WebCore::RenderBlock::repaintOverhangingFloats): 40046 (WebCore::RenderBlock::paintFloats): 40047 (WebCore::RenderBlock::insertFloatingObject): 40048 (WebCore::RenderBlock::removeFloatingObject): 40049 (WebCore::RenderBlock::positionNewFloats): 40050 (WebCore::RenderBlock::leftRelOffset): 40051 (WebCore::RenderBlock::rightRelOffset): 40052 (WebCore::RenderBlock::nextFloatBottomBelow): 40053 (WebCore::RenderBlock::floatBottom): 40054 (WebCore::RenderBlock::floatRect): 40055 (WebCore::RenderBlock::lowestPosition): 40056 (WebCore::RenderBlock::rightmostPosition): 40057 (WebCore::RenderBlock::leftmostPosition): 40058 (WebCore::RenderBlock::leftBottom): 40059 (WebCore::RenderBlock::rightBottom): 40060 (WebCore::RenderBlock::clearFloats): 40061 (WebCore::RenderBlock::addOverhangingFloats): 40062 (WebCore::RenderBlock::addIntrudingFloats): 40063 (WebCore::RenderBlock::containsFloat): Changed to return false if the 40064 floats lists exists but is empty, since line layout code no longer 40065 relies on the buggy behavior. 40066 (WebCore::RenderBlock::nodeAtPoint): 40067 (WebCore::RenderBlock::adjustForBorderFit): 40068 * rendering/RenderBlock.h: 40069 (WebCore::RenderBlock::containsFloats): 40070 (WebCore::RenderBlock::FloatingObject::FloatingObject): 40071 * rendering/bidi.cpp: 40072 (WebCore::RenderBlock::layoutInlineChildren): 40073 (WebCore::RenderBlock::matchedEndLine): 40074 40075 2008-03-17 Dan Bernstein <mitz (a] apple.com> 40076 40077 Reviewed by Dave Hyatt. 40078 40079 - allow incremental relayout of blocks that contain floats 40080 40081 Tests: fast/repaint/line-flow-with-floats-[1-9].html 40082 40083 * rendering/RenderBlock.cpp: 40084 (WebCore::RenderBlock::clearFloatsIfNeeded): Cleaned up by moving most 40085 of the function body out of an if statement which was replaced with an 40086 early return. 40087 (WebCore::RenderBlock::insertFloatingObject): Cleaned up by moving most 40088 of the function body out of an if statement and moving the ASSERT, which 40089 is a crash in release builds, to the beginning. Made this function set 40090 the m_isDescendant flag of floating objects it creates. 40091 (WebCore::RenderBlock::removeFloatingObject): Added a call to 40092 markLinesDirtyInVerticalRange() when removing a float from a block with 40093 inline children. 40094 (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added. Marks the 40095 lines in the given range as dirty. 40096 (WebCore::RenderBlock::clearFloats): Added code to detect changes to 40097 the geometry of floats intruding into this block from other blocks and 40098 mark any lines whose available width has changed as a result as dirty. 40099 40100 * rendering/RenderBlock.h: 40101 (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added a structure 40102 to cache a float with its position and size. 40103 (WebCore::RenderBlock::FloatingObject::FloatingObject): Added an 40104 m_isDescendant flag, used by clearFloats() to distinguish between floats 40105 entering the block from outside and floats internal to the block. 40106 40107 * rendering/RootInlineBox.h: 40108 (WebCore::RootInlineBox::floats): Added. 40109 (WebCore::RootInlineBox::floatsPtr): Added. 40110 (WebCore::RootInlineBox::Overflow::Overflow): Added a data member to 40111 hold the floats originating on the line. 40112 40113 * rendering/bidi.cpp: 40114 (WebCore::RenderBlock::layoutInlineChildren): Made the existence of 40115 floats not force a full layout. Changed to cache the geometry of floats 40116 in the block and detect changes to it. If a float's size or position 40117 changes, all lines from that point on are treated as dirty. An exception 40118 is a change in the dimensions of a float on an otherwise-clean line, 40119 which only dirties lines potentially affected by the change (see 40120 determineStartPosition()). Added code to update each RootInlineBox's 40121 set of floats as lines are laid out. Added code to shift floats 40122 belonging to clean lines in the end along with the lines. 40123 (WebCore::RenderBlock::determineStartPosition): Made this function look 40124 for changes to floats' dimensions and mark lines as dirty accordingly. 40125 Also look for new floats and if found, cause a full layout. Added code 40126 to re-add floats belonging to clean lines. 40127 (WebCore::RenderBlock::matchedEndLine): Added checking that the clean 40128 lines in the end can be shifted vertically as needed, i.e. that the 40129 available width along the way is uniform. 40130 40131 2008-03-17 Eric Seidel <eric (a] webkit.org> 40132 40133 Reviewed by darin. 40134 40135 Fix _NPN_IntFromIdentifier (and export the symbol for use!) 40136 40137 Test: plugins/netscape-identifier-conversion.html 40138 40139 * WebCore.NPAPI.exp: 40140 * bridge/npruntime.cpp: 40141 (_NPN_IntFromIdentifier): 40142 40143 2008-03-17 Sam Weinig <sam (a] webkit.org> 40144 40145 Reviewed by Dan Bernstein. 40146 40147 Add HTMLCollection constructor to the Window object. (Omission noticed by Harri Porten) 40148 40149 * page/DOMWindow.idl: 40150 40151 2008-03-17 Holger Hans Peter Freyther <zecke (a] selfish.org> 40152 40153 Unreviewed Gtk+ build fix. 40154 40155 * platform/gtk/ScrollViewGtk.cpp: remove const 40156 40157 2008-03-17 Julien Chaffraix <julien.chaffraix (a] gmail.com> 40158 40159 Reviewed by Holger. 40160 40161 <http://bugs.webkit.org/show_bug.cgi?id=17754> 40162 40163 - Implement ResourceHandle::loadResourceSynchronously to dispatch synchronous 40164 requests. 40165 40166 - Implement WebCoreSynchronousLoader, the ResourceHandleClient which holds 40167 the network data, response and error for us during the transfert. 40168 40169 * platform/network/ResourceHandleInternal.h: Remove trailing white space. 40170 * platform/network/curl/ResourceHandleCurl.cpp: Add WebCoreSynchronousLoader 40171 (WebCore::WebCoreSynchronousLoader::resourceResponse): 40172 (WebCore::WebCoreSynchronousLoader::resourceError): 40173 (WebCore::WebCoreSynchronousLoader::data): 40174 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): 40175 (WebCore::WebCoreSynchronousLoader::didReceiveResponse): 40176 (WebCore::WebCoreSynchronousLoader::didReceiveData): 40177 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 40178 (WebCore::WebCoreSynchronousLoader::didFail): 40179 (WebCore::ResourceHandle::loadResourceSynchronously): Implement method 40180 using WebCoreSynchronousLoader. 40181 40182 * platform/network/curl/ResourceHandleManager.cpp: 40183 (WebCore::ResourceHandleManager::dispatchSynchronousJob): 40184 (WebCore::ResourceHandleManager::startJob): 40185 (WebCore::ResourceHandleManager::initializeHandle): Handle initialization 40186 method used both for synchronous and asynchronous job. 40187 40188 * platform/network/curl/ResourceHandleManager.h: 40189 40190 2008-03-17 Darin Adler <darin (a] apple.com> 40191 40192 - try to fix GTK build 40193 40194 * platform/ScrollView.h: Make setGtkAdjustments adjustment. 40195 And non-virtual (why was it virtual?). 40196 40197 2008-03-17 Rodney Dawes <dobey (a] wayofthemonkey.com> 40198 40199 Fix Bug 17898: Split PluginMessageThrottlerWin into its own files 40200 40201 <http://bugs.webkit.org/show_bug.cgi?id=17898> 40202 40203 Move the PluginMessageThrottlerWin class into its own files, in 40204 preparation for refactoring PluginView code to be shared. 40205 40206 Reviewed and tweaked by Adam Roben. 40207 40208 * WebCore.vcproj/WebCore.vcproj: 40209 * plugins/PluginView.h: 40210 * plugins/win/PluginMessageThrottlerWin.cpp: Added. 40211 * plugins/win/PluginMessageThrottlerWin.h: Added. 40212 * plugins/win/PluginViewWin.cpp: 40213 40214 2008-03-17 Adam Roben <aroben (a] apple.com> 40215 40216 More Windows build fixes after r31098 40217 40218 * platform/ScrollView.h: Make some more methods public. 40219 40220 2008-03-17 Adam Roben <aroben (a] apple.com> 40221 40222 Windows and Qt build fixes after r31098 40223 40224 * platform/ScrollView.h: Mark methods public that still need to be so. 40225 40226 2008-03-16 Timothy Hatcher <timothy (a] apple.com> 40227 40228 Reviewed by Darin Adler. 40229 40230 Bug 17883: Console completion should support bracket notation 40231 http://bugs.webkit.org/show_bug.cgi?id=17883 40232 40233 Also fixes a bug where the Inspector's window object was used instead of the 40234 inspected window object. 40235 40236 * page/inspector/ConsolePanel.js: 40237 (WebInspector.ConsolePanel.complete): Add a comment about the _backwardsRange call. 40238 (WebInspector.ConsolePanel.completions): Add a comment about the _backwardsRange call. 40239 Check the last character of the expression for a dot or bracket. Fallback 40240 to the InspectorController.inspectedWindow() instead of window, this was a bad bug. 40241 If the expression caused an exception, just consider the prefix a window property. 40242 When bracket notation is used remember what quote was used and compared property names 40243 with that quote surrounding it. Also escape the property name for the quote and backslash. 40244 40245 2008-03-17 Robert Blaut <webkit (a] blaut.biz> 40246 40247 Reviewed by Darin. 40248 40249 Fix for bug http://bugs.webkit.org/show_bug.cgi?id=17696 40250 Set default margin-bottom for form element in quirk mode 40251 and be compatible with Gecko. 40252 40253 Tests: fast/css/margin-bottom-form-element-quirk.html 40254 fast/css/margin-bottom-form-element-strict.html 40255 40256 * css/html4.css: 40257 * css/quirks.css: 40258 40259 2008-03-17 Antti Koivisto <antti (a] apple.com> 40260 40261 Reviewed by Darin. 40262 40263 Speculative fix for http://bugs.webkit.org/show_bug.cgi?id=17878 40264 Bug 17878: REGRESSION: Acid3 sometimes crashes Webkit under WebCore::Loader::Host::cancelRequests 40265 40266 I can't reproduce the crash or make a test case for this one but I'm pretty sure this 40267 is the problem. Essentially the same bug as http://bugs.webkit.org/show_bug.cgi?id=17862 40268 except in didFail() instead of didFinishLoading(). 40269 40270 * loader/loader.cpp: 40271 (WebCore::Loader::Host::didFail): 40272 40273 2008-03-17 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 40274 40275 Reviewed and tweaked by Darin. 40276 40277 http://bugs.webkit.org/show_bug.cgi?id=17172 40278 Refactor platform checks in ScrollView.h 40279 40280 * platform/ScrollView.h: Change #ifs around. 40281 40282 2008-03-17 Yuzhu Shen <yuzhu.shen (a] gmail.com> 40283 40284 Reviewed by Darin. 40285 40286 Fix the bug: http://bugs.webkit.org/show_bug.cgi?id=17760 40287 It is necessary to load the image even when src="". 40288 40289 Test: fast/images/load-img-with-empty-src.html 40290 40291 * html/HTMLImageLoader.cpp: 40292 (WebCore::HTMLImageLoader::updateFromElement): isNull rather than isEmpty. 40293 40294 2008-03-17 Rodney Dawes <dobey (a] wayofthemonkey.com> 40295 40296 Fix GTK+ build from r31094. 40297 40298 * plugins/gtk/PluginDatabaseGtk.cpp: 40299 (PluginDatabase::getPluginsInPaths): 40300 40301 2008-03-17 Adam Roben <aroben (a] apple.com> 40302 40303 Fix Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash 40304 40305 <http://bugs.webkit.org/show_bug.cgi?id=17876> 40306 40307 Reviewed by John. 40308 40309 Test: fast/dom/remove-named-attribute-crash.html 40310 40311 * dom/NamedAttrMap.cpp: 40312 (WebCore::NamedAttrMap::removeAttribute): Store the Attribute we're 40313 going to remove from the m_attributes Vector in a RefPtr so it doesn't 40314 get deleted when it is removed from the Vector. 40315 40316 2008-03-17 Rodney Dawes <dobey (a] wayofthemonkey.com> 40317 40318 Reviewed by Adam Roben. 40319 40320 Implement PluginDatabase for GTK+ with PluginDatabaseGtk.cpp. 40321 Remove implemented methods from TemporaryLinkStubs. 40322 40323 * GNUmakefile.am: 40324 * plugins/gtk: 40325 * plugins/gtk/PluginDatabaseGtk.cpp: 40326 * platform/gtk/TemporaryLinkStubs.cpp: 40327 40328 2008-03-17 Simon Hausmann <hausmann (a] webkit.org> 40329 40330 Fix the Qt build. 40331 40332 * platform/text/qt/TextCodecQt.cpp: 40333 (WebCore::TextCodecQt::encode): 40334 * platform/text/qt/TextCodecQt.h: 40335 40336 2008-03-16 Maciej Stachowiak <mjs (a] apple.com> 40337 40338 Not reviewed, just fixing an incomplete comment from the last commit. 40339 40340 * dom/Range.cpp: 40341 (WebCore::Range::surroundContents): 40342 40343 2008-03-16 Maciej Stachowiak <mjs (a] apple.com> 40344 40345 Reviewed by Darin. 40346 40347 - fixed "Acid3 expects different exceptions for surroundContents calls involving comment nodes (affects Acid3 test 11)" 40348 http://bugs.webkit.org/show_bug.cgi?id=17509 40349 40350 This gets us to 92/100 40351 40352 * dom/Range.cpp: 40353 (WebCore::Range::surroundContents): Check for 40354 HIERARCHY_REQUEST_ERR before BAD_BOUNDARYPOINTS_ERR, since Acid3 40355 expects exceptional conditions to be tested in the order that the 40356 spec lists them. Also, adjust the HIERARCHY_REQUEST_ERR check. If 40357 the start point of the range is in a comment node, the node that 40358 would be the parent of a partial replacement is actually the 40359 comment node's parent (since comment nodes have character 40360 indices), so we should do the HIERARCHY_REQUEST_ERR check based on 40361 the parent of the comment node, as for text nodes, even though it 40362 will fail later with a different exception because it is not 40363 allowed to surround a partially selected non-text node. 40364 40365 2008-03-16 Brett Wilson <brettw (a] chromium.org> 40366 40367 Reviewed by Darin. 40368 40369 Fix bug 15119: URL query characters that are unencodable in the 40370 request's character set should be converted to XML entities with 40371 non-alphanumeric characters escaped. 40372 40373 Test: http/tests/uri/escaped-entity.html 40374 40375 * html/FormDataList.cpp: 40376 (WebCore::FormDataList::appendString): 40377 * html/HTMLFormElement.cpp: 40378 (WebCore::HTMLFormElement::formData): 40379 * platform/KURL.cpp: 40380 (WebCore::encodeRelativeString): 40381 * platform/text/String.cpp: 40382 (WebCore::String::latin1): 40383 (WebCore::String::utf8): 40384 * platform/text/TextCodec.cpp: 40385 (WebCore::TextCodec::unencodableCharReplacement): 40386 * platform/text/TextCodec.h: 40387 * platform/text/TextCodecICU.cpp: 40388 (WebCore::urlEscapedEntityCallback): 40389 (WebCore::gbkUrlEscapedEntityCallack): 40390 (WebCore::TextCodecICU::encode): 40391 * platform/text/TextCodecICU.h: 40392 (WebCore::TextCodecICU::setNeedsGBKFallbacks): 40393 * platform/text/TextCodecLatin1.cpp: 40394 (WebCore::encodeComplexWindowsLatin1): 40395 (WebCore::TextCodecLatin1::encode): 40396 * platform/text/TextCodecLatin1.h: 40397 * platform/text/TextCodecUTF16.cpp: 40398 (WebCore::TextCodecUTF16::encode): 40399 * platform/text/TextCodecUTF16.h: 40400 * platform/text/TextCodecUserDefined.cpp: 40401 (WebCore::encodeComplexUserDefined): 40402 (WebCore::TextCodecUserDefined::encode): 40403 * platform/text/TextCodecUserDefined.h: 40404 * platform/text/TextEncoding.cpp: 40405 (WebCore::TextEncoding::encode): 40406 * platform/text/TextEncoding.h: 40407 * platform/text/mac/TextCodecMac.cpp: 40408 (WebCore::TextCodecMac::encode): 40409 * platform/text/mac/TextCodecMac.h: 40410 * xml/XMLHttpRequest.cpp: 40411 (WebCore::XMLHttpRequest::send): 40412 40413 2008-03-16 Kevin Ollivier <kevino (a] theolliviers.com> 40414 40415 Rubber stamped by Darin. 40416 40417 Add set-webkit-configuration support for wx port, and centralize 40418 build dir location setting. 40419 40420 http://bugs.webkit.org/show_bug.cgi?id=17790 40421 40422 * webcore-base.bkl: 40423 40424 2008-03-16 Darin Adler <darin (a] apple.com> 40425 40426 Reviewed by Mark Rowe. 40427 40428 - http://bugs.webkit.org/show_bug.cgi?id=17881 40429 a little cleanup for HTMLTextAreaElement 40430 40431 Tests: fast/forms/textarea-default-value-leading-newline.html 40432 fast/forms/textarea-linewrap-dynamic.html 40433 40434 * html/HTMLTextAreaElement.cpp: 40435 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Tweaked names/ 40436 (WebCore::HTMLTextAreaElement::selectionStart): Ditto, also use early return 40437 and check for < 0 rather than -1 specifically. 40438 (WebCore::HTMLTextAreaElement::selectionEnd): Ditto. 40439 (WebCore::HTMLTextAreaElement::setSelectionStart): Early return. 40440 (WebCore::HTMLTextAreaElement::setSelectionEnd): Ditto. 40441 (WebCore::HTMLTextAreaElement::select): Ditto. 40442 (WebCore::HTMLTextAreaElement::setSelectionRange): Ditto. 40443 (WebCore::HTMLTextAreaElement::parseMappedAttribute): Changed value parsing 40444 to treat unknown values as meaning "default" rather than "leave value as-is". 40445 Only call setNeedsLayoutAndPrefWidthsRecalc when mode changed. 40446 (WebCore::HTMLTextAreaElement::createRenderer): Removed name of unused argument. 40447 (WebCore::HTMLTextAreaElement::appendFormData): Updated for name changes. 40448 (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Got rid of unnneeded explicit 40449 class name in isFocusable call. 40450 (WebCore::HTMLTextAreaElement::isMouseFocusable): Ditto. 40451 (WebCore::HTMLTextAreaElement::updateFocusAppearance): Tweaked formatting. 40452 (WebCore::HTMLTextAreaElement::defaultEventHandler): Ditto. 40453 (WebCore::HTMLTextAreaElement::updateValue): Early return. 40454 (WebCore::HTMLTextAreaElement::setValue): Got rid of intermediate value to 40455 eliminate on small refcount churn. 40456 (WebCore::HTMLTextAreaElement::defaultValue): Got rid of unneeded redundant 40457 string length checks, since String already checks all indexing and returns 0. 40458 (WebCore::HTMLTextAreaElement::setDefaultValue): Added code to normalize 40459 line endings and add a leading line ending to fix cases where the first 40460 character is a newline. 40461 (WebCore::HTMLTextAreaElement::accessKeyAction): Removed name of unused arg. 40462 (WebCore::HTMLTextAreaElement::accessKey): Changed return value to avoid 40463 refcount churn. 40464 (WebCore::HTMLTextAreaElement::selection): Updated names and use < 0 instead 40465 of -1 specifically. 40466 40467 * html/HTMLTextAreaElement.h: Replaced wrap function with more-specific 40468 shouldWrapText one. Changed return value of accessKey. Made WrapMethod enum 40469 provate and renamed the values. Renamed cachedSelStart and cachedSelEnd to 40470 m_cachedSelectionStart and m_cachedSelectionEnd. 40471 40472 * rendering/RenderTextControl.cpp: 40473 (WebCore::RenderTextControl::createInnerTextStyle): Updated for change to 40474 HTMLTextAreaElement wrap function. 40475 40476 2008-03-16 Antti Koivisto <antti (a] apple.com> 40477 40478 Reviewed by Mitz. 40479 40480 Fix http/tests/security/frame-loading-via-document-write.html 40481 which was broken by the preload patch. 40482 40483 Don't print error message when preload fails local file security check. 40484 Some minor refactoring. 40485 40486 * html/PreloadScanner.cpp: 40487 (WebCore::PreloadScanner::emitTag): 40488 (WebCore::PreloadScanner::emitCSSRule): 40489 * loader/Cache.cpp: 40490 (WebCore::Cache::requestResource): 40491 * loader/Cache.h: 40492 * loader/DocLoader.cpp: 40493 (WebCore::DocLoader::requestResource): 40494 (WebCore::DocLoader::preload): 40495 (WebCore::DocLoader::printPreloadStats): 40496 * loader/DocLoader.h: 40497 40498 2008-03-16 Antti Koivisto <antti (a] apple.com> 40499 40500 Reviewed by Darin. 40501 40502 Fix http://bugs.webkit.org/show_bug.cgi?id=17862 40503 REGRESSION (r31038): Reproducible crash under DocLoader::checkForReload() at marware.com 40504 40505 This was a memory smasher introduced by the preloading patch. 40506 If a script resource was marked uncacheable, early deletion of the 40507 Request object would cause deletion of the CachedResource too if 40508 it was referred more than once in a single document. 40509 40510 Test: http/tests/misc/uncacheable-script-repeated.html 40511 40512 * loader/loader.cpp: 40513 (WebCore::Loader::Host::servePendingRequests): 40514 (WebCore::Loader::Host::didFinishLoading): 40515 40516 2008-03-16 Yuzhu Shen <yuzhu.shen (a] gmail.com> 40517 40518 Reviewed by Darin. 40519 40520 Fix bug http://bugs.webkit.org/show_bug.cgi?id=17714 40521 <img href="#"> should go to top of the page. 40522 40523 Test: fast/html/empty-fragment-id-goto-top.html 40524 40525 * loader/FrameLoader.cpp: 40526 (WebCore::FrameLoader::gotoAnchor): 40527 40528 2008-03-16 Thiago Macieira <thiago.macieira (a] trolltech.com> 40529 40530 Reviewed by Darin. 40531 40532 Don't use RefPtr in classes you haven't seen the implementation of. 40533 40534 Forward-declaration and declaration of RefPtr<Foo> is ok. But you 40535 cannot *use* said objects until Foo is defined. This is true even for 40536 initialisation with a 0. 40537 40538 Seems the HP aCC compiler is more strict here than gcc. 40539 40540 * editing/SplitTextNodeCommand.h: 40541 * page/FrameTree.h: 40542 * xml/XPathExpressionNode.h: 40543 40544 2008-03-16 Darin Adler <darin (a] apple.com> 40545 40546 Reviewed by Mitz. 40547 40548 - fix http://bugs.webkit.org/show_bug.cgi?id=14941 40549 <rdar://problem/5404093> textarea value from JavaScript includes extra newline 40550 40551 Test: fast/forms/textarea-trailing-newline.html 40552 40553 * rendering/RenderTextControl.cpp: 40554 (WebCore::RenderTextControl::finishText): Added code to strip the trailing 40555 newline. It's possible there are some obscure cases where this is not wanted, 40556 but I couldn't find any. If someone finds a case where this is bad, we can 40557 make the code conditional. 40558 40559 2008-03-16 Darin Adler <darin (a] apple.com> 40560 40561 Reviewed by Mitz. 40562 40563 - fix http://bugs.webkit.org/show_bug.cgi?id=17876 40564 Attempting to visit Ofcom page causes crash 40565 40566 This is causing intermittent crashes on some existing test cases on the buildbot 40567 too; I don't have a 100% test case right now, but it should be easy to add one later 40568 and this does fix a crash in a test we already have. 40569 40570 * dom/CharacterData.cpp: 40571 (WebCore::CharacterData::CharacterData): Initialize m_data to the empty string, 40572 not the null string. The class assumes the string can never being null. 40573 (WebCore::CharacterData::setData): If asked to set the data to the null string, 40574 set it to the empty string instead. This matches what the (non-empty) constructor 40575 has always done. 40576 40577 2008-03-15 Timothy Hatcher <timothy (a] apple.com> 40578 40579 Reviewed by Adam Roben. 40580 40581 Bug 17870: Web Inspector console should feel more like a terminal 40582 http://bugs.webkit.org/show_bug.cgi?id=17870 40583 40584 Bug 14390: Console input area should be more noticeable 40585 http://bugs.webkit.org/show_bug.cgi?id=14390 40586 <rdar://5712831> 40587 40588 Bug 17237: Inspector should tab-complete object properties in the Console 40589 http://bugs.webkit.org/show_bug.cgi?id=17237 40590 <rdar://5732842> 40591 40592 Adds tab completion, auto completion and a blended input prompt. 40593 The prompt is also focused when the console is shown. 40594 Implements a new look, that will be part of the UI refresh. 40595 40596 * page/inspector/ConsolePanel.js: 40597 (WebInspector.ConsolePanel): Renamed a few properties. 40598 (WebInspector.ConsolePanel.get/set promptText): Property to set 40599 and get the current prompt text. Does not affect command history. 40600 (WebInspector.ConsolePanel.show): Make the prompt focus on show. 40601 (WebInspector.ConsolePanel.acceptAutoComplete): Accepts any 40602 pending auto complete text. 40603 (WebInspector.ConsolePanel.clearAutoComplete): Cancels any pending 40604 auto complete text. 40605 (WebInspector.ConsolePanel.autoCompleteSoon): Sets a timeout to auto 40606 complete in 250 ms, only if there isn't a pending auto complete. 40607 (WebInspector.ConsolePanel.complete): 40608 (WebInspector.ConsolePanel.completions): Generate a list of possible 40609 completions based on the prefix and the previous expression ranges. 40610 (WebInspector.ConsolePanel._backwardsRange): Helper to scan backwards 40611 from a node and offset to find a start node and offset of the first 40612 character found in the characters string. 40613 (WebInspector.ConsolePanel._evalInInspectedWindow): Helper to eval in the 40614 inspected window. 40615 (WebInspector.ConsolePanel._caretInsidePrompt): Returns true if the selection 40616 is collapsed and is inside the prompt element. 40617 (WebInspector.ConsolePanel._moveCaretToEndOfPrompt): Moves the selection 40618 to the end of the prompt. 40619 (WebInspector.ConsolePanel._onTabPressed): Calls complete on 40620 tab press. 40621 (WebInspector.ConsolePanel._onEnterPressed): Call clearAutoComplete so the 40622 autocompletion text is not evaluated. 40623 40624 * page/inspector/Images/errorIcon.png: New image. 40625 * page/inspector/Images/userInputIcon.png: Added. 40626 * page/inspector/Images/userInputPreviousIcon.png: Added. 40627 * page/inspector/Images/warningIcon.png: New image. 40628 * page/inspector/inspector.css: New refreshed UI. 40629 40630 2008-03-15 Mark Mentovai <mark (a] moxienet.com> 40631 40632 Reviewed and landed by Darin. 40633 40634 - http://bugs.webkit.org/show_bug.cgi?id=17833 40635 use file extensions instead of explicit file types in WebCore's Xcode project 40636 40637 * WebCore.xcodeproj/project.pbxproj: Remove unnecessary 40638 uses of explicitFileType, preferring lastKnownFileType ("File Type: 40639 Default for File" in Xcode's File Info's General tab). Files below 40640 that relied on an explicit file type setting other than what would 40641 be implied by their extensions have been renamed to have correct 40642 extensions. 40643 * bridge/jni/jni_jsobject.cpp: Removed. 40644 * bridge/jni/jni_jsobject.mm: Copied from bridge/jni/jni_jsobject.cpp. 40645 * loader/mac/LoaderNSURLExtras.m: Removed. 40646 * loader/mac/LoaderNSURLExtras.mm: Copied from loader/mac/LoaderNSURLExtras.m. 40647 * platform/mac/SharedTimerMac.cpp: Removed. 40648 * platform/mac/SharedTimerMac.mm: Copied from platform/mac/SharedTimerMac.cpp. 40649 40650 2008-03-15 Darin Adler <darin (a] apple.com> 40651 40652 Reviewed by Sam. 40653 40654 - fix http://bugs.webkit.org/show_bug.cgi?id=11997 40655 Ranges are not fixed after mutation (affects Acid3 test 13) 40656 40657 Test: fast/dom/Range/mutation.html 40658 40659 * WebCore.xcodeproj/project.pbxproj: Added NodeWithIndex.h, NodeWithIndexAfter.h, 40660 and NodeWithIndexBefore.h. 40661 40662 * dom/CharacterData.cpp: 40663 (WebCore::CharacterData::setData): Replaced call to Document::removeMarkers 40664 with call to Document::textRemoved. 40665 (WebCore::CharacterData::insertData): Replaced call to Document::shiftMarkers 40666 with call to Document::textInserted. 40667 (WebCore::CharacterData::deleteData): Replaced call to Document::removeMarkers 40668 and Document::shiftMarkers with call to Document::textRemoved. 40669 (WebCore::CharacterData::replaceData): Replaced call to Document::removeMarkers 40670 and Document::shiftMarkers with call to Document::textRemoved and 40671 Document::textInserted. 40672 (WebCore::CharacterData::containsOnlyWhitespace): Tweaked a bit. 40673 40674 * dom/ContainerNode.cpp: 40675 (WebCore::ContainerNode::childrenChanged): Added a call to 40676 Document::nodeChildrenChanged when the nmber of children was changed (and not 40677 by the parser). 40678 (WebCore::dispatchChildRemovalEvents): Updated for name change. 40679 40680 * dom/Document.cpp: 40681 (WebCore::Document::~Document): Assert that all ranges are gone. 40682 (WebCore::Document::nodeChildrenChanged): Added. Calls nodeChildrenChanged on 40683 all ranges. 40684 (WebCore::Document::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval. 40685 Added code to call nodeWillBeRemoved on all ranges. 40686 (WebCore::Document::textInserted): Added. Calls textInserted on all ranges and 40687 also calls shiftMarkers. 40688 (WebCore::Document::textRemoved): Added. Calls textRemoved on all ranges and also 40689 calls removeMarkers and shiftMarkers. 40690 (WebCore::Document::textNodesMerged): Added. Calls textNodesMerged on all ranges. 40691 (WebCore::Document::textNodeSplit): Added. Calls textNodeSplit on all ranges. 40692 (WebCore::Document::attachRange): Added. Adds range to the HashSet of all ranges 40693 for this document. 40694 (WebCore::Document::detachRange): Added. Removes range from the HashSet. 40695 * dom/Document.h: Added the new functions and the data member. 40696 40697 * dom/Element.cpp: 40698 (WebCore::Element::normalizeAttributes): Added. Contains the part of the 40699 normalize function that's specific to Element. Better encapsulation to have it 40700 here rather than in Node::normalize. 40701 * dom/Element.h: Added the new function. 40702 40703 * dom/Node.cpp: 40704 (WebCore::Node::normalize): Rewrote so it's no longer recursive. Also added 40705 a call to textNodesMerged after each pair of nodes is merged but before the 40706 second node is removed. 40707 (WebCore::Node::traverseNextNodePostOrder): Added. Helper function used by 40708 normalize, but also useful elsewhere. 40709 * dom/Node.h: Added the new function. 40710 40711 * dom/NodeIterator.cpp: 40712 (WebCore::NodeIterator::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval. 40713 * dom/NodeIterator.h: Ditto. 40714 40715 * dom/ProcessingInstruction.cpp: 40716 (WebCore::ProcessingInstruction::setData): Call textRemoved. 40717 40718 * dom/Range.cpp: 40719 (WebCore::NodeWithIndex::index): Added. Computes and stores index. 40720 (WebCore::NodeWithIndexBefore::indexBefore): Added. Computes and stores index. 40721 (WebCore::NodeWithIndexAfter::indexAfter): Added. Computes and stores index. 40722 (WebCore::Range::Range): Call attachRange. 40723 (WebCore::Range::~Range): Call detachRange unless the range is already detached. 40724 (WebCore::Range::commonAncestorContainer): Removed check for WRONG_DOCUMENT_ERR. 40725 It's no longer possible to create a range where the two containers are non-zero 40726 and have no common ancestor. 40727 (WebCore::Range::isPointInRange): Rewrote expression to be more readable. 40728 (WebCore::Range::compareNode): Changed local variable to use int for consistency. 40729 (WebCore::Range::compareBoundaryPoints): Replaced ASSERT with ASSERT_NOT_REACHED. 40730 (WebCore::Range::deleteContents): Removed check for INVALID_STATE_ERR and 40731 initialization of ec to 0; both are now inside checkDeleteExtract. 40732 (WebCore::Range::intersectsNode): Changed local variable to use int for consistency. 40733 Also changed comparison to use < 0 and >= 0 rather than checking explicitly for 1 40734 and -1. 40735 (WebCore::Range::processContents): Changed code to not get the nodeType multiple 40736 times on the same node, and tweaked formatting. Removed code to update the range 40737 on deletion, because the normal delete logic will take care of that now. 40738 (WebCore::Range::extractContents): Removed check for INVALID_STATE_ERR and 40739 initialization of ec to 0; both are now inside checkDeleteExtract. 40740 (WebCore::Range::insertNode): Changed local variable to use int for consistency. 40741 (WebCore::Range::toString): Changed variable name to pastLast. 40742 (WebCore::Range::detach): Call detachRange. 40743 (WebCore::Range::checkDeleteExtract): Added check for detached range and code to 40744 set ec to 0; moved here from the two callers. Also changed variable name to pastLast. 40745 (WebCore::endpointNodeChildrenChanged): Added. 40746 (WebCore::Range::nodeChildrenChanged): Added. 40747 (WebCore::endpointNodeWillBeRemoved): Added. 40748 (WebCore::Range::nodeWillBeRemoved): Added. 40749 (WebCore::endpointTextInserted): Added. 40750 (WebCore::Range::textInserted): Added. 40751 (WebCore::endpointTextRemoved): Added. 40752 (WebCore::Range::textRemoved): Added. 40753 (WebCore::endpointTextNodesMerged): Added. 40754 (WebCore::Range::textNodesMerged): Added. 40755 (WebCore::endpointTextNodesSplit): Added. 40756 (WebCore::Range::textNodeSplit): Added. 40757 40758 * dom/Range.h: Added new member functions. 40759 40760 * dom/NodeWithIndex.h: Added. Makes it so we won't find the index for the same 40761 node more than once. 40762 * dom/NodeWithIndexAfter.h: Added. Similar to NodeWithIndex but gives the index after a 40763 node and treats a node pointer of 0 as meaning "before first node in parent container". 40764 * dom/NodeWithIndexBefore.h: Added. Similar to NodeWithIndex but treats a node pointer of 0 40765 as meaning "after last node in parent container". 40766 40767 * dom/Text.cpp: 40768 (WebCore::Text::splitText): Call textNodeSplit. 40769 40770 * editing/ApplyStyleCommand.cpp: 40771 (WebCore::ApplyStyleCommand::applyInlineStyle): Changed variable name to pastLast. 40772 40773 2008-03-15 Julien Chaffraix <julien.chaffraix (a] gmail.com> 40774 40775 Reviewed by Holger. 40776 40777 [CURL] Crash below ResourceHandleManager::setupPOST when job->request().httpBody() is NULL 40778 http://bugs.webkit.org/show_bug.cgi?id=16906 40779 40780 Add null checks for httpBody() to match other ports. 40781 40782 Test: http/tests/xmlhttprequest/xmlhttprequest-post-crash.html 40783 40784 * platform/network/curl/ResourceHandleManager.cpp: 40785 (WebCore::readCallback): Add null check. 40786 (WebCore::ResourceHandleManager::setupPOST): Ditto. 40787 40788 2008-03-14 Steve Falkenburg <sfalken (a] apple.com> 40789 40790 PGO build fixes. 40791 40792 * WebCore.vcproj/WebCore.vcproj: 40793 40794 2008-03-14 Anders Carlsson <andersca (a] apple.com> 40795 40796 Reviewed by Sam. 40797 40798 <rdar://problem/5794989> 40799 https://bugs.webkit.org/show_bug.cgi?id=17792 40800 REGRESSION (Safari 3.0.4-3.1): Ordering tickets from Sweden's biggest train operator doesn't work 40801 40802 Pass the frame loader that should be used for looking up the frame name to FrameLoader::createWindow 40803 so that somewindow.open calls where the active window and 'somewindow' differ return the correct frame. 40804 40805 * bindings/js/JSDOMWindowBase.cpp: 40806 (WebCore::createWindow): 40807 * loader/FrameLoader.cpp: 40808 (WebCore::FrameLoader::createWindow): 40809 * loader/FrameLoader.h: 40810 40811 2008-03-14 Dan Bernstein <mitz (a] apple.com> 40812 40813 Reviewed by Mark Rowe. 40814 40815 - fix <rdar://problem/5797836> shadow offsets are smaller than specified 40816 40817 * platform/graphics/cg/GraphicsContextCG.cpp: 40818 (WebCore::GraphicsContext::setShadow): Made the workaround for 40819 <rdar://problem/5539388> unconditional. 40820 40821 2008-03-14 Adam Roben <aroben (a] apple.com> 40822 40823 Fix it right this time 40824 40825 * platform/MainThread.cpp: Cast to unsigned so we can use %u in the 40826 format string. 40827 * platform/mac/MainThreadMac.mm: 40828 40829 2008-03-14 Adam Roben <aroben (a] apple.com> 40830 40831 Mac build fix 40832 40833 * platform/mac/MainThreadMac.mm: Corrected a typo. 40834 40835 2008-03-14 Dan Bernstein <mitz (a] apple.com> 40836 40837 Reviewed by Darin Adler. 40838 40839 - fix http://bugs.webkit.org/show_bug.cgi?id=17834 40840 REGRESSION: floated first-letter does not work when included in table 40841 40842 Test: fast/css/first-letter-float.html 40843 40844 * rendering/RenderBlock.cpp: 40845 (WebCore::RenderBlock::updateFirstLetter): Changed the search for the 40846 first text node to stop at a float if that float is an existing first- 40847 letter. 40848 40849 2008-03-14 Sam Weinig <sam (a] webkit.org> 40850 40851 Fix Mac build 40852 40853 * WebCore.xcodeproj/project.pbxproj: 40854 40855 2008-03-13 Adam Roben <aroben (a] apple.com> 40856 40857 Make most of callOnMainThread's implementation be cross-platform 40858 40859 I took the non-platform-specific parts of MainThreadWin.cpp and moved 40860 them to a new MainThread.cpp. Each platform is now responsible for 40861 implementing one function, scheduleDispatchFunctionsOnMainThread, 40862 which is supposed to set things up so that 40863 dispatchFunctionsFromMainThread gets called from the main thread in 40864 the near future. 40865 40866 Reviewed by Alexey. 40867 40868 * GNUmakefile.am: Added MainThread.cpp to the project. 40869 * WebCore.pro: Ditto. 40870 * WebCore.vcproj/WebCore.vcproj: Ditto. 40871 * WebCore.xcodeproj/project.pbxproj: Ditto. 40872 * WebCoreSources.bkl: Ditto. 40873 * platform/MainThread.cpp: 40874 - Copied from WebCore/platform/win/MainThreadWin.cpp. 40875 - Removed the Windows-specific parts. 40876 (WebCore::callOnMainThread): Changed to call 40877 scheduleDispatchFunctionsOnMainThread instead of PostMessage. 40878 * platform/gtk/MainThreadGtk.cpp: 40879 (WebCore::timeoutFired): Renamed from callFunctionOnMainThread. Now 40880 just calls dispatchFunctionsFromMainThread. 40881 (WebCore::scheduleDispatchFunctionsOnMainThread): Added. Calls through 40882 to g_timeout_add. 40883 * platform/mac/MainThreadMac.mm: Renamed WebCoreFunctionWrapper to 40884 WebCoreMainThreadCaller. 40885 (-[WebCoreMainThreadCaller call]): Calls through to 40886 dispatchFunctionsFromMainThread. 40887 (WebCore::scheduleDispatchFunctionsOnMainThread): Makes a new 40888 WebCoreMainThreadCaller and calls performSelectorOnMainThread on it. 40889 * platform/qt/MainThreadQt.cpp: Removed PerformFunctionEvent. 40890 (WebCore::MainThreadInvoker::event): Chagned to call through to 40891 dispatchFunctionsFromMainThread. 40892 (WebCore::scheduleDispatchFunctionsOnMainThread): Sends an empty event 40893 to the MainThreadInvoker. 40894 * platform/win/MainThreadWin.cpp: 40895 - Removed the non-Windows-specific parts. 40896 - Removed some unnecessary initialization of static variables to 0. 40897 (WebCore::ThreadingWindowWndProc): Changed to call 40898 dispatchFunctionsFromMainThread. 40899 (WebCore::scheduleDispatchFunctionsOnMainThread): Calls through to 40900 PostMessage. 40901 * platform/wx/MainThreadWx.cpp: 40902 (WebCore::scheduleDispatchFunctionsOnMainThread): Added. 40903 40904 2008-03-14 Beth Dakin <bdakin (a] apple.com> 40905 40906 Reviewed by Geoff. 40907 40908 Fix for <rdar://problem/5728171> Potential PLT speedup: don't 40909 realloc every time inside NamedAttrMap::addAttribute 40910 40911 The speed-up for this turned out to be so small that it is mostly 40912 imperceptible. It is likely that it is a tiny boost, though, and 40913 the new code is much cleaner. 40914 40915 * dom/Element.cpp: 40916 (WebCore::Element::setAttributeMap): attrs is now called 40917 m_attributes 40918 * dom/NamedAttrMap.cpp: The array attrs is now the Vector of 40919 RefPtrs called m_attributes, and there is no longer any need for 40920 the len member variable. 40921 (WebCore::NamedAttrMap::NamedAttrMap): 40922 (WebCore::NamedAttrMap::item): 40923 (WebCore::NamedAttrMap::getAttributeItem): 40924 (WebCore::NamedAttrMap::clearAttributes): 40925 (WebCore::NamedAttrMap::operator=): 40926 (WebCore::NamedAttrMap::addAttribute): 40927 (WebCore::NamedAttrMap::removeAttribute): 40928 (WebCore::NamedAttrMap::mapsEquivalent): 40929 * dom/NamedAttrMap.h: Same. 40930 (WebCore::NamedAttrMap::length): 40931 (WebCore::NamedAttrMap::attributeItem): 40932 (WebCore::NamedAttrMap::shrinkToLength): 40933 (WebCore::NamedAttrMap::reserveCapacity): 40934 * html/HTMLTokenizer.cpp: One of the benefits of the old array was 40935 that it never took up more memory than it needed to. So the 40936 tokenizer utilizes new member functions on NamedAttrMap 40937 (shrinkToLength and reserveCapacity) to try to keep memory usage at 40938 a minimum. 40939 (WebCore::Token::addAttribute): 40940 (WebCore::HTMLTokenizer::processToken): 40941 40942 2008-03-14 David D. Kilzer <ddkilzer (a] apple.com> 40943 40944 BUILD FIX when ENABLE(MAC_JAVA_BRIDGE) set to 0. 40945 40946 * page/mac/FrameMac.mm: Move up #if ENABLE(MAC_JAVA_BRIDGE) guard 40947 to comment out unused code. 40948 40949 2008-03-14 David D. Kilzer <ddkilzer (a] apple.com> 40950 40951 Unify concept of enabling the Mac Java bridge. 40952 40953 Reviewed by Darin and Anders. 40954 40955 No test cases added since there is no change in functionality. 40956 40957 * DerivedSources.make: Added check for ENABLE_MAC_JAVA_BRIDGE macro. 40958 If defined as "1", add WebCore.JNI.exp to WEBCORE_EXPORT_DEPENDENCIES. 40959 * WebCore.JNI.exp: Added. 40960 * WebCore.base.exp: Moved exported JNI methods to WebCore.JNI.exp. 40961 40962 * bridge/jni/jni_class.cpp: Added #if ENABLE(MAC_JAVA_BRIDGE) guard. 40963 * bridge/jni/jni_class.h: Ditto. 40964 * bridge/jni/jni_instance.cpp: Ditto. 40965 * bridge/jni/jni_instance.h: Ditto. 40966 * bridge/jni/jni_jsobject.cpp: Ditto. 40967 * bridge/jni/jni_jsobject.h: Ditto. 40968 * bridge/jni/jni_objc.mm: Ditto. 40969 * bridge/jni/jni_runtime.cpp: Ditto. 40970 * bridge/jni/jni_runtime.h: Ditto. 40971 * bridge/jni/jni_utility.cpp: Ditto. 40972 * bridge/jni/jni_utility.h: Ditto. 40973 40974 * bridge/runtime.cpp: Removed unused #include statements. 40975 * bridge/runtime.h: 40976 (KJS::Bindings::Instance::BindingLanguage): Added #if ENABLE(MAC_JAVA_BRIDGE) 40977 guard for JavaLanguage enum. Also added #if PLATFORM(MAC) guard for 40978 ObjectiveCLanguage enum to match corresponding code in runtime.cpp. 40979 40980 * config.h: Removed definition of HAVE_JNI. 40981 40982 * loader/FrameLoaderClient.h: 40983 (WebCore::FrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard. 40984 * page/Frame.cpp: 40985 (WebCore::Frame::Frame): Ditto. 40986 * page/Frame.h: 40987 (WebCore::Frame::initJavaJSBindings): Ditto. 40988 * page/mac/FrameMac.mm: 40989 (WebCore::Frame::createScriptInstanceForWidget): Ditto. 40990 (WebCore::Frame::initJavaJSBindings): Ditto. 40991 40992 2008-03-13 Darin Adler <darin (a] apple.com> 40993 40994 * html/PreloadScanner.h: Corrected license. 40995 * html/PreloadScanner.cpp: Corrected license. 40996 40997 2008-03-13 Mark Mentovai <mark (a] moxienet.com> 40998 40999 Reviewed by darin. Landed by eseidel. 41000 41001 * platform/FloatConversion.h: Include a header to get CoreGraphics 41002 types when using CoreGraphics types. 41003 41004 2008-03-13 Mark Mentovai <mark (a] moxienet.com> 41005 41006 Reviewed by eseidel. Landed by eseidel. 41007 41008 * WebCore.xcodeproj/project.pbxproj: 41009 * css/CSSParser.cpp: 41010 * css/makeprop.pl: 41011 Move CSSPropertyNames.c to CSSPropertyNames.cpp 41012 41013 2008-03-13 Mark Mentovai <mark (a] moxienet.com> 41014 41015 Reviewed by eseidel. Landed by eseidel. 41016 41017 * platform/Arena.h: Use statement1;statement2 instead of 41018 (statement1,statement2) in CLEAR_UNUSED. 41019 41020 2008-03-13 Tommi Komulainen <tommi.komulainen (a] iki.fi> 41021 41022 Reviewed by Alp Toker. 41023 41024 http://bugs.webkit.org/show_bug.cgi?id=17821 41025 [SOUP] POST requests are empty 41026 41027 Send the HTTP request body as well. 41028 41029 * platform/network/soup/ResourceHandleSoup.cpp: 41030 (WebCore::ResourceHandle::start): 41031 41032 2008-03-13 Dan Bernstein <mitz (a] apple.com> 41033 41034 Reviewed by Dave Hyatt. 41035 41036 - fix http://bugs.webkit.org/show_bug.cgi?id=17819 41037 Border-collapse: collapse later cell wins on PC, earlier cell on Mac 41038 41039 Test: fast/table/border-collapsing/equal-precedence-resolution.html 41040 41041 * rendering/RenderTableCell.cpp: 41042 (WebCore::RenderTableCell::collapsedLeftBorder): When calling 41043 compareBorders() with borders that may have the same precedence, made 41044 sure to pass the border belonging to the earlier (in document order) 41045 element first, since compareBorders() prefers the first argument when 41046 there is a tie. 41047 (WebCore::RenderTableCell::collapsedRightBorder): Ditto. 41048 (WebCore::RenderTableCell::collapsedTopBorder): Ditto. 41049 41050 2008-03-13 Adam Roben <aroben (a] apple.com> 41051 41052 wx build fix and Windows leak fix after r31034 41053 41054 * platform/graphics/wx/ImageWx.cpp: 41055 (WebCore::Image::loadPlatformResource): Use SharedBuffer::create. 41056 * platform/win/SharedBufferWin.cpp: 41057 (WebCore::SharedBuffer::createWithContentsOfFile): Ditto (we were 41058 leaking the SharedBuffer here before). 41059 41060 2008-03-13 Antti Koivisto <antti (a] apple.com> 41061 41062 Reviewed by Eric. 41063 41064 Correct a few issues spotted by Mike Belshe. 41065 41066 * html/PreloadScanner.cpp: 41067 (WebCore::PreloadScanner::tokenize): 41068 * loader/loader.cpp: 41069 (WebCore::Loader::cancelRequests): 41070 41071 2008-03-13 Rodney Dawes <dobey (a] wayofthemonkey.com> 41072 41073 Fix GTK+ build for SharedBuffer changes. 41074 41075 * platform/graphics/gtk/ImageGtk.cpp: 41076 (Image::loadPlatformResource): 41077 41078 2008-03-13 Steve Falkenburg <sfalken (a] apple.com> 41079 41080 More PGO build fixes. 41081 41082 * WebCorePrefix.cpp: 41083 41084 2008-03-13 Antti Koivisto <antti (a] apple.com> 41085 41086 Reviewed by Darin. 41087 41088 Make page loads go fast. 41089 41090 http://bugs.webkit.org/show_bug.cgi?id=17480 41091 41092 - Implement speculative preloading. When a script load blocks the main parser, use a side 41093 parser to pick up more resources. 41094 - Implement per-host load queues, prioritize scripts and stylesheets over images. 41095 41096 Depending on content and network latency this may speed things up quite a bit. 41097 41098 * WebCore.xcodeproj/project.pbxproj: 41099 * dom/Document.cpp: 41100 (WebCore::Document::implicitClose): 41101 Clear the preloads after laoding completes. 41102 41103 * html/HTMLLinkElement.cpp: 41104 (WebCore::HTMLLinkElement::parseMappedAttribute): 41105 (WebCore::HTMLLinkElement::tokenizeRelAttribute): 41106 * html/HTMLLinkElement.h: 41107 Make tokenizeRelAttribute() public static so it can be used from elsewhere. 41108 Eliminate a pointless bitfield so I can get references. 41109 41110 * html/HTMLTokenizer.cpp: 41111 (WebCore::HTMLTokenizer::scriptHandler): 41112 (WebCore::HTMLTokenizer::scriptExecution): 41113 (WebCore::HTMLTokenizer::write): 41114 * html/HTMLTokenizer.h: 41115 Spin up the preload scanner whenever a script load blocks the parser. One scanner tracks the end of 41116 the document while temporary ones are created as needed to scan document.write() output. 41117 41118 * html/PreloadScanner.cpp: Added. 41119 (WebCore::PreloadScanner::PreloadScanner): 41120 (WebCore::PreloadScanner::~PreloadScanner): 41121 (WebCore::PreloadScanner::begin): 41122 (WebCore::PreloadScanner::end): 41123 (WebCore::PreloadScanner::reset): 41124 (WebCore::PreloadScanner::write): 41125 (WebCore::isWhitespace): 41126 (WebCore::PreloadScanner::clearLastCharacters): 41127 (WebCore::PreloadScanner::rememberCharacter): 41128 (WebCore::PreloadScanner::lastCharactersMatch): 41129 (WebCore::legalEntityFor): 41130 (WebCore::PreloadScanner::consumeEntity): 41131 (WebCore::PreloadScanner::tokenize): 41132 (WebCore::PreloadScanner::processAttribute): 41133 (WebCore::PreloadScanner::emitCharacter): 41134 (WebCore::PreloadScanner::tokenizeCSS): 41135 (WebCore::PreloadScanner::emitTag): 41136 (WebCore::PreloadScanner::emitCSSRule): 41137 * html/PreloadScanner.h: Added. 41138 (WebCore::PreloadScanner::inProgress): 41139 (WebCore::PreloadScanner::): 41140 HTML5 tokenization plus some glue code. Fake CSS parsing thrown in just for fun. 41141 41142 * loader/Cache.cpp: 41143 (WebCore::Cache::pruneDeadResources): 41144 Preloads have zero refcount, avoid kicking them out too early. 41145 41146 * loader/CachedResource.cpp: 41147 (WebCore::CachedResource::CachedResource): 41148 (WebCore::CachedResource::ref): 41149 * loader/CachedResource.h: 41150 (WebCore::CachedResource::): 41151 (WebCore::CachedResource::preloadResult): 41152 (WebCore::CachedResource::setRequestedFromNetworkingLayer): 41153 (WebCore::CachedResource::canDelete): 41154 (WebCore::CachedResource::isPreloaded): 41155 (WebCore::CachedResource::increasePreloadCount): 41156 (WebCore::CachedResource::decreasePreloadCount): 41157 Keep track which resources are preloads. Avoid deleting them. Track 41158 at which point of the loading preloads get utilized to enable some interesting 41159 statistics. 41160 41161 * loader/DocLoader.cpp: 41162 (WebCore::DocLoader::~DocLoader): 41163 (WebCore::DocLoader::checkForReload): 41164 (WebCore::DocLoader::registerPreload): 41165 (WebCore::DocLoader::clearPreloads): 41166 (WebCore::DocLoader::printPreloadStats): 41167 * loader/DocLoader.h: 41168 Ensure we utilize preloaded resources during reloads. 41169 Keep a list of all preloads in the document. Clear the preloads after 41170 parsing is complete. Some debug statistics. 41171 41172 * loader/DocumentLoader.cpp: 41173 (WebCore::DocumentLoader::isLoadingInAPISense): 41174 Avoid signaling that loading is complete too early. 41175 41176 * loader/loader.cpp: 41177 (WebCore::Loader::Loader): 41178 (WebCore::Loader::~Loader): 41179 (WebCore::Loader::determinePriority): 41180 (WebCore::Loader::load): 41181 (WebCore::Loader::scheduleServePendingRequests): 41182 (WebCore::Loader::requestTimerFired): 41183 (WebCore::Loader::servePendingRequests): 41184 (WebCore::Loader::cancelRequests): 41185 (WebCore::Loader::Host::Host): 41186 (WebCore::Loader::Host::~Host): 41187 (WebCore::Loader::Host::addRequest): 41188 (WebCore::Loader::Host::hasRequests): 41189 (WebCore::Loader::Host::servePendingRequests): 41190 (WebCore::Loader::Host::didFinishLoading): 41191 (WebCore::Loader::Host::didFail): 41192 (WebCore::Loader::Host::didReceiveResponse): 41193 (WebCore::Loader::Host::didReceiveData): 41194 (WebCore::Loader::Host::cancelPendingRequests): 41195 (WebCore::Loader::Host::cancelRequests): 41196 * loader/loader.h: 41197 (WebCore::Loader::): 41198 Distribute load requests to per-host priority queues. Limit the number of loads issued to the 41199 networking layer so we have better changes of getting important requests through first. 41200 Prioritize scripts > stylesheets > images. 41201 41202 2008-03-13 David Hyatt <hyatt (a] apple.com> 41203 41204 This patch makes full page zoom work pretty well. It fixes repainting so that it works when transforms 41205 are set on the RenderView. It also implements the "smart layout" behavior that other browsers support when 41206 zooming. The page will still try to constrain to the viewport size even when zoomed. 41207 41208 Reviewed by john 41209 41210 * dom/Document.cpp: 41211 (WebCore::Document::recalcStyle): 41212 Make sure to test for transform changes even when there is no zoom. This fixes repainting issues 41213 caused by jumping from a zoomed state back to the standard size. 41214 41215 * page/FrameView.cpp: 41216 (WebCore::FrameView::adjustViewSize): 41217 Adjust for the zoom factor (the render tree is in unzoomed coordinates, but the scrollbars of the view 41218 need to handle zoomed coordinates). 41219 41220 * rendering/RenderBox.cpp: 41221 (WebCore::RenderBox::calcHeight): 41222 Fix the body-sizing-to-the-view-height quirk so that it takes the zoom factor into account when 41223 stretching to fill the viewport. 41224 41225 * rendering/RenderLayer.cpp: 41226 (WebCore::RenderLayer::updateLayerPositions): 41227 (WebCore::RenderLayer::setHasVisibleContent): 41228 Remove the FIXMEs now that absoluteClippedOverflowRect works with transforms on the RenderView. 41229 41230 * rendering/RenderView.cpp: 41231 (WebCore::RenderView::calcHeight): 41232 (WebCore::RenderView::calcWidth): 41233 Make sure the calculated width/height take the zoom factor into account in order to get the "smart layout" 41234 behavior. 41235 41236 (WebCore::RenderView::layout): 41237 When deciding whether children have to get a relayout, we need to check the zoomed width/height and not just 41238 the viewport size. 41239 41240 (WebCore::RenderView::computeAbsoluteRepaintRect): 41241 Patched to take into account transforms set on the RenderView. 41242 41243 (WebCore::RenderView::docHeight): 41244 (WebCore::RenderView::docWidth): 41245 Patched to just always use m_width and m_height initially, since those have already been adjusted for 41246 the zoom factor. 41247 41248 (WebCore::RenderView::zoomedHeight): 41249 (WebCore::RenderView::zoomedWidth): 41250 * rendering/RenderView.h: 41251 New helper methods for obtaining the adjusted width/height of the viewport taking into account the 41252 zoom factor. 41253 41254 2008-03-13 Anders Carlsson <andersca (a] apple.com> 41255 41256 Build fix. 41257 41258 * WebCore.base.exp: 41259 41260 2008-03-13 Anders Carlsson <andersca (a] apple.com> 41261 41262 Reviewed by Adam. 41263 41264 Get rid of actualRequest, it is not used anymore. Also, get rid of 41265 initialRequest and replace all uses with originalRequest because those are 41266 the same thing. 41267 41268 * loader/DocumentLoader.cpp: 41269 * loader/DocumentLoader.h: 41270 * loader/FrameLoader.cpp: 41271 (WebCore::FrameLoader::initialRequest): 41272 (WebCore::FrameLoader::originalRequestURL): 41273 41274 2008-03-13 Brady Eidson <beidson (a] apple.com> 41275 41276 Reviewed by Anders 41277 41278 Convert SharedBuffer to start with a refCount of 1 41279 41280 * loader/ImageDocument.cpp: 41281 (WebCore::ImageTokenizer::finish): 41282 41283 * loader/ResourceLoader.cpp: 41284 (WebCore::ResourceLoader::addData): 41285 (WebCore::ResourceLoader::willStopBufferingData): 41286 41287 * loader/icon/IconDatabase.cpp: 41288 (WebCore::IconDatabase::defaultIcon): 41289 (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase): 41290 41291 * loader/loader.cpp: 41292 (WebCore::Loader::didReceiveData): 41293 41294 * platform/SharedBuffer.h: 41295 (WebCore::SharedBuffer::create): Make all constructors private, add ::create() calls 41296 * platform/SharedBuffer.cpp: 41297 (WebCore::SharedBuffer::SharedBuffer): Revert to default RefCounted constructor to start with a ref count of 1 41298 (WebCore::SharedBuffer::copy): 41299 * platform/mac/SharedBufferMac.mm: 41300 (WebCore::SharedBuffer::wrapNSData): 41301 (WebCore::SharedBuffer::SharedBuffer): Revert to default RefCounted constructor to start with a ref count of 1 41302 41303 2008-03-13 Steve Falkenburg <sfalken (a] apple.com> 41304 41305 PGO build fixes. 41306 41307 Disable PGO for normal release builds. 41308 Added work-in-progress Release_PGOInstrument/Release_PGOOptimize targets. 41309 41310 * WebCore.vcproj/WebCore.vcproj: 41311 41312 2008-03-13 Anders Carlsson <andersca (a] apple.com> 41313 41314 Reviewed by Darin. 41315 41316 Make a bunch of DocumentLoader setters/getters inline. 41317 41318 * loader/DocumentLoader.cpp: 41319 * loader/DocumentLoader.h: 41320 (WebCore::DocumentLoader::isStopping): 41321 (WebCore::DocumentLoader::setCommitted): 41322 (WebCore::DocumentLoader::isCommitted): 41323 (WebCore::DocumentLoader::isLoading): 41324 (WebCore::DocumentLoader::setLoading): 41325 (WebCore::DocumentLoader::response): 41326 (WebCore::DocumentLoader::mainDocumentError): 41327 (WebCore::DocumentLoader::setResponse): 41328 (WebCore::DocumentLoader::isClientRedirect): 41329 (WebCore::DocumentLoader::setIsClientRedirect): 41330 (WebCore::DocumentLoader::overrideEncoding): 41331 (WebCore::DocumentLoader::responses): 41332 (WebCore::DocumentLoader::triggeringAction): 41333 (WebCore::DocumentLoader::setTriggeringAction): 41334 (WebCore::DocumentLoader::setOverrideEncoding): 41335 (WebCore::DocumentLoader::setLastCheckedRequest): 41336 (WebCore::DocumentLoader::lastCheckedRequest): 41337 (WebCore::DocumentLoader::title): 41338 (WebCore::DocumentLoader::setLoadingFromCachedPage): 41339 (WebCore::DocumentLoader::isLoadingFromCachedPage): 41340 41341 2008-03-13 Rodney Dawes <dobey (a] wayofthemonkey.com> 41342 41343 Fix builds without SVG enabled. 41344 41345 * page/Frame.cpp: 41346 (Frame::shouldApplyTextZoom): 41347 (Frame::shouldApplyPageZoom): 41348 41349 2008-03-13 Simon Hausmann <hausmann (a] webkit.org> 41350 41351 Fix the Qt build. 41352 41353 * bridge/qt/qt_instance.cpp: 41354 (KJS::Bindings::QtInstance::getQtInstance): 41355 (KJS::Bindings::QtInstance::getRuntimeObject): 41356 * bridge/qt/qt_instance.h: 41357 (KJS::Bindings::QtInstance::create): 41358 * bridge/qt/qt_runtime.cpp: 41359 (KJS::Bindings::convertQVariantToValue): 41360 (KJS::Bindings::QtConnectionObject::execute): 41361 * page/qt/FrameQt.cpp: 41362 (WebCore::Frame::createScriptInstanceForWidget): 41363 41364 2008-03-12 Sam Weinig <sam (a] webkit.org> 41365 41366 Reviewed by Darin Adler. 41367 41368 Fix <rdar://problem/5784773> 41369 Crash loading QT movies @ apple.com/ipodtouch/features.html with a PAC file (WebKitThreadingException) 41370 41371 Make bridged RuntimeObjects get collected on the main thread only. This is necessary 41372 because clients of the bridged objects are unlikely to prepared for a collection on 41373 non-main thread, which can happen with a PAC file. 41374 41375 * bridge/runtime_object.cpp: 41376 (RuntimeObjectImp::RuntimeObjectImp): 41377 41378 2008-03-12 Adam Roben <aroben (a] apple.com> 41379 41380 Fix Bug 17815: Inspector's DOM tree should descend into subframes 41381 41382 <http://bugs.webkit.org/show_bug.cgi?id=17815> 41383 41384 Reviewed by Tim. 41385 41386 * page/inspector/DocumentPanel.js: 41387 (WebInspector.DocumentPanel.revealNode): Changed to provide 41388 _isAncestorIncludingParentFramesWithinPanel and 41389 _parentNodeOrFrameElementWithinPanel for the isAncestor and getParent 41390 parameters to findTreeElement so that parent frames will be searched. 41391 (WebInspector.DocumentPanel.updateBreadcrumb): 41392 - Changed while loop to for loop 41393 - Use _parentNodeOrFrameElementWithinPanel instead of 41394 Node.parentNode to move to the next node 41395 - The loop now ends when we reach the DocumentPanel's document node 41396 - Traversal past other Document nodes is now allowed 41397 - We add the "start" class to the final crumb after the loop exits 41398 (WebInspector.DocumentPanel._getDocumentForNode): Added. Simple helper 41399 that returns the node itself if the node is a Document node, or the 41400 node's ownerDocument otherwise. 41401 (WebInspector.DocumentPanel._parentNodeOrFrameElementWithinPanel): 41402 Added. Returns the node's parent node or, in the case of a Document 41403 node, the node's window's owning frame element, but will not return a 41404 node that is in a parent frame of the DocumentPanel's Document. 41405 (WebInspector.DocumentPanel._isAncestorIncludingParentFramesWithinPanel): 41406 Added. Returns true if a is an ancestor of b if a is an ancestor of a 41407 frame element whose subframe(s) contain b. 41408 (WebInspector.DOMNodeTreeElement): We now consider ourselves to have 41409 children if we have a contentDocument. 41410 (WebInspector.DOMNodeTreeElement.onpopulate): Moved the appendChild 41411 loop into a function so that we can add both children of our 41412 contentDocument and children of our node to the tree. 41413 (WebInspector.DOMNodeTreeElement.ondblclick): Changed so that we get 41414 the rootDOMNode by traversing the tree outline hierarchy instead of 41415 the DOM hierarchy so that we can easily jump up to a parent frame. 41416 41417 2008-03-12 Adam Roben <aroben (a] apple.com> 41418 41419 Update the styles/metrics panes and breadcrumb after editing DOM 41420 attributes 41421 41422 Reviewed by Tim. 41423 41424 * page/inspector/DocumentPanel.js: 41425 (WebInspector.DocumentPanel.set focusedDOMNode): Moved code to update 41426 the parts of the DocumentPanel other than the DOM tree into a new 41427 function, _focusedNodeChanged. 41428 (WebInspector.DocumentPanel._focusedNodeChanged): Added. The 41429 forceUpdate parameter specifies whether the update should occur even 41430 if the focused node hasn't changed since the last update. 41431 (WebInspector.DocumentPanel.updateBreadcrumb): Added a forceUpdate 41432 parameter. If forceUpdate is true, we always rebuild the breadcrumbs. 41433 (WebInspector.DocumentPanel.updateStyles): Added a forceUpdate 41434 parameter. If forceUpdate is true, we always rebuild the styles pane. 41435 (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Added a 41436 call to DocumentPanel._focusedNodeChanged. We have to force the update 41437 because we haven't changed the focused node (the attributes of the 41438 node have changed). 41439 * page/inspector/StylesSidebarPane.js: 41440 (WebInspector.StylesSidebarPane.update): Added a forceUpdate 41441 parameter. If forceUpdate is true we always rebuild the styles. 41442 41443 2008-03-12 Mark Rowe <mrowe (a] apple.com> 41444 41445 Further Gtk and Qt build fixes. 41446 41447 * bridge/runtime.cpp: 41448 (KJS::Bindings::Instance::createRuntimeObject): Adapt Qt-only code for change to PassRefPtr. 41449 * page/gtk/FrameGtk.cpp: Add missing include. 41450 41451 2008-03-12 Mark Rowe <mrowe (a] apple.com> 41452 41453 Fix Gtk and Qt builds. 41454 41455 * page/gtk/FrameGtk.cpp: 41456 * page/qt/FrameQt.cpp: 41457 41458 2008-03-12 Mark Rowe <mrowe (a] apple.com> 41459 41460 Mac build fix. 41461 41462 * WebCore.base.exp: Remove symbol. 41463 41464 2008-03-12 Steve Falkenburg <sfalken (a] apple.com> 41465 41466 Build fix. 41467 41468 * page/win/FrameWin.cpp: 41469 41470 2008-03-12 Steve Falkenburg <sfalken (a] apple.com> 41471 41472 Build fix. 41473 41474 * plugins/win/PluginViewWin.cpp: 41475 (WebCore::PluginView::bindingInstance): 41476 41477 2008-03-12 Darin Adler <darin (a] apple.com> 41478 41479 Reviewed by Anders. 41480 41481 - http://bugs.webkit.org/show_bug.cgi?id=17640 41482 eliminate WebCoreFrameBridge 41483 41484 * WebCore.base.exp: Added more exports, needed by code moved from WebCoreFrameBridge 41485 to WebFrame in WebKit. 41486 * WebCore.xcodeproj/project.pbxproj: Added more headers, same reason. Also deleted 41487 WebCoreFrameBridge.h and WebCoreFrameBridge.mm. 41488 41489 * page/Frame.cpp: 41490 (WebCore::Frame::Frame): Added call to initJavaJSBindings(), formerly handled by 41491 the WebCoreFrameBridge. 41492 * page/Frame.h: Added initJavaJSBindings function. 41493 41494 * page/mac/FrameMac.mm: 41495 (WebCore::updateRenderingForBindings): Moved here from WebCoreFrameBridge. 41496 (WebCore::Frame::initJavaJSBindings): Ditto; code was in the init function. 41497 41498 * page/mac/WebCoreFrameBridge.h: Removed. 41499 * page/mac/WebCoreFrameBridge.mm: Removed. 41500 41501 2008-03-12 Sam Weinig <sam (a] webkit.org> 41502 41503 Reviewed by Anders Carlsson. 41504 41505 Don't go through the Document just to get the frame Element. 41506 41507 * page/DOMWindow.cpp: 41508 (WebCore::DOMWindow::frameElement): 41509 41510 2008-03-12 Anders Carlsson <andersca (a] apple.com> 41511 41512 Reviewed by Geoff and Sam. 41513 41514 More Instance cleanup: 41515 41516 * Make Instance inherit from RefCounted instead of doing its own refcounting. 41517 * Make all Instance subclasses private, add static create methods. 41518 * Have Instance start out with a refcount of 1. 41519 * Get rid of Instance::createBindingForLanguageInstance and call the individual 41520 instance constructor methods instead. 41521 * Fix many methods to take and return PassRefPtr<Instance> to ensure that the 41522 refcounting is done correctly. 41523 41524 * bridge/c/c_instance.h: 41525 (KJS::Bindings::CInstance::create): 41526 * bridge/c/c_utility.cpp: 41527 (KJS::Bindings::convertNPVariantToValue): 41528 * bridge/jni/jni_instance.cpp: 41529 (JavaInstance::invokeMethod): 41530 * bridge/jni/jni_instance.h: 41531 (KJS::Bindings::JavaInstance::create): 41532 * bridge/jni/jni_jsobject.cpp: 41533 (JavaJSObject::convertJObjectToValue): 41534 * bridge/jni/jni_runtime.cpp: 41535 (JavaField::valueFromInstance): 41536 (JavaArray::valueAt): 41537 * bridge/objc/objc_instance.h: 41538 (KJS::Bindings::ObjcInstance::create): 41539 * bridge/objc/objc_utility.mm: 41540 (KJS::Bindings::convertObjcValueToValue): 41541 * bridge/qt/qt_instance.cpp: 41542 (KJS::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): 41543 (KJS::Bindings::QtInstance::getQtInstance): 41544 (KJS::Bindings::QtInstance::getRuntimeObject): 41545 * bridge/qt/qt_instance.h: 41546 * bridge/runtime.cpp: 41547 (KJS::Bindings::Instance::Instance): 41548 (KJS::Bindings::Instance::createRuntimeObject): 41549 * bridge/runtime.h: 41550 * bridge/runtime_object.cpp: 41551 (RuntimeObjectImp::RuntimeObjectImp): 41552 * bridge/runtime_object.h: 41553 * page/Frame.h: 41554 * page/mac/FrameMac.mm: 41555 (WebCore::Frame::createScriptInstanceForWidget): 41556 * page/win/FrameWin.cpp: 41557 (WebCore::Frame::createScriptInstanceForWidget): 41558 * plugins/PluginView.h: 41559 * plugins/win/PluginViewWin.cpp: 41560 (WebCore::PluginView::bindingInstance): 41561 41562 2008-03-12 Dan Bernstein <mitz (a] apple.com> 41563 41564 Suggested by Darin Adler. Reviewed by Dave Hyatt. 41565 41566 - speed up BidiIterator::direction() 41567 41568 * rendering/bidi.cpp: 41569 (WebCore::BidiIterator::current): Made inline and corrected the 41570 out-of-bounds condition to work with 0-length text and offsets beyond 41571 the end of the text. 41572 (WebCore::BidiIterator::direction): Changed to call current() and not 41573 call the virtual method isListMarker() most of the time. 41574 (WebCore::addMidpoint): Removed unnecessary null-check of smidpoints. 41575 (WebCore::appendRunsForObject): Ditto. 41576 41577 2008-03-12 Adam Roben <aroben (a] apple.com> 41578 41579 Make URLs not be underlined while editing them in the DOM view 41580 41581 Reviewed by Tim. 41582 41583 * page/inspector/inspector.css: 41584 41585 2008-03-12 Adam Roben <aroben (a] apple.com> 41586 41587 Part of Bug 17224: DOM nodes/attributes should be editable 41588 41589 <http://bugs.webkit.org/show_bug.cgi?id=17224> 41590 <rdar://problem/5732825> 41591 41592 We now start editing if the user single-clicks on an attribute, 41593 attribute value, or text node while the parent element is selected. 41594 Previously, we started editing on double-click regardless of the 41595 selection state of the element. 41596 41597 URLs in the DOM tree are now followed on Alt/Option-click, rather than 41598 on just click. 41599 41600 Reviewed by Tim. 41601 41602 * English.lproj/InspectorLocalizedStrings.js: Added four new localized 41603 strings. 41604 * page/inspector/DocumentPanel.js: 41605 (WebInspector.DOMNodeTreeElement.onattach): Call new 41606 _makeURLSActivateOnModifiedClick. 41607 (WebInspector.DOMNodeTreeElement._makeURLsActivateOnModifiedClick): 41608 Added. Changes the tooltip of each link in this element to indicate 41609 that Alt/Option-click will follow the URL, and sets the 41610 followOnAltClick property on each link. 41611 (WebInspector.DOMNodeTreeElement.onselect): Mark that we're being 41612 selected. 41613 (WebInspector.DOMNodeTreeElement.onmousedown): If we're not currently 41614 being selected, start editing. 41615 (WebInspector.DOMNodeTreeElement.ondblclick): We no longer start 41616 editing here. We block re-rooting of the tree if we're currently 41617 editing. 41618 (WebInspector.DOMNodeTreeElement._startEditing): 41619 - Don't do anything if we're not focused 41620 - Pass the event down to _startEditingAttribute. 41621 (WebInspector.DOMNodeTreeElement._startEditingAttribute): Don't do 41622 anything if the event target is a URL and the Alt/Option key is 41623 pressed -- in this case we want to follow the link. 41624 (WebInspector.DOMNodeTreeElement._updateTitle): Call 41625 _makeURLsActivateOnClick again since the anchor elements have all been 41626 recreated. 41627 * page/inspector/inspector.js: 41628 (WebInspector.documentClick): If the anchor as a followOnAltClick 41629 property and the Alt/Option key is not pressed, do nothing. 41630 41631 2008-03-12 Ada Chan <adachan (a] apple.com> 41632 41633 Fixed the initial value of zoom factor. 41634 41635 Reviewed by Adam. 41636 41637 * page/Frame.cpp: 41638 (WebCore::FramePrivate::FramePrivate): 41639 41640 2008-03-12 David Hyatt <hyatt (a] apple.com> 41641 41642 Make full page zoom vaguely work. This patch uses the CSS transform system to turn on full page zoom at the 41643 document level. There are many many bugs that I'm going to file to track all the issues (most of the issues 41644 are just bugs with transforms themselves). 41645 41646 Reviewed by Adam Roben 41647 41648 * css/CSSStyleSelector.cpp: 41649 (WebCore::CSSStyleSelector::applyProperty): 41650 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): 41651 * dom/Document.cpp: 41652 (WebCore::Document::recalcStyle): 41653 * page/Frame.cpp: 41654 (WebCore::Frame::shouldApplyTextZoom): 41655 (WebCore::Frame::shouldApplyPageZoom): 41656 * page/Frame.h: 41657 * rendering/RenderLayer.cpp: 41658 (WebCore::RenderLayer::updateLayerPositions): 41659 (WebCore::RenderLayer::setHasVisibleContent): 41660 (WebCore::RenderLayer::paintLayer): 41661 (WebCore::RenderLayer::hitTestLayer): 41662 * rendering/RenderLayer.h: 41663 41664 2008-03-12 David Hyatt <hyatt (a] apple.com> 41665 41666 Make the zoom factor a float and not a percent. 41667 41668 Reviewed by antti 41669 41670 * WebCore.base.exp: 41671 * css/CSSStyleSelector.cpp: 41672 (WebCore::CSSStyleSelector::applyProperty): 41673 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): 41674 * page/Frame.cpp: 41675 (WebCore::Frame::zoomFactor): 41676 (WebCore::Frame::setZoomFactor): 41677 * page/Frame.h: 41678 * page/FramePrivate.h: 41679 * svg/SVGSVGElement.cpp: 41680 (WebCore::SVGSVGElement::currentScale): 41681 (WebCore::SVGSVGElement::setCurrentScale): 41682 41683 2008-03-12 David Hyatt <hyatt (a] apple.com> 41684 41685 Eliminate setTextMultiplier from the bridge. Make Webkit just call setZoomFactor on the frame directly. 41686 41687 Reviewed by Tim H. 41688 41689 * WebCore.base.exp: 41690 * page/mac/WebCoreFrameBridge.h: 41691 * page/mac/WebCoreFrameBridge.mm: 41692 41693 2008-03-12 Dan Bernstein <mitz (a] apple.com> 41694 41695 Reviewed by Darin Adler and Sam Weinig. 41696 41697 - <rdar://problem/4433248> use CoreText API instead of SPI on Leopard 41698 41699 Use CTFontCopyGraphicsFont and CTFontGetPlatformFont on Leopard instead 41700 of wkGetCGFontFromNSFont and wkGetNSFontATSUFontId, relying on NSFont 41701 and CTFontRef being toll-free bridged. 41702 41703 * WebCore.Tiger.exp: 41704 * WebCore.base.exp: 41705 * platform/graphics/mac/FontMac.mm: 41706 (WebCore::Font::drawGlyphs): Changed to use the cgFont() accessor. 41707 * platform/graphics/mac/FontPlatformData.h: 41708 Made m_cgFont a RetainPtr on Leopard. 41709 (WebCore::toCTFontRef): Added a function that encapsulates the 41710 toll-free bridging. 41711 (WebCore::FontPlatformData::FontPlatformData): 41712 (WebCore::FontPlatformData::cgFont): Added this accessor method. 41713 * platform/graphics/mac/FontPlatformDataMac.mm: 41714 (WebCore::FontPlatformData::FontPlatformData): Changed to use 41715 CoreText API on Leopard. 41716 (WebCore::FontPlatformData::setFont): Ditto. 41717 * platform/graphics/mac/SimpleFontDataMac.mm: 41718 (WebCore::initFontData): 41719 (WebCore::pathFromFont): 41720 (WebCore::SimpleFontData::platformInit): 41721 (WebCore::SimpleFontData::platformWidthForGlyph): 41722 * platform/mac/WebCoreSystemInterface.mm: 41723 41724 2008-03-12 David Harrison <harrison (a] apple.com> 41725 41726 Reviewed by Darin. 41727 41728 <rdar://problem/5607382> CrashTracer: [REGRESSION] 2290 crashes in Safari at com.apple.WebCore: -[WebCoreAXObject isWebArea] + 8 41729 41730 The problem was that we lost track of the AX cache for a subframe when Frame::disconnectOwnerElement() was 41731 called, so we were unable to locate the AXObjects to de-register from AppKit's accessibility registry. 41732 Also saw that cache clearing was missing from Document::detach(), and fixed that. 41733 41734 Also added a debug-only check that AXObjectCache::remove() not finding the AXObject is expected. 41735 41736 Lastly, RenderWidget::destroy() now skips trying to remove the AXObject if accessibility has never been enabled. 41737 41738 * dom/Document.cpp: 41739 (WebCore::Document::attach): 41740 Assert that there is no AX cache (since there is no renderer). 41741 41742 (WebCore::Document::detach): 41743 Destroy the AX cache installed on this document. 41744 41745 (WebCore::Document::clearAXObjectCache): 41746 New. Destroy the AX cache associated with this document. 41747 41748 (WebCore::Document::axObjectCache): 41749 Added some comments. 41750 41751 * dom/Document.h: 41752 Declare clearAXObjectCache(). 41753 41754 * page/Frame.cpp: 41755 (WebCore::Frame::disconnectOwnerElement): 41756 Destroy the AX cache associated with this frame's document. 41757 41758 * page/mac/AXObjectCacheMac.mm: 41759 (WebCore::AXObjectCache::remove): 41760 * page/mac/WebCoreAXObject.mm: 41761 (-[WebCoreAXObject initWithRenderer:]): 41762 (-[WebCoreAXObject detach]): 41763 * rendering/RenderObject.cpp: 41764 (WebCore::RenderObject::RenderObject): 41765 (WebCore::RenderObject::~RenderObject): 41766 * rendering/RenderObject.h: 41767 (WebCore::RenderObject::setHasAXObject): 41768 (WebCore::RenderObject::hasAXObject): 41769 Add debug-only check that AXObjectCache::remove() not finding the AXObject is expected. 41770 41771 * rendering/RenderWidget.cpp: 41772 (WebCore::RenderWidget::destroy): 41773 Skip call to remove the AXObject if accessibility has never been enabled. A simple speed optimization in the 41774 very common case that the accessibility APIs are not being used. Same as in RenderObject::destroy(). 41775 41776 2008-03-12 Xan Lopez <xan (a] gnome.org> 41777 41778 Reviewed by Alp Toker. 41779 41780 http://bugs.webkit.org/show_bug.cgi?id=15229 41781 41782 Add Pango font backend. 41783 41784 Original patch by Sven Herzberg <sven (a] imendio.com> 41785 41786 * GNUmakefile.am: 41787 * platform/graphics/gtk/FontCacheGtk.cpp: 41788 (WebCore::FontCache::fontExists): 41789 * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Added. 41790 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): 41791 (WebCore::FontCustomPlatformData::fontPlatformData): 41792 (WebCore::releaseData): 41793 (WebCore::createFontCustomPlatformData): 41794 * platform/graphics/gtk/FontPlatformData.h: 41795 (WebCore::FontPlatformData::FontPlatformData): 41796 (WebCore::FontPlatformData::hash): 41797 * platform/graphics/gtk/FontPlatformDataPango.cpp: Added. 41798 (WebCore::FontPlatformData::FontPlatformData): 41799 (WebCore::FontPlatformData::init): 41800 (WebCore::FontPlatformData::~FontPlatformData): 41801 (WebCore::FontPlatformData::isFixedPitch): 41802 (WebCore::FontPlatformData::setFont): 41803 (WebCore::FontPlatformData::operator==): 41804 * platform/graphics/gtk/GlyphPageTreeNodePango.cpp: Added. 41805 (WebCore::pango_font_get_glyph): 41806 (WebCore::GlyphPage::fill): 41807 * platform/graphics/gtk/SimpleFontDataPango.cpp: Added. 41808 (WebCore::SimpleFontData::platformInit): 41809 (WebCore::SimpleFontData::platformDestroy): 41810 (WebCore::SimpleFontData::smallCapsFontData): 41811 (WebCore::SimpleFontData::containsCharacters): 41812 (WebCore::SimpleFontData::determinePitch): 41813 (WebCore::SimpleFontData::platformWidthForGlyph): 41814 (WebCore::SimpleFontData::setFont): 41815 41816 2008-03-12 Justin Garcia <justin.garcia (a] apple.com> 41817 41818 Reviewed by Oliver. 41819 41820 <rdar://problem/5770834> Crash at InsertTextCommand::prepareForTextInsertion() doing RemoveFormat in a certain list 41821 41822 Fixes some (but not all) of the instances of: 41823 <rdar://problem/5659795> CrashTracer: [REGRESSION] 187 crashes in Safari at com.apple.WebCore: WebCore::InsertTextCommand::prepareForTextInsertion + 241 41824 <rdar://problem/5779631> CrashTracer: [USER] 25 crashes in Mail at WebCore::InsertTextCommand::prepareForTextInsertion 41825 41826 * editing/InsertLineBreakCommand.cpp: 41827 (WebCore::InsertLineBreakCommand::doApply): applyStyle may have destroyed content that held 41828 the old endingSelection(), so we must recompute it. Added a FIXME. Added a few comments. 41829 * editing/RemoveFormatCommand.cpp: 41830 (WebCore::RemoveFormatCommand::doApply): Added a FIXME. 41831 41832 2008-03-11 Alexey Proskuryakov <ap (a] webkit.org> 41833 41834 Reviewed by Darin. 41835 41836 <rdar://problem/5640615> REGRESSION (Safari 2-3): Changing subframe encoding rules broke 41837 some sites. 41838 41839 Other browsers' behavior keeps changing; let's implement what Firefox and Opera do now: 41840 if the frame and subframe belong to the same site, then the encoding is inherited from parent 41841 frame to subframe. Otherwise, it is not. 41842 41843 Always inheriting the encoding would cause a security problem. 41844 41845 Tests: http/tests/misc/frame-default-enc-different-domain.html 41846 http/tests/misc/frame-default-enc-same-domain.html 41847 fast/encoding/frame-default-enc.html 41848 41849 * loader/FrameLoader.cpp: 41850 (WebCore::FrameLoader::write): Also removed a check for m_frame->document() being non-null - 41851 this function also has code that uses it without checking, so it must be safe. 41852 41853 2008-03-12 Mark Rowe <mrowe (a] apple.com> 41854 41855 Gtk build fix. 41856 41857 * page/Frame.h: Forward-declare FramePrivate. 41858 41859 2008-03-11 Steve Falkenburg <sfalken (a] apple.com> 41860 41861 Disable LTCG/PGO for all of WebCore for now. 41862 We'll re-enable this as part of follow-on PGO work. 41863 41864 Reviewed by Oliver. 41865 41866 * WebCore.vcproj/WebCore.vcproj: 41867 41868 2008-03-11 Darin Adler <darin (a] apple.com> 41869 41870 Reviewed by Sam. 41871 41872 - remove all bridge-related things from WebCore except the bridge itself 41873 41874 * WebCore.base.exp: Removed the bridge and setBridge functions. 41875 41876 * loader/FrameLoader.cpp: 41877 (WebCore::FrameLoader::detachFromParent): Removed call to the bridge's 41878 close method. 41879 41880 * page/Frame.cpp: 41881 (WebCore::Frame::~Frame): Removed call to setBridge(0). 41882 (WebCore::FramePrivate::FramePrivate): Removed initialization of m_bridge. 41883 * page/Frame.h: Removed setBridge and bridge functions. 41884 * page/FramePrivate.h: Removed m_bridge pointer. 41885 * page/mac/FrameMac.mm: Removed setBridge and bridge functions. 41886 41887 * page/mac/WebCoreFrameBridge.h: Added setWebCoreFrame: method. 41888 Removed bridgeForDOMDocument: and clearFrame methods. 41889 * page/mac/WebCoreFrameBridge.mm: Ditto. 41890 (-[WebCoreFrameBridge close]): Changed to set m_frame to 0 directly. 41891 (-[WebCoreFrameBridge setWebCoreFrame:]): Added. 41892 41893 2008-03-11 Darin Adler <darin (a] apple.com> 41894 41895 - restored some code I removed in the Range change; this code can't go 41896 until the rest of the Range fix is in 41897 41898 * dom/Range.cpp: 41899 (WebCore::Range::commonAncestorContainer): Added back the check for 0 41900 that I removed erroneously in the Range patch. 41901 (WebCore::Range::processContents): Left in assertions I used to debug 41902 this. 41903 41904 2008-03-11 Darin Adler <darin (a] apple.com> 41905 41906 - fix Release build 41907 41908 * platform/mac/ScrollViewMac.mm: 41909 (WebCore::ScrollView::setContentsPos): Don't use NSMakePoint. 41910 41911 2008-03-11 Darin Adler <darin (a] apple.com> 41912 41913 Reviewed by Anders. 41914 41915 - simplify Mac code for ScrollView, since it's used only for FrameView 41916 and not in two different modes like it was historically 41917 - remove code depending on the bridge to get from an NSView to a WebCore::Frame 41918 41919 * bindings/objc/DOMHTML.mm: 41920 (-[DOMHTMLInputElement _rectOnScreen]): getDocumentView -> documentView. 41921 41922 * bridge/jni/jni_jsobject.cpp: 41923 (createRootObject): Instead of using WebCoreViewFactory to find the frame given 41924 and NSView, use the WebCoreFrameView interface to do it. 41925 41926 * editing/mac/EditorMac.mm: 41927 (WebCore::Editor::paste): getDocumentView -> documentView. 41928 * editing/mac/SelectionControllerMac.mm: 41929 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): Ditto. 41930 41931 * page/FrameView.h: Fixed comment. 41932 41933 * page/InspectorController.cpp: 41934 (WebCore::InspectorController::drawNodeHighlight): Removed uneeded typecasts 41935 to ScrollView* since FrameView is derived from ScrollView. 41936 41937 * page/mac/EventHandlerMac.mm: 41938 (WebCore::EventHandler::focusDocumentView): getDocumentView -> documentView. 41939 * page/mac/FrameMac.mm: 41940 (WebCore::Frame::imageFromRect): Ditto. 41941 * page/mac/WebCoreAXObject.mm: 41942 (-[WebCoreAXObject position]): Ditto. 41943 (-[WebCoreAXObject doAXTextMarkerForPosition:]): Ditto. 41944 (-[WebCoreAXObject rendererForView:]): Updated code that used to use 41945 WebCoreBridgeHolder to use WebCoreFrameView instead. 41946 41947 * page/mac/WebCoreFrameBridge.mm: 41948 (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]): 41949 getDocumentView -> documentView. 41950 41951 * page/mac/WebCoreFrameView.h: Removed the WebCoreScrollbarMode type; we just 41952 use WebCore::ScrollbarMode directly. Renamed the WebCoreFrameView protocol to 41953 WebCoreFrameScrollView, since it's a protocol for the scroll view, not the 41954 frame view itself. Replaced WebCoreBridgeHolder protocol with WebCoreFrameView 41955 protocol, which returns a WebCore::Frame directly rather than a bridge. 41956 41957 * page/mac/WebCoreViewFactory.h: Eliminated the bridgeForView method. 41958 41959 * platform/ScrollView.h: Moved the constructor and destructor out of the 41960 class-specific #if blocks. Renamed Mac-specific function that gets the 41961 NSView for from getDocumentView to documentView and a scrollView function 41962 that returns an appropriately classed NSScrollView. 41963 41964 * platform/graphics/MediaPlayer.h: Changed type of parentWidget to FrameView 41965 instead of Widget. 41966 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 41967 (WebCore::MediaPlayerPrivate::createQTMovieView): Removed unnecessary cast. 41968 41969 * platform/mac/PopupMenuMac.mm: 41970 (WebCore::PopupMenu::show): getDocumentView -> documentView. 41971 * platform/mac/ScrollViewMac.mm: 41972 (WebCore::ScrollView::ScrollView): Added. 41973 (WebCore::ScrollView::~ScrollView): Added. 41974 (WebCore::ScrollView::scrollView): Added. 41975 (WebCore::ScrollView::visibleWidth): Removed unused non-NSScrollView case. 41976 (WebCore::ScrollView::visibleHeight): Ditto. 41977 (WebCore::ScrollView::visibleContentRect): Ditto. 41978 (WebCore::ScrollView::visibleContentRectConsideringExternalScrollers): Ditto. 41979 (WebCore::ScrollView::contentsWidth): Ditto. 41980 (WebCore::ScrollView::contentsHeight): Ditto. 41981 (WebCore::ScrollView::contentsX): Ditto. 41982 (WebCore::ScrollView::contentsY): Ditto. 41983 (WebCore::ScrollView::scrollOffset): Ditto. 41984 (WebCore::ScrollView::scrollRectIntoViewRecursively): Ditto. 41985 (WebCore::ScrollView::setContentsPos): Ditto. 41986 (WebCore::ScrollView::setVScrollbarMode): Ditto. 41987 (WebCore::ScrollView::setHScrollbarMode): Ditto. 41988 (WebCore::ScrollView::setScrollbarsMode): Ditto. 41989 (WebCore::ScrollView::vScrollbarMode): Ditto. 41990 (WebCore::ScrollView::hScrollbarMode): Ditto. 41991 (WebCore::ScrollView::suppressScrollbars): Ditto. 41992 (WebCore::ScrollView::addChild): Ditto. 41993 (WebCore::ScrollView::resizeContents): Ditto. 41994 (WebCore::ScrollView::updateContents): Ditto. 41995 (WebCore::ScrollView::contentsToWindow): Ditto. 41996 (WebCore::ScrollView::windowToContents): Ditto. 41997 (WebCore::ScrollView::setStaticBackground): Ditto. 41998 (WebCore::ScrollView::documentView): Renamed and removed unused case. 41999 (WebCore::ScrollView::scrollbarUnderMouse): Removed incorrect comment. 42000 42001 * platform/mac/WidgetMac.mm: 42002 (WebCore::Widget::getOuterView): Update for protocol name change. 42003 42004 * rendering/RenderThemeMac.mm: 42005 (WebCore::RenderThemeMac::paintCheckbox): getDocumentView -> documentView. 42006 (WebCore::RenderThemeMac::paintRadio): Ditto. 42007 (WebCore::RenderThemeMac::paintButton): Ditto. 42008 (WebCore::RenderThemeMac::paintMenuList): Ditto. 42009 (WebCore::RenderThemeMac::paintSliderThumb): Ditto. 42010 (WebCore::RenderThemeMac::paintSearchField): Ditto. 42011 (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Ditto. 42012 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): Ditto. 42013 (WebCore::RenderThemeMac::paintSearchFieldResultsButton): Ditto. 42014 42015 2008-03-11 Brent Fulgham <bfulgham (a] gmail.com> 42016 42017 Reviewed by Adam Roben. 42018 42019 Split CookieJarWin.cpp into CFNet and non-CFNet versions to 42020 reduce the massive amount of conditionalization in the file. 42021 (see http://bugs.webkit.org/show_bug.cgi?id=17788) 42022 42023 * WebCore.vcproj/WebCore.vcproj: 42024 * platform/network/win/CookieJarCFNetWin.cpp: Copied from WebCore/platform/network/win/CookieJarWin.cpp. 42025 (WebCore::setCookies): 42026 (WebCore::cookies): 42027 (WebCore::cookiesEnabled): 42028 * platform/network/win/CookieJarWin.cpp: 42029 (WebCore::setCookies): 42030 (WebCore::cookies): 42031 (WebCore::cookiesEnabled): 42032 42033 2008-03-11 Darin Adler <darin (a] apple.com> 42034 42035 Reviewed by Sam. 42036 42037 - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore 42038 42039 * page/ChromeClient.h: Added new client functions to replace calls up to WebKit 42040 that were formerly handled by the bridge. 42041 42042 * page/Frame.h: Removed unneeded declarations. Moved declarations of script-specific 42043 functions to a ScriptController section. Removed willPopupMenu. 42044 42045 * page/mac/ChromeMac.mm: 42046 (WebCore::Chrome::focusNSView): Changed to call firstResponder and makeFirstResponder 42047 via the client instead of the bridge. 42048 42049 * page/mac/EventHandlerMac.mm: 42050 (WebCore::EventHandler::passMouseDownEventToWidget): Changed to call firstResponder 42051 and makeFirstResponder via the chrome client instead of the bridge. 42052 42053 * page/mac/FrameMac.mm: Removed willPopupMenu. 42054 42055 * page/mac/WebCoreFrameBridge.h: Removed WebCoreFrameBridge protocol and 42056 SubclassResponsibility category. Also removed some unneeded imports. 42057 42058 * platform/mac/PopupMenuMac.mm: 42059 (WebCore::PopupMenu::show): Call willPopUpMenu on chrome client instead of frame. 42060 42061 * platform/mac/WidgetMac.mm: 42062 (WebCore::Widget::setIsSelected): Call functions directly on the view rather than 42063 calling via the bridge. 42064 42065 2008-03-11 Darin Adler <darin (a] apple.com> 42066 42067 Reviewed by Mitz. 42068 42069 - make some Range improvements (preparation for Range support for DOM mutation) 42070 42071 Made constructors private, added create functions. 42072 Made refcount start at 1 rather than starting at 0 and being incremented. 42073 Made Range use two Position objects for the start/end container/offset pairs. 42074 42075 * WebCore.base.exp: Updated. 42076 42077 * dom/Document.cpp: 42078 (WebCore::Document::createRange): Changed to use Range::create. 42079 (WebCore::Document::removeMarkers): Updated for Range::first/pastLastNode name change. 42080 42081 * dom/Position.cpp: 42082 (WebCore::Position::formatForDebugger): Updated for member variable name change. 42083 (WebCore::Position::showTreeForThis): Ditto. 42084 (WebCore::startPosition): Changed to use Range::startPosition. 42085 (WebCore::endPosition): Changed to use Range::endPosition. 42086 42087 * dom/Position.h: Made the data members public and renamed them to container 42088 and offset. But since offset() is already a function, temporarily used posOffset 42089 for the data member. Later we'll get rid of offset(). Made more functions inline. 42090 Removed the constructor that takes a PositionIterator. 42091 42092 * dom/PositionIterator.cpp: 42093 (WebCore::PositionIterator::operator Position): Added. Replaces the constructor 42094 that used to be in Position. 42095 * dom/PositionIterator.h: Added conversion operator to produce a Position. 42096 Removed friend declaration for Position. 42097 42098 * dom/Range.cpp: 42099 (WebCore::Range::Range): Updated constructors for data member changes and made 42100 them use a refcount of 1. 42101 (WebCore::Range::create): Added. 42102 (WebCore::Range::startContainer): Updated to eliminate use of m_detached; detached 42103 is now indicated by m_start.container of 0. Also updated to use m_start instead 42104 of the old m_startContainer. 42105 (WebCore::Range::startOffset): Ditto. 42106 (WebCore::Range::endContainer): Ditto. 42107 (WebCore::Range::endOffset): Ditto. 42108 (WebCore::Range::commonAncestorContainer): Ditto. 42109 (WebCore::Range::collapsed): Ditto. 42110 (WebCore::Range::setStart): Ditto. 42111 (WebCore::Range::setEnd): Ditto. 42112 (WebCore::Range::collapse): Ditto. 42113 (WebCore::Range::isPointInRange): Ditto. 42114 (WebCore::Range::comparePoint): Ditto. 42115 (WebCore::Range::compareNode): Ditto. 42116 (WebCore::Range::compareBoundaryPoints): Ditto. 42117 (WebCore::Range::boundaryPointsValid): Ditto. 42118 (WebCore::Range::deleteContents): Ditto. 42119 (WebCore::Range::intersectsNode): Ditto. 42120 (WebCore::Range::processContents): Ditto. 42121 (WebCore::Range::extractContents): Ditto. 42122 (WebCore::Range::cloneContents): Ditto. 42123 (WebCore::Range::insertNode): Ditto. 42124 (WebCore::Range::toString): Ditto. 42125 (WebCore::Range::text): Ditto. 42126 (WebCore::Range::createContextualFragment): Ditto. 42127 (WebCore::Range::detach): Ditto. 42128 (WebCore::Range::checkNodeBA): Changed to use switch statements instead of 42129 multiple calls to the virtual nodeType() function. 42130 (WebCore::Range::cloneRange): Ditto. 42131 (WebCore::Range::setStartAfter): Ditto. 42132 (WebCore::Range::setEndBefore): Ditto. 42133 (WebCore::Range::setEndAfter): Ditto. 42134 (WebCore::Range::selectNode): Ditto. 42135 (WebCore::Range::selectNodeContents): Ditto. 42136 (WebCore::Range::surroundContents): Ditto. 42137 (WebCore::Range::setStartBefore): Ditto. 42138 (WebCore::Range::checkDeleteExtract): Ditto. 42139 (WebCore::Range::containedByReadOnly): Ditto. 42140 (WebCore::Range::firstNode): Ditto. 42141 (WebCore::Range::editingStartPosition): Ditto. 42142 (WebCore::Range::pastLastNode): Ditto. 42143 (WebCore::Range::addLineBoxRects): Ditto. 42144 (WebCore::Range::formatForDebugger): Ditto. 42145 (WebCore::operator==): Ditto. 42146 (WebCore::rangeOfContents): Ditto. 42147 (WebCore::Range::maxStartOffset): Ditto. 42148 (WebCore::Range::maxEndOffset): Ditto. 42149 42150 * dom/Range.h: Made constructors private. Added create functions. 42151 Added getters for startContainer/Offset and endContainer/Offset that 42152 return 0 instead of an exception for detached ranges that are inline 42153 and don't require an ExceptionCode out parameter. Changed the parameters 42154 to setStart and setEnd to PassRefPtr. Removed isDetached function. 42155 Made ActionType and processContents private. Made startPosition and 42156 endPosition inlines and have then return const&. Renamed startNode and 42157 pastEndNode to firstNode and pastLastNode to reduce the chance of 42158 confusion with startContainer/endContainer. Used Position for m_start 42159 and m_end instead of separate container and offset members. Changed 42160 maxStartOffset and maxEndOffset into int to match other offsets. 42161 42162 * editing/ApplyStyleCommand.cpp: 42163 (WebCore::ApplyStyleCommand::applyBlockStyle): Changed to use Range::create. 42164 (WebCore::ApplyStyleCommand::applyInlineStyle): Ditto. 42165 * editing/CompositeEditCommand.cpp: 42166 (WebCore::CompositeEditCommand::inputText): Ditto. 42167 (WebCore::CompositeEditCommand::moveParagraphs): Ditto. 42168 * editing/DeleteSelectionCommand.cpp: 42169 (WebCore::DeleteSelectionCommand::mergeParagraphs): Ditto. 42170 * editing/Editor.cpp: 42171 (WebCore::Editor::fontForSelection): Changed for pastLastNode name change. 42172 (WebCore::Editor::setComposition): Changed to use Range::create. 42173 (WebCore::paragraphAlignedRangeForRange): Ditto. 42174 (WebCore::markMisspellingsOrBadGrammar): Changed to get rid of check for 42175 isDetached and check for 0 from startContainer instead. 42176 (WebCore::Editor::compositionRange): Changed to use Range::create. 42177 * editing/EditorCommand.cpp: 42178 (WebCore::unionDOMRanges): Ditto. 42179 * editing/Selection.cpp: 42180 (WebCore::Selection::toRange): Ditto. 42181 * editing/TextIterator.cpp: 42182 (WebCore::TextIterator::TextIterator): Changed for firstNode and pastLastNode 42183 name change. 42184 (WebCore::TextIterator::range): Changed to use Range::create. 42185 (WebCore::SimplifiedBackwardsTextIterator::range): Ditto. 42186 (WebCore::TextIterator::subrange): Ditto. 42187 * editing/VisiblePosition.cpp: 42188 (WebCore::makeRange): Ditto. 42189 * editing/VisiblePosition.h: Added now-needed include. 42190 * editing/htmlediting.cpp: 42191 (WebCore::indexForVisiblePosition): Changed to use Range::create. 42192 (WebCore::avoidIntersectionWithNode): Changed to get rid of check for 42193 isDetached and check for 0 instead and to use Range::create. 42194 * editing/markup.cpp: 42195 (WebCore::renderedText): Changed to use Range::create. 42196 (WebCore::createMarkup): Changed to no longer use isDetached and also 42197 for new firstNode/pastEndNode names. 42198 (WebCore::createFragmentFromText): Ditto. 42199 * editing/visible_units.cpp: 42200 (WebCore::previousBoundary): Changed to use Range::create. 42201 * page/mac/WebCoreFrameBridge.mm: 42202 (-[WebCoreFrameBridge convertToNSRange:]): Changed to no longer use 42203 isDetached(). 42204 * rendering/RenderTextControl.cpp: 42205 (WebCore::RenderTextControl::visiblePositionForIndex): Changed to use Range::create. 42206 (WebCore::RenderTextControl::indexForVisiblePosition): Ditto. 42207 42208 2008-03-11 Daniel Zucker <zucker (a] wake3.com> 42209 42210 Reviewed by Adam Roben. 42211 42212 There are a handful of placed where the use of CFNetwork-specific 42213 calls are protected by PLATFORM(CF). Revise to use the more specific 42214 USE(CFNETWORK) macro. (See http://bugs.webkit.org/show_bug.cgi?id=17783) 42215 42216 * platform/network/ProtectionSpace.cpp: Change PLATFORM(CF) to USE(CFNETWORK) 42217 * platform/network/ResourceHandle.cpp: Change PLATFORM(CF) to USE(CFNETWORK) 42218 * platform/network/win/CookieJarWin.cpp: Correct error in 42219 InternetGetCookie call. Conditionalize 'cookiesEnabled' the same 42220 as all other implementations in this file. 42221 42222 2008-03-11 Xan Lopez <xan (a] gnome.org> 42223 42224 Reviewed by Alp Toker. 42225 42226 http://bugs.webkit.org/show_bug.cgi?id=16476 42227 42228 Add libsoup HTTP backend. 42229 42230 * GNUmakefile.am: 42231 * platform/network/ResourceHandleInternal.h: 42232 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 42233 * platform/network/soup/AuthenticationChallenge.h: Added. 42234 (WebCore::AuthenticationChallenge::AuthenticationChallenge): 42235 * platform/network/soup/ResourceError.h: Added. 42236 (WebCore::ResourceError::ResourceError): 42237 * platform/network/soup/ResourceHandleSoup.cpp: Added. 42238 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 42239 (WebCore::ResourceHandle::~ResourceHandle): 42240 (WebCore::dataCallback): 42241 (WebCore::parseDataUrl): 42242 (WebCore::ResourceHandle::start): 42243 (WebCore::ResourceHandle::cancel): 42244 (WebCore::ResourceHandle::bufferedData): 42245 (WebCore::ResourceHandle::supportsBufferedData): 42246 (WebCore::ResourceHandle::setDefersLoading): 42247 (WebCore::ResourceHandle::loadsBlocked): 42248 (WebCore::ResourceHandle::willLoadFromCache): 42249 * platform/network/soup/ResourceRequest.h: Copied from WebCore/platform/network/curl/ResourceRequest.h. 42250 (WebCore::ResourceRequest::ResourceRequest): 42251 (WebCore::ResourceRequest::doUpdatePlatformRequest): 42252 * platform/network/soup/ResourceResponse.h: Added. 42253 (WebCore::ResourceResponse::ResourceResponse): 42254 (WebCore::ResourceResponse::setResponseFired): 42255 (WebCore::ResourceResponse::responseFired): 42256 (WebCore::ResourceResponse::doUpdateResourceResponse): 42257 42258 2008-03-11 Rodney Dawes <dobey (a] wayofthemonkey.com> 42259 42260 Fix Qt build. 42261 42262 * plugins/qt/PluginDataQt.cpp: 42263 (PluginData::initPlugins) 42264 42265 2008-03-11 Adam Roben <aroben (a] apple.com> 42266 42267 Make attribute quoting in DOM view more consistent with source view 42268 42269 Two changes which make the DOM view more consistent with source view: 42270 1) We now quote all attribute values, including URLs 42271 2) The quotes around the values are now purple, matching the left and 42272 right angle brackets that surround the tag 42273 42274 One bug fixed by these changes: 42275 1) The entire URL is selected for editing when you double-click a URL 42276 that is an attribute value. Previously, the first and last 42277 characters were not included in the selection. 42278 42279 Reviewed by Darin. 42280 42281 * page/inspector/DocumentPanel.js: 42282 (WebInspector.DOMNodeTreeElement._startEditingAttribute): Don't need 42283 to account for the quotes around attribute values anymore because the 42284 quotes are now outside the webkit-html-attribute-value span. 42285 * page/inspector/utilities.js: 42286 (nodeTitleInfo): Quote all attribute values, including URLs, and place 42287 the quotes outside the webkit-html-attribute-value span. 42288 42289 2008-03-11 Adam Roben <aroben (a] apple.com> 42290 42291 Stop including pthread.h in WebCore on Windows 42292 42293 Reviewed by Darin. 42294 42295 * WebCore.vcproj/WebCore.vcproj: 42296 - Changed the include path to not contain pthreads/ 42297 - Let VS remove a duplicate FileConfiguration element 42298 - Let VS have its way with the file ordering 42299 * WebCorePrefix.h: Made the #include of pthread.h be compiled out on 42300 Windows. 42301 * loader/FTPDirectoryDocument.cpp: Added a Windows-specific #define of 42302 localtime_r (pthread.h was providing a macro that substituted plain 42303 old localtime before, but localtime_s is "more secure", so I went with 42304 that). 42305 * loader/FTPDirectoryParser.cpp: Ditto for gmtime_r. 42306 42307 2008-03-11 Adam Roben <aroben (a] apple.com> 42308 42309 Roll out r30961 since it broke the default site icon on Windows 42310 42311 * loader/icon/IconDatabase.cpp: 42312 (WebCore::IconDatabase::defaultIcon): 42313 42314 2008-03-11 Dan Bernstein <mitz (a] apple.com> 42315 42316 Reviewed by Darin Adler. 42317 42318 - clean up line layout code 42319 42320 * platform/graphics/GraphicsContext.cpp: 42321 (WebCore::TextRunIterator::increment): Removed the resolver parameter. 42322 (WebCore::GraphicsContext::drawBidiText): Adjusted for changes to 42323 createBidiRunsForLine(), which no longer takes a start parameter. 42324 * platform/text/BidiResolver.h: 42325 (WebCore::BidiResolver::): Made Noncopyable and removed the 42326 m_adjustEmbedding member variable. 42327 (WebCore::BidiResolver::position): Added. Returns the resolver's current 42328 position. 42329 (WebCore::BidiResolver::setPosition): Added. Sets the resolver's current 42330 position without changing any other state. 42331 (WebCore::BidiResolver::increment): Added. Advances the resolver to the 42332 next position, allowing the iterator to push and pop embedding. 42333 (WebCore::BidiResolver::appendRun): Removed the resolver parameter in 42334 the call to increment(). 42335 (WebCore::BidiResolver::embed): Removed code to save, set and restore 42336 m_adjustEmbedding. 42337 (WebCore::BidiResolver::createBidiRunsForLine): Changed to not take a 42338 'start' iterator. Instead, start at the current position. Removed code 42339 to set m_adjustEmbedding. Changed for noncopyability. 42340 * rendering/RenderBlock.h: 42341 * rendering/bidi.cpp: 42342 (WebCore::bidiNext): Made the resolver parameter optional. Changed to 42343 null-check the 'end of inline' pointer only twice. 42344 (WebCore::bidiFirst): Made the resolver parameter optional. 42345 (WebCore::BidiIterator::increment): Ditto. 42346 (WebCore::BidiState::increment): Added. Overrides the default 42347 BidiResolver::increment() method by passing the resolver to 42348 BidiIterator::increment(). 42349 (WebCore::checkMidpoints): Removed the resolver parameter. 42350 (WebCore::BidiState::appendRun): Removed code to save, set and restore 42351 m_adjustEmbedding. Adjusted for change to increment(). 42352 (WebCore::RenderBlock::bidiReorderLine): Removed the 'start' parameter 42353 and unreachable code. 42354 (WebCore::buildCompactRuns): Adjusted for changes to BidiResolver/ 42355 (WebCore::RenderBlock::layoutInlineChildren): Moved code to initialize 42356 the resolver from this method to determineStartPosition(). Unified the 42357 resolver with the 'start' iterator. Removed unreachable code. Moved one 42358 statement from the beginning of the while loop to the end. 42359 (WebCore::RenderBlock::determineStartPosition): Moved code to initialize 42360 the resolver from layoutInlineChildren() into this method. 42361 (WebCore::RenderBlock::matchedEndLine): Adjusted for the resolver and 42362 the 'start' iterator being one object. 42363 (WebCore::skipNonBreakingSpace): Made the parameter const. 42364 (WebCore::requiresLineBox): Ditto. 42365 (WebCore::RenderBlock::generatesLineBoxesForInlineChild): Adjusted for 42366 the change to BidiIterator::increment(). 42367 (WebCore::RenderBlock::skipWhitespace): Made two versions of this 42368 method, one for BidiIterator and one for BidiState. 42369 (WebCore::shouldSkipWhitespaceAfterStartObject): Removed the resolver 42370 parameter. 42371 (WebCore::RenderBlock::findNextLineBreak): Removed the resolver 42372 parameter. Removed calls to setAdjustEmbedding(). Removed the 'previous' 42373 variable and changed the 'last' variable to do its job. 42374 * rendering/bidi.h: 42375 42376 2008-03-10 Adam Roben <aroben (a] apple.com> 42377 42378 Part of Bug 17224: DOM nodes/attributes should be editable 42379 42380 <http://bugs.webkit.org/show_bug.cgi?id=17224> 42381 <rdar://problem/5732825> 42382 42383 This patch makes text nodes editable via double-click. 42384 42385 Reviewed by Tim. 42386 42387 * page/inspector/DocumentPanel.js: 42388 (WebInspector.DOMNodeTreeElement._startEditing): 42389 - Moved most of this code to _startEditingAttribute 42390 - Calls _startEditingTextNode or _startEditingAttribute as 42391 appropriate 42392 (WebInspector.DOMNodeTreeElement._startEditingAttribute): Added. Code 42393 came from _startEditing. 42394 (WebInspector.DOMNodeTreeElement._startEditingTextNode): Added. 42395 (WebInspector.DOMNodeTreeElement._textNodeEditingCommitted): Added. 42396 (WebInspector.DOMNodeTreeElement._editingCancelled): Renamed from 42397 _attributeEditingCancelled. 42398 * page/inspector/utilities.js: 42399 (nodeTitleInfo): Wrap text nodes in a webkit-html-text-node span so 42400 that we can easily recognize/edit them. 42401 42402 2008-03-11 Holger Hans Peter Freyther <zecke (a] selfish.org> 42403 42404 Reviewed by Darin. 42405 42406 r25512 inlined the urlIcon to improve the startup time of Safari on Mac. Inlining is 42407 not suitable for platforms where this icon is themable. E.g. the Qt platform is allowing 42408 to theme this icon and the Gtk+ platform will probably end up with themable icons 42409 as well. 42410 42411 Remove dead code from the windows port and move the urlIcon from the windows 42412 directory to the Resource directory to be used by Qt and other ports. 42413 42414 Ifdef the usage of the built-in icon in IconDatabase.cpp and for Qt do not use 42415 it. Gtk+ currently has no proper implementation of Image::loadPlatformResource but 42416 once it does it wants to use this for getting the urlIcon as well. 42417 42418 * Resources/urlIcon.png: Renamed from WebKit/win/WebKit.vcproj/urlIcon.png. 42419 * loader/icon/IconDatabase.cpp: 42420 (WebCore::IconDatabase::defaultIcon): 42421 42422 2008-03-11 Tor Arne Vestb <tavestbo (a] trolltech.com> 42423 42424 Reviewed by Darin. 42425 42426 Implemented HTML media element support for QtWebKit, using Phonon. 42427 42428 http://bugs.webkit.org/show_bug.cgi?id=17766 42429 42430 * WebCore.pro: 42431 * platform/graphics/MediaPlayer.cpp: 42432 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Added. 42433 (debugMediaObject): 42434 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 42435 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 42436 (WebCore::MediaPlayerPrivate::getSupportedTypes): 42437 (WebCore::MediaPlayerPrivate::hasVideo): 42438 (WebCore::MediaPlayerPrivate::load): 42439 (WebCore::MediaPlayerPrivate::cancelLoad): 42440 (WebCore::MediaPlayerPrivate::play): 42441 (WebCore::MediaPlayerPrivate::pause): 42442 (WebCore::MediaPlayerPrivate::paused): 42443 (WebCore::MediaPlayerPrivate::seek): 42444 (WebCore::MediaPlayerPrivate::seeking): 42445 (WebCore::MediaPlayerPrivate::duration): 42446 (WebCore::MediaPlayerPrivate::currentTime): 42447 (WebCore::MediaPlayerPrivate::setEndTime): 42448 (WebCore::MediaPlayerPrivate::maxTimeBuffered): 42449 (WebCore::MediaPlayerPrivate::maxTimeSeekable): 42450 (WebCore::MediaPlayerPrivate::bytesLoaded): 42451 (WebCore::MediaPlayerPrivate::totalBytesKnown): 42452 (WebCore::MediaPlayerPrivate::totalBytes): 42453 (WebCore::MediaPlayerPrivate::setRate): 42454 (WebCore::MediaPlayerPrivate::setVolume): 42455 (WebCore::MediaPlayerPrivate::setMuted): 42456 (WebCore::MediaPlayerPrivate::dataRate): 42457 (WebCore::MediaPlayerPrivate::networkState): 42458 (WebCore::MediaPlayerPrivate::readyState): 42459 (WebCore::MediaPlayerPrivate::updateStates): 42460 (WebCore::MediaPlayerPrivate::setVisible): 42461 (WebCore::MediaPlayerPrivate::setRect): 42462 (WebCore::MediaPlayerPrivate::loadStateChanged): 42463 (WebCore::MediaPlayerPrivate::rateChanged): 42464 (WebCore::MediaPlayerPrivate::sizeChanged): 42465 (WebCore::MediaPlayerPrivate::timeChanged): 42466 (WebCore::MediaPlayerPrivate::volumeChanged): 42467 (WebCore::MediaPlayerPrivate::didEnd): 42468 (WebCore::MediaPlayerPrivate::loadingFailed): 42469 (WebCore::MediaPlayerPrivate::naturalSize): 42470 (WebCore::MediaPlayerPrivate::eventFilter): 42471 (WebCore::MediaPlayerPrivate::repaint): 42472 (WebCore::MediaPlayerPrivate::paint): 42473 (WebCore::MediaPlayerPrivate::stateChanged): 42474 (WebCore::MediaPlayerPrivate::tick): 42475 (WebCore::MediaPlayerPrivate::metaDataChanged): 42476 (WebCore::MediaPlayerPrivate::seekableChanged): 42477 (WebCore::MediaPlayerPrivate::hasVideoChanged): 42478 (WebCore::MediaPlayerPrivate::bufferStatus): 42479 (WebCore::MediaPlayerPrivate::finished): 42480 (WebCore::MediaPlayerPrivate::currentSourceChanged): 42481 (WebCore::MediaPlayerPrivate::aboutToFinish): 42482 (WebCore::MediaPlayerPrivate::prefinishMarkReached): 42483 (WebCore::MediaPlayerPrivate::totalTimeChanged): 42484 * platform/graphics/qt/MediaPlayerPrivatePhonon.h: Added. 42485 (WebCore::MediaPlayerPrivate::): 42486 (WebCore::MediaPlayerPrivate::isAvailable): 42487 42488 2008-03-10 Sam Weinig <sam (a] webkit.org> 42489 42490 Reviewed by Beth Dakin. 42491 42492 Throw a SECURITY_ERR when accessing a tainted canvas 42493 by CanvasRenderingContext2D::getImageData() and 42494 HTMLCanvasElement::toDataURL(). 42495 42496 * html/CanvasRenderingContext2D.cpp: 42497 (WebCore::CanvasRenderingContext2D::getImageData): 42498 * html/CanvasRenderingContext2D.h: 42499 * html/CanvasRenderingContext2D.idl: 42500 * html/HTMLCanvasElement.cpp: 42501 (WebCore::HTMLCanvasElement::toDataURL): 42502 * html/HTMLCanvasElement.h: 42503 * html/HTMLCanvasElement.idl: 42504 42505 2008-03-10 Justin Garcia <justin.garcia (a] apple.com> 42506 42507 Reviewed by Sam. 42508 42509 <rdar://problem/5779984> REGRESSION (r30391): GMail: Safari won't display the Edit Link dialog 42510 42511 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 42512 (WebCore::hasCSSPropertyNamePrefix): Fixed a typo. The code was only 42513 comparing the first character of the prefix to the first character 42514 of the property name. 42515 42516 2008-03-10 Andre Boule <aboule (a] apple.com> 42517 42518 Reviewed by Beth. 42519 42520 Hold off on initializing the frame to avoid the RenderView getting 42521 a null FrameView. This could potentially cause problems. 42522 42523 * svg/graphics/SVGImage.cpp: 42524 (WebCore::SVGImage::dataChanged): 42525 42526 2008-03-10 Darin Adler <darin (a] apple.com> 42527 42528 - try to fix Qt build 42529 42530 * bridge/qt/qt_runtime.cpp: 42531 (KJS::Bindings::convertQVariantToValue): Change KJS::UChar to UChar. 42532 42533 2008-03-10 Darin Adler <darin (a] apple.com> 42534 42535 Reviewed by Antti. 42536 42537 - fix <rdar://problem/3059610> VIP: links opened in new frame, window, or tab 42538 should be redrawn as visited immediately 42539 - fix <rdar://problem/4382809> Going "back" a page doesn't change the color of 42540 the visited URL at directory.umi 42541 - fix http://bugs.webkit.org/show_bug.cgi?id=4941 42542 Visited links should be marked as visited 42543 - fix http://bugs.webkit.org/show_bug.cgi?id=7960 42544 REGRESSION: Visited link color doesn't displayed after loading page from cache 42545 42546 We now mark all links on a page as "changed" at the appropriate times. 42547 42548 * WebCore.base.exp: Update since I made completeURL be a const member function. 42549 42550 * css/CSSStyleSelector.cpp: Got rid of some unneeded globals that could be turned 42551 into locals. Also changed some static data members to file-scoped globals with 42552 internal linkage. Renamed the globals to get rid of the m_ prefix. Changed the 42553 prefix on m_styleNotYetAvailable to s_styleNotYetAvailable. 42554 (WebCore::CSSStyleSelector::CSSStyleSelector): Updated for name changes. 42555 (WebCore::parseUASheet): Tweak the comment. 42556 (WebCore::CSSStyleSelector::loadDefaultStyle): Updated for name changes and to 42557 use local variables instead of globals where possible. 42558 (WebCore::CSSStyleSelector::checkPseudoState): Made this a member function so 42559 it can store the link in a hash. Also changed it to have a return value instead 42560 of having it modify a global variable. Added code to put the hash into a set so 42561 we can tell later if this is one of the links that affects this page. 42562 (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for the change to 42563 checkPseudoState. 42564 (WebCore::CSSStyleSelector::matchUARules): Updated for name changes. 42565 (WebCore::CSSStyleSelector::styleForElement): Ditto. 42566 (WebCore::CSSStyleSelector::adjustRenderStyle): Ditto. 42567 (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Changed code to read 42568 the SVG style sheet to use a boolean global and put it right here in the function 42569 since this is the only code that needs to know about it. 42570 (WebCore::CSSStyleSelector::checkOneSelector): Updated for name changes. 42571 (WebCore::colorForCSSValue): Moved code inside the function that is not needed 42572 anywhere else. 42573 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Updaed for the change 42574 to checkPseudoState. 42575 (WebCore::CSSStyleSelector::allVisitedStateChanged): Added. Calls setChanged on 42576 all links if there were any in the set. 42577 (WebCore::CSSStyleSelector::visitedStateChanged): Added. Calls setChanged on all 42578 links if the one that changed is in the set. 42579 42580 * css/CSSStyleSelector.h: Removed unused StyleSelector class and State enum. Made 42581 CSSStyleSelector derive from Noncopyable. Made lots of member functions private that 42582 didn't need to be public, and removed others that could be made into non-member 42583 functions. Changed pseudoStyleRulesForElement to take a const String& instead of 42584 a StringImpl*. Added new allVisitedStateChanged and visitedStateChanged functions. 42585 Got rid of unneeded friend declarations. 42586 42587 * dom/Document.cpp: 42588 (WebCore::Document::completeURL): Made const. 42589 (WebCore::findSlashDotDotSlash): Moved here from PageGroup. 42590 (WebCore::findSlashSlash): Ditto. 42591 (WebCore::findSlashDotSlash): Ditto. 42592 (WebCore::containsColonSlashSlash): 42593 (WebCore::cleanPath): Ditto. 42594 (WebCore::matchLetter): Ditto. 42595 (WebCore::needsTrailingSlash): Ditto. 42596 (WebCore::Document::visitedLinkHash): Moved this here from PageGroup. This is 42597 the poor-man's completeURL function. The idea of putting it here is that this 42598 way it can be alongside the real completeURL function. Later we should figure out 42599 a way to make this function share more code with the real thing and match behavior. 42600 42601 * dom/Document.h: Marked completeURL function const. Added visitedLinkHash function. 42602 42603 * page/DOMWindow.cpp: 42604 (WebCore::DOMWindow::getMatchedCSSRules): Updated for change to CSSStyleSelector. 42605 42606 * page/Page.cpp: 42607 (WebCore::Page::allVisitedStateChanged): Added. Calls allVisitedStateChanged on all 42608 style selectors. 42609 (WebCore::Page::visitedStateChanged): Ditto. 42610 * page/Page.h: Added the above functions. 42611 42612 * page/PageGroup.cpp: 42613 (WebCore::PageGroup::isLinkVisited): Changed to take a visitedLinkHash parameter. 42614 The CSSStyleSelector now handles actually computing the hash, and it does so by 42615 calling code in Document. 42616 (WebCore::PageGroup::addVisitedLink): Refactored so the two overloaded copies share 42617 a bit more code. Added code that calls visitedStateChanged if a new link was added. 42618 (WebCore::PageGroup::removeVisitedLinks): Added code to call allVisitedStateChanged 42619 if any visited links are removed. 42620 * page/PageGroup.h: Include StringHash.h instead of having the AlreadyHashed struct 42621 definition here. 42622 42623 * platform/text/StringHash.h: 42624 (WebCore::CaseFoldingHash::hash): Tweaked to make this a bit more consistent with 42625 the StringImpl::computeHash function, using the same technique for avoiding 0. 42626 (WebCore::AlreadyHashed::hash): Added. Was formerly in PageGroup.h. 42627 (WebCore::AlreadyHashed::avoidDeletedValue): Added. Was formerly in PageGroup.cpp. 42628 42629 * rendering/RenderStyle.cpp: 42630 (WebCore::RenderStyle::isStyleAvailable): Changed to use an inline function instead 42631 of getting directly at a data member so the data member could be made private. 42632 42633 * loader/FrameLoader.cpp: 42634 (WebCore::FrameLoader::scrollToAnchor): Added call to updateHistoryForAnchorScroll. 42635 (WebCore::FrameLoader::updateHistoryForAnchorScroll): Added. 42636 * loader/FrameLoader.h: Added updateHistoryForAnchorScroll. 42637 42638 2008-03-10 Adam Roben <aroben (a] apple.com> 42639 42640 Part of Bug 17224: DOM nodes/attributes should be editable 42641 42642 <http://bugs.webkit.org/show_bug.cgi?id=17224> 42643 <rdar://problem/5732825> 42644 42645 This patch makes DOM attributes editable via double-click. 42646 42647 Reviewed by Tim. 42648 42649 * page/inspector/DocumentPanel.js: 42650 (WebInspector.DOMNodeTreeElement.onmousedown): Don't do anything if 42651 we're being edited, since we want default editing behaviors to work. 42652 (WebInspector.DOMNodeTreeElement.ondblclick): Try to start editing 42653 before doing anything else. 42654 (WebInspector.DOMNodeTreeElement._startEditing): Added. Currently only 42655 lets you edit attributes. 42656 (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Added. 42657 Uses a scratch element to get the new attribute(s) parsed, then sets 42658 the attribute(s) on the node in the inspected document. 42659 (WebInspector.DOMNodeTreeElement._attributeEditingCancelled): Added. 42660 (WebInspector.DOMNodeTreeElement._updateTitle): Added. Refreshes the 42661 representation of the node in the Inspector's DOM tree to reflect 42662 the node's current state. 42663 * page/inspector/inspector.css: Made the .editing class apply 42664 everywhere. 42665 * page/inspector/utilities.js: 42666 (nodeTitleInfo): Changed to surround attribute name/value pairs in a 42667 webkit-html-attribute span so that we can easily edit the pair as a 42668 whole. 42669 42670 2008-03-10 David Kilzer <ddkilzer (a] apple.com> 42671 42672 Fix 64-bit builds. 42673 42674 Reviewed by Stephanie. 42675 42676 WebCore.exp only gets generated once for both 32-bit and 64-bit builds, 42677 so we must exclude the _NPN symbols when creating WebCore.LP64.exp. 42678 42679 * WebCore.xcodeproj/project.pbxproj: Reverted build phase shell code to 42680 r30826 to remove _NPN symbols from 64-bit builds in WebCore.LP64.exp. 42681 42682 2008-03-10 Eric Seidel <eric (a] webkit.org> 42683 42684 Reviewed by Darin. 42685 42686 Remove KJS::UChar, use ::UChar instead 42687 http://bugs.webkit.org/show_bug.cgi?id=17017 42688 42689 To functional changes, thus no tests. 42690 42691 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 42692 (WebCore::hasCSSPropertyNamePrefix): 42693 (WebCore::cssPropertyName): 42694 * bindings/js/JSDOMWindowBase.cpp: 42695 (WebCore::windowProtoFuncAToB): 42696 (WebCore::windowProtoFuncBToA): 42697 * bindings/js/JSSVGPODTypeWrapper.h: 42698 * bindings/js/kjs_proxy.cpp: 42699 (WebCore::KJSProxy::evaluate): 42700 * bridge/objc/objc_utility.mm: 42701 (KJS::Bindings::throwError): 42702 * dom/Document.cpp: 42703 (WebCore::Document::parseQualifiedName): 42704 * platform/text/AtomicString.cpp: 42705 (WebCore::AtomicString::add): 42706 * platform/text/String.cpp: 42707 (WebCore::String::String): 42708 (WebCore::String::operator Identifier): 42709 (WebCore::String::operator UString): 42710 * platform/text/TextCodecICU.cpp: 42711 (WebCore::TextCodecICU::decode): 42712 * svg/SVGAnimatedTemplate.h: 42713 42714 2008-03-10 Darin Adler <darin (a] apple.com> 42715 42716 Reviewed by Sam. 42717 42718 - eliminate keyboard UI mode method from WebCoreFrameBridge 42719 42720 * page/ChromeClient.h: Added keyboardUIMode function. 42721 (WebCore::ChromeClient::keyboardUIMode): Ditto. 42722 * page/mac/EventHandlerMac.mm: 42723 (WebCore::EventHandler::tabsToAllControls): Call chrome client function instead 42724 of bridge function. 42725 * page/mac/WebCoreFrameBridge.h: Removed keyboardUIMode method, and other unused 42726 ones. 42727 42728 * WebCore.xcodeproj/project.pbxproj: Allowed Xcode to change the project. 42729 Do not try to fight the Xcode. 42730 42731 2008-03-10 Darin Adler <darin (a] apple.com> 42732 42733 - oops, forgot to save last couple changes from the editor 42734 42735 * bindings/js/JSDOMWindowCustom.cpp: 42736 (WebCore::markDOMObjectWrapper): Tweaked a tiny bit. 42737 (WebCore::JSDOMWindow::mark): Sorted alphabetically. 42738 42739 2008-03-10 Darin Adler <darin (a] apple.com> 42740 42741 Reviewed by Geoff. 42742 42743 - fix failing regression test (window.navigator is getting garbage 42744 collected and thus losing its custom properties) 42745 42746 * bindings/js/JSDOMWindowCustom.cpp: 42747 (WebCore::markDOMObject): Added helper function. 42748 (WebCore::JSDOMWindow::mark): Added. Marks the wrappers for all the objects that hang 42749 off the window object. 42750 42751 * page/DOMWindow.h: 42752 (WebCore::DOMWindow::optionalScreen): Added so we can get the Screen object without 42753 creating it if it's already there. 42754 (WebCore::DOMWindow::optionalSelection): Ditto. 42755 (WebCore::DOMWindow::optionalHistory): Ditto. 42756 (WebCore::DOMWindow::optionalLocationbar): Ditto. 42757 (WebCore::DOMWindow::optionalMenubar): Ditto. 42758 (WebCore::DOMWindow::optionalPersonalbar): Ditto. 42759 (WebCore::DOMWindow::optionalScrollbars): Ditto. 42760 (WebCore::DOMWindow::optionalStatusbar): Ditto. 42761 (WebCore::DOMWindow::optionalToolbar): Ditto. 42762 (WebCore::DOMWindow::optionalConsole): Ditto. 42763 (WebCore::DOMWindow::optionalNavigator): Ditto. 42764 42765 * page/DOMWindow.idl: Added the CustomMarkFunction flag. Sorted the flags in 42766 alphabetical order since there are a lot of them. 42767 42768 2008-03-10 Darin Adler <darin (a] apple.com> 42769 42770 Reviewed by Sam. 42771 42772 - eliminate Java applet methods from WebCoreFrameBridge 42773 42774 * loader/FrameLoaderClient.h: Added a javaApplet function. 42775 * page/mac/FrameMac.mm: 42776 (WebCore::Frame::createScriptInstanceForWidget): Streamlined the code. 42777 Use the loader client instead of the bridge to get the applet. 42778 * page/mac/WebCoreFrameBridge.h: Removed the getAppletInView and 42779 pollForAppletInView methods. Also removed other unused things. 42780 42781 2008-03-10 Marc-Antoine Ruel <maruel (a] gmail.com> 42782 42783 Reviewed by Eric, landed by Darin. 42784 42785 http://bugs.webkit.org/show_bug.cgi?id=16095 42786 Move GraphicsContextPrivate to its own header file. 42787 42788 Moves GraphicsContextState and GraphicsContextPrivate to its 42789 own header 42790 42791 * WebCore.vcproj/WebCore.vcproj: 42792 * platform/graphics/GraphicsContext.cpp: 42793 * platform/graphics/GraphicsContextPrivate.h: Added. 42794 (WebCore::GraphicsContextState::GraphicsContextState): 42795 (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): 42796 42797 2008-03-10 Julien Chaffraix <julien.chaffraix (a] gmail.com> 42798 42799 Reviewed and landed by Darin. 42800 42801 bug 12182 : XMLHttpRequest should raise SECURITY_ERR for same-origin policy violations 42802 42803 Removed reference to PERMISSION_DENIED (previous non standard exception) and replaced it 42804 by DOM exception SECURITY_ERR. Updated XMLHttpRequest::open to raise SECURITY_ERR. 42805 42806 * bindings/js/kjs_binding.cpp: 42807 (WebCore::setDOMException): Removed PERMISSION_DENIED code. 42808 * dom/ExceptionCode.cpp: Added SECURITY_ERR exception. 42809 * dom/ExceptionCode.h: Ditto. 42810 * xml/XMLHttpRequest.cpp: 42811 (WebCore::XMLHttpRequest::open): Returns SECURITY_ERR now. 42812 * xml/XMLHttpRequestException.h: Removed PERMISSION_DENIED. 42813 42814 2008-03-09 Adam Roben <aroben (a] apple.com> 42815 42816 Refactor CSS editing code so we can share it with DOM editing 42817 42818 Add WebInspector.startEditing, which takes the element to be edited, a 42819 committedCallback, a cancelledCallback, and a context parameter. This 42820 function takes care of setting up the element for editing, and calls 42821 either the cancelledCallback or committedCallback when editing ends. 42822 42823 Reviewed by Tim. 42824 42825 * page/inspector/StylesSidebarPane.js: 42826 (WebInspector.StylePropertyTreeElement.startEditing): 42827 - Call WebInspector.isBeingEdited and WebInspector.startEditing 42828 - Removed code now handled by WebInspector.startEditing 42829 (WebInspector.StylePropertyTreeElement.editingEnded): 42830 - Renamed from endEditing 42831 - Removed code now handled by WebInspector.startEditing 42832 (WebInspector.StylePropertyTreeElement.editingCancelled): 42833 - Renamed from cancelEditing 42834 - Changed parameters to match WebInspector.startEditing's 42835 cancelledCallback 42836 (WebInspector.StylePropertyTreeElement.editingCommitted): 42837 - Renamed from commitEditing 42838 - Changed parameters to match WebInspector.startEditing's 42839 committedCallback 42840 * page/inspector/inspector.js: 42841 (WebInspector.changeFocus): Changed a call to firstParentWithClassName 42842 to firstParentOrSelfWithClassName so that if the focusable element 42843 itself is the target it will be recognized. I don't know why this 42844 change wasn't needed before this. 42845 (WebInspector.isBeingEdited): Added. 42846 (WebInspector.startEditing): Added. 42847 42848 2008-03-10 Adam Roben <aroben (a] apple.com> 42849 42850 Windows build fix 42851 42852 * WebCore.vcproj/WebCore.vcproj: Pick up generated source files out of 42853 $(WebKitOutputDir) instead of hard-coding WebKitBuild. 42854 42855 2008-03-10 Darin Adler <darin (a] apple.com> 42856 42857 * DerivedSources.make: Merge plug-in-related changes with the new way of handling 42858 autogenerated DOM classes. 42859 42860 2008-03-10 Johnny Ding <johnnyding.webkit (a] gmail.com> 42861 42862 Reviewed, tweaked and landed by Alexey. 42863 42864 - fix http://bugs.webkit.org/show_bug.cgi?id=17732 42865 42866 We didn't have a fallback to frame encoding in the case of loading a script via 42867 changing its src attribute. 42868 42869 Test: fast/dom/HTMLScriptElement/script-decoding-error-after-setting-src.html 42870 42871 * html/HTMLScriptElement.cpp: 42872 (WebCore::HTMLScriptElement::parseMappedAttribute): Use a helper function to get proper 42873 charset for correct decoding of script content. 42874 (WebCore::HTMLScriptElement::insertedIntoDocument): 42875 (WebCore::HTMLScriptElement::scriptCharset): A helper function for getting proper charset 42876 for the script (as much as can be determined prior to loading it). 42877 * html/HTMLScriptElement.h: 42878 * html/HTMLTokenizer.cpp: 42879 (WebCore::HTMLTokenizer::parseTag): Use a helper function to get proper charset for correct 42880 decoding of script content. 42881 42882 2008-03-10 Simon Hausmann <hausmann (a] webkit.org> 42883 42884 Reviewed by Lars. 42885 42886 Fix reference counting of returned MimeType and Plugin objects 42887 created in the array wrappers. 42888 42889 * plugins/MimeTypeArray.cpp: 42890 * plugins/MimeTypeArray.h: 42891 * plugins/Plugin.cpp: 42892 * plugins/Plugin.h: 42893 * plugins/PluginArray.cpp: 42894 * plugins/PluginArray.h: 42895 42896 2008-03-10 Simon Hausmann <hausmann (a] webkit.org> 42897 42898 Wx linking fix. 42899 42900 Added missing stubs for PluginData. 42901 42902 * platform/wx/TemporaryLinkStubs.cpp: 42903 42904 2008-03-10 Simon Hausmann <hausmann (a] webkit.org> 42905 42906 Windows build fix that I forgot to merge earlier ;( 42907 42908 Forward declare Page as class, not struct. 42909 42910 * plugins/PluginData.h: 42911 42912 2008-03-10 Simon Hausmann <hausmann (a] webkit.org> 42913 42914 Attempt to fix the Wx build. 42915 42916 * WebCoreSources.bkl: 42917 42918 2008-03-07 Simon Hausmann <hausmann (a] webkit.org> 42919 42920 Reviewed by Darin. 42921 42922 Done with Lars. 42923 42924 http://bugs.webkit.org/show_bug.cgi?id=16815 42925 42926 Ported the manually written JS bindings of window.navigator, 42927 window.navigator.plugins and window.navigator.mimeTypes to 42928 auto-generated bindings. 42929 42930 Moved the globally cached plugin and mimetype information to a 42931 per WebCore::Page shared PluginData structure. 42932 42933 Implemented window.navigator.plugins.refresh() in a 42934 platform-independent way. 42935 42936 * DerivedSources.make: 42937 * GNUmakefile.am: 42938 * WebCore.pro: 42939 * WebCore.vcproj/WebCore.vcproj: 42940 * WebCore.xcodeproj/project.pbxproj: 42941 * bindings/js/JSDOMWindowBase.cpp: 42942 (WebCore::JSDOMWindowBase::getValueProperty): 42943 * bindings/js/JSMimeTypeArrayCustom.cpp: Added. 42944 (WebCore::JSMimeTypeArray::canGetItemsForName): 42945 (WebCore::JSMimeTypeArray::nameGetter): 42946 * bindings/js/JSNavigatorCustom.cpp: Added. 42947 (WebCore::needsYouTubeQuirk): 42948 (WebCore::JSNavigator::appVersion): 42949 * bindings/js/JSPluginArrayCustom.cpp: Added. 42950 (WebCore::JSPluginArray::canGetItemsForName): 42951 (WebCore::JSPluginArray::nameGetter): 42952 * bindings/js/JSPluginCustom.cpp: Added. 42953 (WebCore::JSPlugin::canGetItemsForName): 42954 (WebCore::JSPlugin::nameGetter): 42955 * bindings/js/kjs_navigator.cpp: Removed. 42956 * bindings/js/kjs_navigator.h: Removed. 42957 * dom/Clipboard.cpp: 42958 * dom/DOMImplementation.cpp: 42959 (WebCore::DOMImplementation::createDocument): 42960 * loader/FrameLoader.cpp: 42961 (WebCore::FrameLoader::shouldUsePlugin): 42962 * page/DOMWindow.cpp: 42963 (WebCore::DOMWindow::clear): 42964 (WebCore::DOMWindow::navigator): 42965 * page/DOMWindow.h: 42966 * page/DOMWindow.idl: 42967 * page/DragController.cpp: 42968 * page/Frame.cpp: 42969 * page/Frame.h: 42970 * page/Navigator.cpp: Added. 42971 (WebCore::Navigator::Navigator): 42972 (WebCore::Navigator::~Navigator): 42973 (WebCore::Navigator::disconnectFrame): 42974 (WebCore::Navigator::appCodeName): 42975 (WebCore::Navigator::appName): 42976 (WebCore::Navigator::appVersion): 42977 (WebCore::Navigator::language): 42978 (WebCore::Navigator::userAgent): 42979 (WebCore::Navigator::platform): 42980 (WebCore::Navigator::plugins): 42981 (WebCore::Navigator::mimeTypes): 42982 (WebCore::Navigator::product): 42983 (WebCore::Navigator::productSub): 42984 (WebCore::Navigator::vendor): 42985 (WebCore::Navigator::vendorSub): 42986 (WebCore::Navigator::cookieEnabled): 42987 (WebCore::Navigator::javaEnabled): 42988 * page/Navigator.h: Added. 42989 (WebCore::Navigator::create): 42990 (WebCore::Navigator::frame): 42991 * page/Navigator.idl: Added. 42992 * page/Page.cpp: 42993 (WebCore::Page::refreshPlugins): 42994 (WebCore::Page::pluginData): 42995 * page/Page.h: 42996 * page/Plugin.h: Removed. 42997 * page/mac/FrameMac.mm: 42998 * page/mac/WebCoreFrameBridge.mm: 42999 (-[WebCoreFrameBridge canProvideDocumentSource]): 43000 * page/mac/WebCoreViewFactory.h: 43001 * page/qt/FrameQt.cpp: 43002 * page/win/FrameWin.cpp: 43003 * platform/gtk/TemporaryLinkStubs.cpp: 43004 * platform/mac/PlugInInfoStoreMac.mm: Removed. 43005 * platform/qt/MIMETypeRegistryQt.cpp: 43006 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 43007 * plugins/MimeType.cpp: Added. 43008 (WebCore::MimeType::MimeType): 43009 (WebCore::MimeType::~MimeType): 43010 (WebCore::MimeType::type): 43011 (WebCore::MimeType::suffixes): 43012 (WebCore::MimeType::description): 43013 (WebCore::MimeType::enabledPlugin): 43014 * plugins/MimeType.h: Added. 43015 (WebCore::MimeType::create): 43016 * plugins/MimeType.idl: Added. 43017 * plugins/MimeTypeArray.cpp: Added. 43018 (WebCore::MimeTypeArray::MimeTypeArray): 43019 (WebCore::MimeTypeArray::~MimeTypeArray): 43020 (WebCore::MimeTypeArray::length): 43021 (WebCore::MimeTypeArray::item): 43022 (WebCore::MimeTypeArray::canGetItemsForName): 43023 (WebCore::MimeTypeArray::nameGetter): 43024 (WebCore::MimeTypeArray::getPluginData): 43025 * plugins/MimeTypeArray.h: Added. 43026 (WebCore::MimeTypeArray::create): 43027 (WebCore::MimeTypeArray::disconnectFrame): 43028 * plugins/MimeTypeArray.idl: Added. 43029 * plugins/Plugin.cpp: Added. 43030 (WebCore::Plugin::Plugin): 43031 (WebCore::Plugin::~Plugin): 43032 (WebCore::Plugin::name): 43033 (WebCore::Plugin::filename): 43034 (WebCore::Plugin::description): 43035 (WebCore::Plugin::length): 43036 (WebCore::Plugin::item): 43037 (WebCore::Plugin::canGetItemsForName): 43038 (WebCore::Plugin::nameGetter): 43039 * plugins/Plugin.h: Added. 43040 (WebCore::Plugin::create): 43041 * plugins/Plugin.idl: Added. 43042 * plugins/PluginArray.cpp: Added. 43043 (WebCore::PluginArray::PluginArray): 43044 (WebCore::PluginArray::~PluginArray): 43045 (WebCore::PluginArray::length): 43046 (WebCore::PluginArray::item): 43047 (WebCore::PluginArray::canGetItemsForName): 43048 (WebCore::PluginArray::nameGetter): 43049 (WebCore::PluginArray::refresh): 43050 (WebCore::PluginArray::getPluginData): 43051 * plugins/PluginArray.h: Added. 43052 (WebCore::PluginArray::create): 43053 (WebCore::PluginArray::disconnectFrame): 43054 * plugins/PluginArray.idl: Added. 43055 * plugins/PluginData.cpp: Added. 43056 (WebCore::PluginData::PluginData): 43057 (WebCore::PluginData::~PluginData): 43058 (WebCore::PluginData::supportsMimeType): 43059 (WebCore::PluginData::pluginNameForMimeType): 43060 * plugins/PluginData.h: Added. 43061 (WebCore::PluginData::create): 43062 (WebCore::PluginData::disconnectPage): 43063 (WebCore::PluginData::page): 43064 (WebCore::PluginData::plugins): 43065 (WebCore::PluginData::mimes): 43066 * plugins/mac/PluginDataMac.mm: Added. 43067 (WebCore::PluginData::initPlugins): 43068 (WebCore::PluginData::refresh): 43069 * plugins/qt/PluginDataQt.cpp: Added. 43070 (WebCore::PluginData::initPlugins): 43071 * plugins/win/PluginDataWin.cpp: Added. 43072 (WebCore::PluginData::initPlugins): 43073 (WebCore::PluginData::refresh): 43074 43075 2008-03-10 Simon Hausmann <hausmann (a] webkit.org> 43076 43077 Reviewed by Holger. 43078 43079 Replace two printfs() in the Qt port with notImplemented(). 43080 43081 * html/CanvasRenderingContext2D.cpp: 43082 (WebCore::CanvasRenderingContext2D::applyStrokePattern): 43083 (WebCore::CanvasRenderingContext2D::applyFillPattern): 43084 43085 2008-03-10 Simon Hausmann <hausmann (a] webkit.org> 43086 43087 Reviewed by Alp. 43088 43089 Compilation fix with gcc 4.3: Include stdio.h for printf. 43090 43091 * html/CanvasRenderingContext2D.cpp: 43092 * html/HTMLCanvasElement.cpp: 43093 43094 2008-03-09 Steve Falkenburg <sfalken (a] apple.com> 43095 43096 Stop Windows build if an error occurs in a prior project. 43097 43098 Rubber stamped by Darin. 43099 43100 * WebCore.vcproj/WebCore.vcproj: 43101 * WebCore.vcproj/WebCoreGenerated.vcproj: 43102 43103 2008-03-09 Darin Adler <darin (a] apple.com> 43104 43105 * DerivedSources.make: Third try at fixing the build. 43106 * bindings/js/JSRGBColor.cpp: And touching this file. 43107 43108 2008-03-09 Darin Adler <darin (a] apple.com> 43109 43110 * DerivedSources.make: One *more* try at fixing the build. 43111 43112 2008-03-09 Darin Adler <darin (a] apple.com> 43113 43114 * DerivedSources.make: One more try at fixing the build. 43115 43116 2008-03-09 Darin Adler <darin (a] apple.com> 43117 43118 * DerivedSources.make: Re-land the change, fixed, and with an attempt to fix the 43119 bots by removing the incorrect file. 43120 43121 2008-03-09 Oliver Hunt <oliver (a] apple.com> 43122 43123 RS=Mark Rowe 43124 43125 Roll out r30909 -- it breaks the build and is a non-trivial fix (according to weinig) 43126 43127 * DerivedSources.make: 43128 43129 2008-03-09 Darin Adler <darin (a] apple.com> 43130 43131 Reviewed by Adam. 43132 43133 * DerivedSources.make: Put the list of DOM classes into its own 43134 variable, and generate the JavaScript bindings and Objective-C 43135 bindings dependencies from that. Added some separators to make it 43136 a little easier to see the sections of the file. Moved all the 43137 Mac-specific rules (except for the SVG conditional part) down 43138 to the bottom of the file in a separate section. 43139 43140 2008-03-09 Adam Roben <aroben (a] apple.com> 43141 43142 Windows build fix 43143 43144 * WebCore.vcproj/WebCore.vcproj: Make sure all Cairo files are 43145 excluded from all three CG-based configurations: Debug, Release, and 43146 Debug_Internal. 43147 43148 2008-03-08 Mark Rowe <mrowe (a] apple.com> 43149 43150 Attempt to fix the Qt build. 43151 43152 * platform/MIMETypeRegistry.cpp: Add missing include. 43153 43154 2008-03-08 Oliver Hunt <oliver (a] apple.com> 43155 43156 Reviewed by Sam W. 43157 43158 Bug 16516: canvas image patterns stop working with some transformations 43159 43160 Simple fix. We used x/yStep of FLT_MAX to fake a no-repeat-x/y pattern 43161 with CG. However any transforms involving FLT_MAX immediately get 43162 consumed by the introduced floating point error. yStep had already been 43163 clamped to a much smaller arbitrary value, and this patch makes us use 43164 that clamp value for xStep as well. 43165 43166 * html/CanvasPattern.cpp: 43167 (WebCore::CanvasPattern::createPattern): 43168 43169 2008-03-08 Oliver Hunt <oliver (a] apple.com> 43170 43171 Reviewed by Mitz. 43172 43173 Bug 17728: Canvas.createPattern with null repeat argument throws an exception 43174 43175 Trivial fix, we were calling toString on null which produces the string "null", 43176 we just needed to switch to using valueToStringWithNullCheck rather than 43177 JSValue::toString directly 43178 43179 Test: fast/canvas/canvas-pattern-behaviour.html 43180 43181 * WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp: 43182 (WebCore::JSCanvasRenderingContext2D::createPattern): 43183 43184 2008-03-08 Mark Rowe <mrowe (a] apple.com> 43185 43186 Reviewed by Darin Adler. 43187 43188 Fix 64-bit build with GCC 4.2. 43189 43190 * bindings/objc/WebScriptObject.mm: Use NSUInteger in place of unsigned where required. 43191 * platform/mac/SharedBufferMac.mm: Ditto. 43192 43193 2008-03-08 Dan Bernstein <mitz (a] apple.com> 43194 43195 Reviewed by Oliver Hunt. 43196 43197 - fix garbage in transparent areas in canvas.toDataURL results 43198 43199 * platform/graphics/cg/ImageBufferCG.cpp: 43200 (WebCore::ImageBuffer::toDataURL): Clear the bitmap context before 43201 painting the canvas image onto it. 43202 43203 2008-03-08 Darin Adler <darin (a] apple.com> 43204 43205 Reviewed by Adele. 43206 43207 - eliminate custom highlight methods from WebCoreFrameBridge 43208 43209 * page/Chrome.cpp: 43210 (WebCore::ChromeClient::customHighlightRect): Added. 43211 (WebCore::ChromeClient::paintCustomHighlight): Added. 43212 * page/ChromeClient.h: Added custom highlight functions. 43213 * page/Frame.h: Removed custom highlight functions. 43214 * page/mac/FrameMac.mm: Ditto. 43215 * page/mac/WebCoreFrameBridge.h: Removed custom highlight methods. 43216 * rendering/InlineTextBox.cpp: 43217 (WebCore::InlineTextBox::paintCustomHighlight): Changed code to use 43218 the ChromeClient instead of WebCoreFrameBridge to do the custom highlight. 43219 * rendering/RenderBox.cpp: 43220 (WebCore::RenderBox::paintCustomHighlight): Ditto. 43221 * rendering/RootInlineBox.cpp: 43222 (WebCore::RootInlineBox::addHighlightOverflow): Ditto. 43223 (WebCore::RootInlineBox::paintCustomHighlight): Ditto. 43224 43225 2008-03-07 Stephanie Lewis <slewis (a] apple.com> 43226 43227 Reviewed by Oliver. 43228 43229 Fix Windows build. 43230 43231 * platform/graphics/cg/ImageBufferCG.cpp: 43232 (WebCore::ImageBuffer::toDataURL): 43233 43234 2008-03-07 David D. Kilzer <ddkilzer (a] apple.com> 43235 43236 Unify concept of enabling Netscape Plug-in API (NPAPI). 43237 43238 Reviewed by Darin. 43239 43240 No test cases since there is no change in functionality. 43241 43242 * DerivedSources.make: Added check for ENABLE_NETSCAPE_PLUGIN_API macro. 43243 If defined as "1", add WebCore.NPAPI.exp to WEBCORE_EXPORT_DEPENDENCIES. 43244 * WebCore.NPAPI.exp: Added. 43245 * WebCore.base.exp: Moved exported NPAPI methods to WebCore.NPAPI.exp. 43246 * WebCore.xcodeproj/project.pbxproj: Removed changes in r30826 (except 43247 comments) since we now handle exported NPAPI methods via DerivedSources.make. 43248 43249 * config.h: Removed USE(NPOBJECT) since we now use ENABLE(NETSCAPE_PLUGIN_API) as 43250 defined in Platform.h. 43251 43252 * bindings/objc/DOM.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API). 43253 (-[DOMElement _NPObject]): 43254 43255 * bridge/NP_jsobject.cpp: Replaced !PLATFORM(DARWIN) || !defined(__LP64__) with 43256 ENABLE(NETSCAPE_PLUGIN_API). 43257 * bridge/NP_jsobject.h: Ditto. 43258 * bridge/c/c_class.cpp: Ditto. 43259 * bridge/c/c_class.h: Ditto. 43260 * bridge/c/c_instance.cpp: Ditto. 43261 * bridge/c/c_instance.h: Ditto. 43262 * bridge/c/c_runtime.cpp: Ditto. 43263 * bridge/c/c_runtime.h: Ditto. 43264 * bridge/c/c_utility.cpp: Ditto. 43265 * bridge/c/c_utility.h: Ditto. 43266 * bridge/npruntime.cpp: Ditto. 43267 * bridge/npruntime_impl.h: Ditto. 43268 * bridge/npruntime_priv.h: Ditto. 43269 * bridge/runtime.cpp: Ditto. 43270 (KJS::Bindings::Instance::createBindingForLanguageInstance): 43271 43272 * html/HTMLPlugInElement.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API). 43273 (WebCore::HTMLPlugInElement::HTMLPlugInElement): 43274 (WebCore::HTMLPlugInElement::~HTMLPlugInElement): 43275 * html/HTMLPlugInElement.h: Ditto. 43276 43277 * page/Frame.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API). 43278 (WebCore::Frame::clearScriptObjects): 43279 (WebCore::FramePrivate::FramePrivate): Also added #if ENABLE(NETSCAPE_PLUGIN_API) 43280 guard around m_windowScriptNPObject. 43281 * page/Frame.h: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API). 43282 * page/FramePrivate.h: Added #if ENABLE(NETSCAPE_PLUGIN_API) guard around 43283 m_windowScriptNPObject. 43284 * page/mac/FrameMac.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API). 43285 (WebCore::Frame::createScriptInstanceForWidget): 43286 43287 2008-03-07 Alexey Proskuryakov <ap (a] webkit.org> 43288 43289 Reviewed by Darin. 43290 43291 REGRESSION: Korean decoding doesn't support extended EUC-KR. 43292 43293 Test: fast/encoding/char-decoding.html 43294 43295 * platform/text/TextCodecICU.cpp: 43296 (WebCore::TextCodecICU::registerExtendedEncodingNames): Untangle the system of duplicate ICU 43297 encoding names by manually registering windows-939-2000, and mapping all other related 43298 encodings to it. 43299 43300 2008-03-07 Dan Bernstein <mitz (a] apple.com> 43301 43302 Reviewed by Stephanie. 43303 43304 - try to fix leaks seen on Tiger after r30840 43305 43306 * css/CSSStyleSelector.cpp: 43307 (WebCore::CSSStyleSelector::~CSSStyleSelector): Use the default operator 43308 delete, rather than arena delete, to deallocate the root default style. 43309 43310 2008-03-07 Pierre-Luc Beaudoin <pierre-luc.beaudoin (a] collabora.co.uk> 43311 43312 Reviewed by Alp Toker. 43313 43314 http://bugs.webkit.org/show_bug.cgi?id=17681 43315 GtkLauncher fails to render an element with position: fixed 43316 43317 Implement the required parts of PlatformScreenGtk. 43318 43319 * ChangeLog: 43320 * platform/gtk/PlatformScreenGtk.cpp: 43321 (WebCore::screenDepth): 43322 (WebCore::screenIsMonochrome): 43323 (WebCore::screenRect): 43324 43325 2008-03-07 Oliver Hunt <oliver (a] apple.com> 43326 43327 Reviewed by Darin Adler. 43328 43329 Bug 16610: <canvas> restore() removes path segments created before it 43330 43331 The problem here is that WebKit stored the Path as part of the state, so 43332 restore would incorrectly lose changes made to the canvas path. To match 43333 Firefox and HTML5 we make two real changes: 43334 * Move the context path from the state object directly onto the context. 43335 This is responsible for all the changes to the path manipulation functions 43336 * Add transform tracking to each state -- this is needed to correctly transform 43337 the current path when restore()-ing to a prior state. 43338 43339 Test: fast/canvas/canvas-save-restore-with-path.html 43340 43341 * html/CanvasRenderingContext2D.cpp: 43342 (WebCore::CanvasRenderingContext2D::restore): 43343 (WebCore::CanvasRenderingContext2D::scale): 43344 (WebCore::CanvasRenderingContext2D::rotate): 43345 (WebCore::CanvasRenderingContext2D::translate): 43346 (WebCore::CanvasRenderingContext2D::transform): 43347 (WebCore::CanvasRenderingContext2D::beginPath): 43348 (WebCore::CanvasRenderingContext2D::closePath): 43349 (WebCore::CanvasRenderingContext2D::moveTo): 43350 (WebCore::CanvasRenderingContext2D::lineTo): 43351 (WebCore::CanvasRenderingContext2D::quadraticCurveTo): 43352 (WebCore::CanvasRenderingContext2D::arcTo): 43353 (WebCore::CanvasRenderingContext2D::arc): 43354 (WebCore::CanvasRenderingContext2D::rect): 43355 (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode): 43356 (WebCore::CanvasRenderingContext2D::fill): 43357 (WebCore::CanvasRenderingContext2D::stroke): 43358 (WebCore::CanvasRenderingContext2D::clip): 43359 (WebCore::CanvasRenderingContext2D::isPointInPath): 43360 * html/CanvasRenderingContext2D.h: 43361 43362 2008-03-07 Oliver Hunt <oliver (a] apple.com> 43363 43364 Reviewed by Ada. 43365 43366 Fix for crash caused by FrameLoader incorrectly assuming it has 43367 a RenderWidget 43368 43369 In some circumstances an application embedding a WebView may 43370 choose to prevent a webview from loading a resource. If that 43371 resource was requested by an <object> element then we may 43372 fallback to different content which may not produce a RenderWidget. 43373 Unfortunately FrameLoader::loadSubframe was assuming that if a 43374 renderer was produced it would always be a RenderWidget, and arbitrarily 43375 performed what could be an incorrect cast. This could then lead to 43376 a crash. 43377 43378 We currently don't have anyway of making a test for this. 43379 43380 * loader/FrameLoader.cpp: 43381 (WebCore::FrameLoader::loadSubframe): 43382 43383 2008-03-07 Samuel Weinig <sam (a] webkit.org> 43384 43385 Reviewed by Oliver Hunt. 43386 43387 Fix for http://bugs.webkit.org/show_bug.cgi?id=16673 43388 <canvas> lacks toDataURL() 43389 43390 Tests: fast/canvas/toDataURL-noData.html 43391 fast/canvas/toDataURL-supportedTypes.html 43392 43393 * html/CanvasRenderingContext2D.cpp: 43394 (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage): Make message non-global. 43395 * html/HTMLCanvasElement.cpp: 43396 (WebCore::HTMLCanvasElement::printSecurityExceptionMessage): Log error message indicating that toDataURL has 43397 been called on a tainted canvas. 43398 (WebCore::HTMLCanvasElement::toDataURL): This does the tainted canvas check, ensures that the canvas has pixel 43399 data, checks to see if the MIME type is supported. Unsupported MIME types and the null string (which is made 43400 by passing no argument/null/undefined in JavaScript) are treated as being PNG, as per the spec. The actual 43401 toDataURL logic is actually done in the ImageBuffer class. 43402 * html/HTMLCanvasElement.h: Add function declarations. 43403 * html/HTMLCanvasElement.idl: Add function declaration. 43404 43405 * platform/MIMETypeRegistry.cpp: 43406 (WebCore::initializeSupportedImageMIMETypes): 43407 (WebCore::initializeSupportedImageMIMETypesForEncoding): 43408 (WebCore::initializeSupportedJavaScriptMIMETypes): 43409 (WebCore::initializeSupportedNonImageMimeTypes): 43410 (WebCore::initializeSupportedMediaMIMETypes): 43411 (WebCore::initializeMIMETypeRegistry): 43412 (WebCore::MIMETypeRegistry::getMIMETypeForPath): 43413 (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): 43414 (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType): 43415 (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): 43416 (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): 43417 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): 43418 (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType): 43419 (WebCore::MIMETypeRegistry::isJavaAppletMIMEType): 43420 (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): 43421 (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): 43422 (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding): 43423 (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): 43424 (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes): 43425 * platform/MIMETypeRegistry.h: 43426 Clean up and add new supportedImageMIMETypesForEncoding set which contains the set of 43427 MIME types the platform knows how to encode. Currently only implemented for CG and Qt. 43428 43429 * platform/graphics/ImageBuffer.h: Add toDataURL method. 43430 * platform/graphics/cairo/ImageBufferCairo.cpp: 43431 (WebCore::ImageBuffer::toDataURL): Add stub. 43432 * platform/graphics/cg/ImageBufferCG.cpp: 43433 (WebCore::ImageBuffer::create): 43434 (WebCore::ImageBuffer::getImageData): 43435 (WebCore::ImageBuffer::putImageData): 43436 (WebCore::ImageBuffer::toDataURL): 43437 Converts the current context to a data: url of the specified MIME type. This method 43438 unfortunately has to flip the context, resulting in less than optimal code. 43439 43440 * platform/graphics/qt/ImageBufferQt.cpp: 43441 (WebCore::ImageBuffer::toDataURL): Add stub. 43442 * platform/graphics/wx/ImageBufferWx.cpp: 43443 (WebCore::ImageBuffer::toDataURL): Add stub. 43444 43445 2008-03-07 Steve Falkenburg <sfalken (a] apple.com> 43446 43447 Build fix. 43448 43449 * WebCore.vcproj/WebCore.vcproj: 43450 43451 2008-03-07 Brent Fulgham <bfulgham (a] gmail.com> 43452 43453 Reviewed by Mark Rowe. 43454 43455 Correct build intermediary output 43456 (http://bugs.webkit.org/show_bug.cgi?id=17713) 43457 43458 * WebCore/WebCore.vcproj: Correct intermediary paths 43459 43460 2008-03-07 Brent Fulgham <bfulgham (a] gmail.com> 43461 43462 Reviewed by Steve Falkenburg. 43463 43464 Add Cairo build requirements to WebCore.vcproj under a new 43465 set of targets. Exclude Cairo elements from normal CG build. 43466 Exclude CG elements from Cairo builds. 43467 (http://bugs.webkit.org/show_bug.cgi?id=17300) 43468 43469 * WebCore.vcproj/WebCore.vcproj: 43470 * WebCore.vcproj/webcore.vsprops: Added. 43471 43472 2008-03-07 Darin Adler <darin (a] apple.com> 43473 43474 Reviewed by Adam. 43475 43476 - eliminated WebCoreFrameBridge runOpenPanel 43477 43478 * page/ChromeClient.h: Added runOpenPanel function. 43479 * page/mac/ChromeMac.mm: 43480 (WebCore::ChromeClient::runOpenPanel): Added. 43481 * platform/FileChooser.cpp: 43482 (WebCore::FileChooser::FileChooser): Moved this here. It's no longer platform-specific. 43483 Also start the refcount at 1. 43484 (WebCore::FileChooser::create): Added adoptRef since the refcount no starts at one. 43485 (WebCore::FileChooser::~FileChooser): Moved here. No longer platform-specific. 43486 * platform/FileChooser.h: Removed m_controller, which was Macintosh-specific. 43487 * platform/gtk/FileChooserGtk.cpp: Removed FileChooser constructor and destructor, 43488 since they are no longer platform-specific. 43489 * platform/qt/FileChooserQt.cpp: Ditto. 43490 * platform/win/FileChooserWin.cpp: Ditto. 43491 * platform/wx/TemporaryLinkStubs.cpp: Ditto. 43492 * platform/mac/FileChooserMac.mm: 43493 (WebCore::FileChooser::openFileChooser): Call the chrome client instead of the 43494 bridge to run the open panel. Allows us to get rid of the WebCoreOpenPanelController 43495 class and m_controller data member and move the cosntrutor/destructor to platform- 43496 independent code. 43497 43498 2008-03-07 Adam Roben <aroben (a] apple.com> 43499 43500 Add JavaScriptDebugServer 43501 43502 This class is a singleton which allows one or more 43503 JavaScriptDebugListeners to receive callbacks during JavaScript 43504 execution. 43505 43506 Right now all listeners receive callbacks for all Pages in the 43507 process. Eventually we will want to support listeners registering for 43508 callbacks for specific Pages (e.g., the Inspector will want to listen 43509 for execution in just the Page it's inspecting). 43510 43511 Pages notify the JavaScriptDebugServer when they are created so that 43512 it can install itself as the Page's debugger. 43513 43514 Reviewed by Darin. 43515 43516 * GNUMakefile.am: Added new files to project. 43517 * WebCore.pro: Ditto. 43518 * WebCore.vcproj/WebCore.vcproj: Ditto. 43519 * WebCore.xcodeproj/project.pbxproj: Ditto. 43520 * WebCoreSources.bkl: Ditto. 43521 * page/JavaScriptDebugListener.h: Added. 43522 * page/JavaScriptDebugServer.cpp: Added. 43523 (WebCore::toFrame): 43524 (WebCore::JavaScriptDebugServer::shared): 43525 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): 43526 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): 43527 (WebCore::JavaScriptDebugServer::addListener): Registers as the 43528 debugger for all Pages if we're adding our first listener. 43529 (WebCore::JavaScriptDebugServer::removeListener): Deregisters as the 43530 debugger for all Pages if we're removing our last listner. 43531 (WebCore::JavaScriptDebugServer::pageCreated): Registers as the 43532 debugger for the newly created Page if we have any listeners. 43533 (WebCore::dispatchDidParseSource): Helper function. 43534 (WebCore::dispatchFailedToParseSource): Ditto. 43535 (WebCore::JavaScriptDebugServer::sourceParsed): Call 43536 dispatchDidParseSource or dispatchFailedToParseSource depending on 43537 whether there was an error or not. 43538 (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Calls 43539 the passed-in JavaScriptExecutionCallback on each listener, guarding 43540 against re-entry. 43541 (WebCore::JavaScriptDebugServer::callEvent): Dispatch didEnterCallFrame. 43542 (WebCore::JavaScriptDebugServer::atStatement): Dispatch willExecuteStatement. 43543 (WebCore::JavaScriptDebugServer::returnEvent): Dispatch willLeaveCallFrame. 43544 (WebCore::JavaScriptDebugServer::exception): Dispatch exceptionWasRaised. 43545 * page/JavaScriptDebugServer.h: Added. 43546 * page/Page.cpp: 43547 (WebCore::Page::Page): Tell the shared JavaScriptDebugServer we were 43548 created so it can register as our debugger if needed. 43549 43550 2008-03-07 Darin Adler <darin (a] apple.com> 43551 43552 Reviewed by Brady. 43553 43554 - fix a theoretical problem with the visited-link hash table by avoiding collision 43555 with the special "deleted" value 43556 - improve efficiency of with the visited-link hash table by not hashing twice 43557 43558 * page/PageGroup.cpp: 43559 (WebCore::avoidDeletedValue): Added. Makes sure we never try to use the "all ones" 43560 value, since the hash table uses that for deleted hash table entries. 43561 (WebCore::PageGroup::isLinkVisited): Call avoidDeletedValue before using the hash 43562 value with the HashSet. 43563 (WebCore::PageGroup::addVisitedLink): Ditto. 43564 43565 * page/PageGroup.h: Added a new hash function, AlreadyHashed, for unsigned integer 43566 values. This assumes that the value is already a hash value, and doesn't try to 43567 hash it again. Used this for m_visitedLinkHashes. 43568 43569 2008-03-07 Simon Hausmann <hausmann (a] webkit.org> 43570 43571 Fix the Qt build. 43572 43573 * WebCore.pro: 43574 43575 2008-03-06 Sam Weinig <sam (a] webkit.org> with a little help from Oliver Hunt <oliver (a] apple.com> 43576 43577 Reviewed by Mitz. 43578 43579 Implement the HTML5 canvas tainting rules to prevent potential data leakage 43580 43581 Added originClean to HTMLCanvasElement and CanvasPattern 43582 to track whether a canvas (or pattern) is tainted by remote 43583 data. 43584 Use originClean flag to determine whether getImageData should 43585 return, well, image data. 43586 43587 Test: http/tests/security/canvas-remote-read-remote-image.html 43588 43589 * html/CanvasPattern.cpp: 43590 (WebCore::CanvasPattern::CanvasPattern): 43591 * html/CanvasPattern.h: 43592 * html/CanvasRenderingContext2D.cpp: 43593 (WebCore::CanvasRenderingContext2D::setStrokeStyle): 43594 (WebCore::CanvasRenderingContext2D::setFillStyle): 43595 (WebCore::CanvasRenderingContext2D::checkOrigin): 43596 (WebCore::CanvasRenderingContext2D::drawImage): 43597 (WebCore::CanvasRenderingContext2D::drawImageFromRect): 43598 (WebCore::CanvasRenderingContext2D::createPattern): 43599 (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage): 43600 (WebCore::CanvasRenderingContext2D::getImageData): 43601 * html/CanvasRenderingContext2D.h: 43602 * html/HTMLCanvasElement.cpp: 43603 (WebCore::HTMLCanvasElement::HTMLCanvasElement): 43604 * html/HTMLCanvasElement.h: 43605 (WebCore::HTMLCanvasElement::setOriginTainted): 43606 (WebCore::HTMLCanvasElement::originClean): 43607 43608 2008-03-06 Anders Carlsson <andersca (a] apple.com> 43609 43610 Reviewed by Jon. 43611 43612 Templatize the JNI call code to reduce the amount of code that has 43613 to be duplicated. 43614 43615 * bridge/jni/jni_class.cpp: 43616 (JavaClass::JavaClass): 43617 * bridge/jni/jni_instance.cpp: 43618 (JavaInstance::stringValue): 43619 (JavaInstance::numberValue): 43620 (JavaInstance::booleanValue): 43621 (JavaInstance::invokeMethod): 43622 * bridge/jni/jni_jsobject.cpp: 43623 (JavaJSObject::convertJObjectToValue): 43624 * bridge/jni/jni_runtime.cpp: 43625 (JavaField::JavaField): 43626 (JavaMethod::JavaMethod): 43627 * bridge/jni/jni_utility.cpp: 43628 * bridge/jni/jni_utility.h: 43629 (KJS::Bindings::): 43630 (KJS::Bindings::callJNIMethodIDA): 43631 (KJS::Bindings::callJNIMethodV): 43632 (KJS::Bindings::callJNIMethod): 43633 (KJS::Bindings::callJNIStaticMethod): 43634 43635 2008-03-06 Darin Adler <darin (a] apple.com> 43636 43637 Reviewed by Mitz. 43638 43639 - fix regression test failures from the visited-link change 43640 43641 * WebCore.base.exp: Export PageGroup::setShouldTrackVisitedLinks. 43642 * page/PageGroup.cpp: 43643 (WebCore::PageGroup::addVisitedLink): Do nothing and return early 43644 if shouldTrackVisitedLinks is false. 43645 (WebCore::PageGroup::removeVisitedLinks): Reset m_visitedLinksPopulated 43646 so the next time a link is queried this will be populated from history. 43647 (WebCore::PageGroup::setShouldTrackVisitedLinks): Added. 43648 * page/PageGroup.h: Added setShouldTrackVisitedLinks. This is global 43649 for now, but it would be better if it was per-page-group instead. 43650 43651 2008-03-06 Adele Peterson <adele (a] apple.com> 43652 43653 Reviewed by Darin. 43654 43655 Fixes for for <rdar://problem/5785892> Implement activeElement attribute for HTMLDocument (HTML5) 43656 and <rdar://problem/5785895> Implement hasFocus() for HTMLDocument (HTML5) 43657 43658 Tests: fast/dom/HTMLDocument/activeElement.html 43659 fast/dom/HTMLDocument/hasFocus.html 43660 43661 * html/HTMLDocument.cpp: 43662 (WebCore::HTMLDocument::activeElement): Added. Returns the focused element, or the body element if nothing's focused. 43663 (WebCore::HTMLDocument::hasFocus): Added. Returns whether or not the document has focus (inclusive of sub-frames). 43664 * html/HTMLDocument.h: Added methods for activeElement and hasFocus. 43665 * html/HTMLDocument.idl: Added definitions for activeElement and hasFocus. 43666 43667 2008-03-06 Dan Bernstein <mitz (a] apple.com> 43668 43669 Reviewed by Darin Adler. 43670 43671 - fix <rdar://problem/5741981> 154008 WebKit: Some asian language font glyphs are not shown (in Mail and Entourage) 43672 43673 Test: fast/text/soft-hyphen-3.html 43674 43675 * rendering/bidi.cpp: 43676 (WebCore::checkMidpoints): 43677 (WebCore::RenderBlock::findNextLineBreak): Made 'pos' unsigned. Made the 43678 midpoint after a hyphen always be a valid iterator, not allowing an 43679 offset past the end of a text node. Changed the check for consecutive 43680 soft hyphens to account for that. 43681 43682 2008-03-06 Darin Adler <darin (a] apple.com> 43683 43684 - try to fix Wx build 43685 43686 * WebCoreSources.bkl: Added PageGroup.cpp. 43687 43688 2008-03-06 Darin Adler <darin (a] apple.com> 43689 43690 - fix some builds 43691 43692 * GNUmakefile.am: Added PageGroup.cpp. 43693 * WebCore.base.exp: Removed WebCoreHistory. 43694 * WebCore.pro: Added PageGroup.cpp. 43695 43696 2008-03-06 Alexey Proskuryakov <ap (a] webkit.org> 43697 43698 Reviewed by Darin. 43699 43700 <rdar://problem/5687269> Need to create a Collator abstraction for WebCore and JavaScriptCore 43701 43702 * ForwardingHeaders/wtf/unicode/Collator.h: Added. 43703 * xml/XSLTUnicodeSort.cpp: 43704 (WebCore::xsltUnicodeSortFunction): 43705 * xml/XSLTUnicodeSort.h: 43706 43707 2008-03-06 Darin Adler <darin (a] apple.com> 43708 43709 Reviewed by Mitz. 43710 43711 - fix http://bugs.webkit.org/show_bug.cgi?id=17526 43712 REGRESSION: iframes are added to Safari's History menu 43713 by separating the visited link machinery from global history 43714 43715 This should also make page loading faster due to more efficient visited link coloring. 43716 43717 * WebCore.base.exp: Updated. 43718 * WebCore.vcproj/WebCore.vcproj: Added PageGroup.h/cpp, removed GlobalHistory.h/cpp. 43719 * WebCore.xcodeproj/project.pbxproj: Ditto. Also removed WebCoreHistory.h/m. 43720 43721 * css/CSSStyleSelector.cpp: Updated includes. 43722 (WebCore::CSSStyleSelector::initElementAndPseudoState): Eliminated code to set 43723 currentEncodedURL. 43724 (WebCore::checkPseudoState): Moved most of the code inside a new 43725 PageGroup::isLinkVisited function. 43726 (WebCore::CSSStyleSelector::canShareStyleWithElement): Tightened code a bit by using 43727 references and only getting colors when needed. 43728 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto. 43729 * css/CSSStyleSelector.h: Removed EncodedURL, m_encodedURL, and setEncodedURL. 43730 43731 * dom/Document.cpp: 43732 (WebCore::Document::attach): Removed call to setEncodedURL. 43733 (WebCore::Document::setURL): Ditto. 43734 (WebCore::Document::recalcStyleSelector): Ditto. 43735 43736 * loader/FrameLoader.cpp: 43737 (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Changed code to use 43738 early exit idiom to be a little more readable. 43739 (WebCore::FrameLoader::urlsMatchItem): Change to use a reference for slightly 43740 better efficiency. 43741 (WebCore::FrameLoader::goToItem): Use early exit idiom to be a little more 43742 readable. 43743 (WebCore::FrameLoader::updateHistoryForStandardLoad): Moved history code back 43744 in here and got rid of the helper function updateGlobalHistory, restoring the 43745 logic before r30549. Also added a call to the new addVisitedLink function. 43746 (WebCore::FrameLoader::updateHistoryForClientRedirect): Added code to call 43747 addVisitedLink here. 43748 (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Removed comment. 43749 (WebCore::FrameLoader::updateHistoryForReload): Removed call to 43750 updateGlobalHistory; we can just go without updating global history or 43751 visited links here, at least for now, since it's not clear that a reload 43752 is a "history event". 43753 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Moved 43754 history code back where it was, and added the call to addVisitedLink, just 43755 as in updateHistoryForStandardLoad above. 43756 * loader/FrameLoader.h: Removed updateGlobalHistory function. 43757 43758 * page/Chrome.cpp: 43759 (WebCore::ChromeClient::populateVisitedLinks): Added. Empty placeholder so we 43760 don't have to implement this for every port all at once. 43761 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Changed to use the 43762 new PageGroup class. 43763 * page/ChromeClient.h: Added populateVisitedLinks function, used to fill the 43764 visited links set from the global history at application startup time. 43765 43766 * page/FrameTree.cpp: 43767 (WebCore::FrameTree::find): Updated to use the new PageGroup class. 43768 43769 * page/GlobalHistory.h: Removed. 43770 * page/win/GlobalHistoryWin.cpp: Removed. 43771 * page/mac/GlobalHistoryMac.mm: Removed. 43772 * platform/mac/WebCoreHistory.h: Removed. 43773 * platform/mac/WebCoreHistory.m: Removed. 43774 * platform/win/WebCoreHistory.cpp: Removed. 43775 * platform/win/WebCoreHistory.h: Removed. 43776 43777 * page/Page.cpp: 43778 (WebCore::Page::Page): Set m_group to 0. 43779 (WebCore::Page::setGroupName): Set up m_group. If the page is not in any 43780 group, set it to 0 for now to postpone the cost of creating a group. 43781 (WebCore::Page::initGroup): Added. Sets m_group to point to a single-page 43782 group; used when getting a group. 43783 (WebCore::Page::removeAllVisitedLinks): Added. Calls removeVisitedLinks 43784 on all page groups. 43785 * page/Page.h: Moved enums inside the WebCore namespace. Removed the 43786 frameNamespace function and instead added the group and groupPtr functions. 43787 43788 * page/PageGroup.cpp: Added. Contains all the visited code from the 43789 CSSStyleSelector in the isVisitedLink function, but more efficient because 43790 we don't allocate memory for the buffer. 43791 * page/PageGroup.h: Added. 43792 43793 * platform/gtk/TemporaryLinkStubs.cpp: Removed historyContains. 43794 * platform/qt/TemporaryLinkStubs.cpp: Removed unneeded include. 43795 * platform/wx/TemporaryLinkStubs.cpp: Removed historyContains. 43796 43797 2008-03-06 Mark Rowe <mrowe (a] apple.com> 43798 43799 Fix 64-bit Mac build. 43800 43801 * WebCore.xcodeproj/project.pbxproj: Exclude _NPN symbols from the exports list as they 43802 are compiled out of 64-bit builds. 43803 43804 2008-03-06 Mark Rowe <mrowe (a] apple.com> 43805 43806 Leopard build fix. 43807 43808 * WebCore.base.exp: 43809 43810 2008-03-05 Kevin Ollivier <kevino (a] theolliviers.com> 43811 43812 Fix the wx build after the bindings move. 43813 43814 * WebCoreSources.bkl: 43815 * webcore-base.bkl: 43816 * webcore-wx.bkl: 43817 43818 2008-03-05 Dan Bernstein <mitz (a] apple.com> 43819 43820 Reviewed by Adele Peterson. 43821 43822 - fix "background-position: inherit" 43823 43824 * css/CSSStyleSelector.cpp: 43825 Made HANDLE_MULTILAYER_INHERIT_AND_INITIAL fall through and added 43826 a return statement in HANDLE_MULTILAYER_VALUE. Also removed an unused 43827 macro. 43828 43829 2008-03-05 Alp Toker <alp (a] atoker.com> 43830 43831 Add a missing make dependency for derived sources to improve 43832 autotools build dependency tracking. 43833 43834 Issue spotted by Ori Bernstein. 43835 43836 * GNUmakefile.am: 43837 43838 2008-03-05 Alp Toker <alp (a] atoker.com> 43839 43840 GTK+ build fix for breakage introduced in r30800. 43841 43842 Track moved bridge sources from JavaScriptCore to WebCore. 43843 43844 * GNUmakefile.am: 43845 43846 2008-03-05 Justin Garcia <justin.garcia (a] apple.com> 43847 43848 Reviewed by Darin. 43849 43850 One part of fix for: 43851 <rdar://problem/5780697> Copying content with percentage based rules in a style sheet will cause fidelity issues 43852 43853 * editing/markup.cpp: 43854 (WebCore::appendStartMarkup): Styles from matched rules should take precedence over those in 43855 inline style declarations, not the other way around. 43856 43857 2008-03-05 Anders Carlsson <andersca (a] apple.com> 43858 43859 Reviewed by Darin. 43860 43861 Move JNI specific code from runtime_root over to jni_jsobject, where it is used. 43862 43863 * bridge/jni/jni_jsobject.cpp: 43864 (completedJavaScriptAccess): 43865 (initializeJavaScriptAccessLock): 43866 (lockJavaScriptAccess): 43867 (unlockJavaScriptAccess): 43868 (dispatchToJavaScriptThread): 43869 (performJavaScriptAccess): 43870 (JavaJSObject::initializeJNIThreading): 43871 (isJavaScriptThread): 43872 (JavaJSObject::invoke): 43873 * bridge/jni/jni_jsobject.h: 43874 * bridge/runtime_root.cpp: 43875 * bridge/runtime_root.h: 43876 * page/mac/WebCoreFrameBridge.mm: 43877 (-[WebCoreFrameBridge init]): 43878 43879 2008-03-05 Darin Adler <darin (a] apple.com> 43880 43881 Reviewed by Sam. 43882 43883 - add functions giving offsets within a KURL, slated to replace the 43884 EncodedURL object in CSSStyleSelector (in a future "visited link" change) 43885 - changed all KURL data members names to use the traditional m_ prefix 43886 - initialize all members to 0 in invalid KURLs rather than having all 43887 functions check m_isValid 43888 43889 * platform/KURL.cpp: 43890 (WebCore::KURL::invalidate): Added. Initializes all the fields except for 43891 m_string to the "invalid" values. For use in the empty constructor and 43892 in the init and parse functions. 43893 (WebCore::KURL::init): Tweaked comments. Changed all code paths that return 43894 early to use the invalidate() function. Updated for member variable name 43895 changes. 43896 (WebCore::KURL::hasPath): Updated for member variable name changes. 43897 Remove now-unneeded check of m_isValid. 43898 (WebCore::KURL::lastPathComponent): Ditto. 43899 (WebCore::KURL::protocol): Ditto. 43900 (WebCore::KURL::host): Ditto. 43901 (WebCore::KURL::port): Ditto. 43902 (WebCore::KURL::pass): Ditto. 43903 (WebCore::KURL::user): Ditto. 43904 (WebCore::KURL::ref): Ditto. 43905 (WebCore::KURL::hasRef): Ditto. 43906 (WebCore::KURL::protocolIs): Ditto. 43907 (WebCore::KURL::query): Ditto. 43908 (WebCore::KURL::path): Ditto. 43909 (WebCore::KURL::setProtocol): Ditto. 43910 (WebCore::KURL::setHost): Ditto. 43911 (WebCore::KURL::setPort): Ditto. 43912 (WebCore::KURL::setHostAndPort): Ditto. 43913 (WebCore::KURL::setUser): Ditto. 43914 (WebCore::KURL::setPass): Ditto. 43915 (WebCore::KURL::setRef): Ditto. 43916 (WebCore::KURL::setQuery): Ditto. 43917 (WebCore::KURL::setPath): Ditto. 43918 (WebCore::KURL::prettyURL): Ditto. 43919 (WebCore::copyPathRemovingDots): Removed braces to match our code style. 43920 (WebCore::KURL::parse): Changed all code paths that return early to use 43921 the invalidate function. Moved code to set m_isValid to true to the very 43922 end of the function. Removed braces to match our code style. Removed an 43923 extra copy of the path/query/fragment code (there were two identical copies 43924 in the two sides of an if statement). Removed some commented-out code. 43925 Reversed an if statment. Added code to set the new m_pathAfterLastSlash 43926 field. Updated for member variable name changes. 43927 (WebCore::equalIgnoringRef): Updated for member variable name changes. 43928 (WebCore::KURL::isHierarchical): Ditto. 43929 43930 * platform/KURL.h: Added a FIXME about ref vs. fragment. Made the empty 43931 constructor inline and called the new invalidate function. Added new 43932 pathStart, pathEnd, and pathAfterLastSlash functions, for use in the 43933 new visited link code. Added an invalidate function. Renamed all the 43934 data members to use the m_ prefix. 43935 43936 * WebCore.base.exp: Updated. 43937 43938 2008-03-05 Anders Carlsson <andersca (a] apple.com> 43939 43940 Reviewed by Sam. 43941 43942 * WebCore.xcodeproj/project.pbxproj: 43943 Change jni_jsobject.cpp to be Obj-C++ for now. The plan is to merge 43944 this with jni_objc.mm and create jni_jsobject.mm. 43945 43946 * bridge/jni/jni_jsobject.cpp: 43947 (createRootObject): 43948 Move createRootObject here from WebCoreFrameBridge. 43949 43950 (JavaJSObject::createNative): 43951 Call the newly added createRootObject function. 43952 43953 * bridge/runtime_root.cpp: 43954 (KJS::Bindings::RootObject::initializeJNIThreading): 43955 * bridge/runtime_root.h: 43956 setCreateRootObject no longer takes a root object, rename it to initializeJNIThreading. 43957 43958 * page/mac/FrameMac.mm: 43959 (WebCore::Frame::createScriptInstanceForWidget): 43960 Just call Frame::createRootObject here. 43961 43962 * page/mac/WebCoreFrameBridge.mm: 43963 (-[WebCoreFrameBridge init]): 43964 Call initializeJNIThreading. 43965 43966 2008-03-05 Anders Carlsson <andersca (a] apple.com> 43967 43968 Reviewed by Sam. 43969 43970 Change some static class variables to be regular static variables, 43971 making it easier to move the chunk of mac-specific code out of runtime_root.[cpp|h] 43972 43973 * bridge/runtime_root.cpp: 43974 (KJS::Bindings::completedJavaScriptAccess): 43975 (KJS::Bindings::RootObject::dispatchToJavaScriptThread): 43976 (KJS::Bindings::performJavaScriptAccess): 43977 (KJS::Bindings::RootObject::createRootObject): 43978 (KJS::Bindings::RootObject::runLoop): 43979 (KJS::Bindings::RootObject::setCreateRootObject): 43980 * bridge/runtime_root.h: 43981 43982 2008-03-05 Brent Fulgham <bfulgham (a] gmail.com> 43983 43984 Reviewed by Adam Roben. 43985 43986 Modify source files to use the USE(SAFARI_THEME) macro, rather than 43987 USE_SAFARI_THEME. (http://bugs.webkit.org/show_bug.cgi?id=17683) 43988 43989 * WebCore/platform/win/PlatformScrollBarSafari.cpp 43990 * WebCore/rendering/RenderThemeSafari.cpp 43991 * WebCore/rendering/RenderThemeSafari.h 43992 * config.h: Move definition of WTF_USE_SAFARI_THEME here 43993 43994 2008-03-05 Brady Eidson <beidson (a] apple.com> 43995 43996 Reviewed by Alexey and Mark Rowe 43997 43998 Fix for <rdar://problem/5778247> - Reproducible crash on storage/execute-sql-args.html 43999 44000 DatabaseThread::unscheduleDatabaseTasks() manually filters through a MessageQueue, 44001 removing particular items for Databases that were shutting down. 44002 44003 This filtering operation is not atomic, and therefore causes a race condition with the 44004 database thread waking up and reading from the message queue. 44005 44006 The end result was an attempt to dereference a null DatabaseTask. Timing-wise, this never 44007 seemed to happen in a debug build, otherwise an assertion would've caught it. Replacing that 44008 assertion with a crash in a release build is what revealed this bug. 44009 44010 The fix for the above symptom was entirely in WTF::MessageQueue in JSCore. With this fix in 44011 place, another crash popped up in the layout tests that was related to dereferencing a 44012 deallocated object - simply because SQLTransaction had a raw pointer to it's Database object 44013 when it needed to be a ref pointer. 44014 44015 * storage/SQLTransaction.cpp: 44016 (WebCore::SQLTransaction::runCurrentStatement): 44017 * storage/SQLTransaction.h: Change m_database to be a RefPtr 44018 (WebCore::SQLTransaction::database): 44019 44020 2008-03-05 Mark Rowe <mrowe (a] apple.com> 44021 44022 Build fix. 44023 44024 * WebCore.base.exp: Remove symbol that no longer exists from the exports file. 44025 44026 2008-03-05 Adam Roben <aroben (a] apple.com> 44027 44028 Export a header/symbol for WebKit 44029 44030 Reviewed by Kevin M. 44031 44032 * WebCore.base.exp: 44033 * WebCore.xcodeproj/project.pbxproj: 44034 44035 2008-03-05 Adam Roben <aroben (a] apple.com> 44036 44037 Move WebCoreScriptDebugger up to WebKit 44038 44039 Reviewed by Darin. 44040 44041 * WebCore.base.exp: Exported some functions used by 44042 WebCoreScriptDebugger, and sorted the list. 44043 * WebCore.xcodeproj/project.pbxproj: Removed 44044 WebCoreScriptDebugger.{h,mm} from the project and marked 44045 a few headers private so that WebKit can use them. 44046 * page/mac/WebCoreScriptDebugger.h: Removed. 44047 * page/mac/WebCoreScriptDebugger.mm: Removed. 44048 44049 2008-03-05 Anders Carlsson <andersca (a] apple.com> 44050 44051 Build bridge/. Copy some headers over to WebKit as part of the post-build step. 44052 44053 * WebCore.vcproj/WebCore.vcproj: 44054 44055 2008-03-05 Anders Carlsson <andersca (a] apple.com> 44056 44057 Reviewed by Geoff. 44058 44059 * WebCore.base.exp: 44060 Add the NPN and KJS methods. 44061 44062 * WebCore.xcodeproj/project.pbxproj: 44063 Bring in bridge/ 44064 44065 * config.h: 44066 Add HAVE_JNI define. 44067 44068 * bindings/js/kjs_html.cpp: 44069 * bindings/objc/DOMInternal.mm: 44070 * bindings/objc/DOMUtility.mm: 44071 * bindings/objc/WebScriptObject.mm: 44072 * html/HTMLAppletElement.cpp: 44073 * html/HTMLEmbedElement.cpp: 44074 * html/HTMLObjectElement.cpp: 44075 * html/HTMLPlugInElement.cpp: 44076 * page/Frame.cpp: 44077 * page/mac/FrameMac.mm: 44078 * page/mac/WebCoreFrameBridge.mm: 44079 * page/mac/WebCoreScriptDebugger.mm: 44080 * plugins/win/PluginViewWin.cpp: 44081 Include file changes. 44082 44083 2008-03-04 Anders Carlsson <andersca (a] apple.com> 44084 44085 Reviewed by Sam. 44086 44087 Rewrite NPRuntime string conversion routines to use WebCore::String 44088 44089 * bridge/NP_jsobject.cpp: 44090 (_NPN_Evaluate): 44091 * bridge/c/c_utility.cpp: 44092 (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback): 44093 (KJS::Bindings::convertNPVariantToValue): 44094 (KJS::Bindings::convertNPStringToUTF16): 44095 (KJS::Bindings::identifierFromNPIdentifier): 44096 * bridge/c/c_utility.h: 44097 44098 2008-03-05 Oliver Hunt <oliver (a] apple.com> 44099 44100 Reviewed by Alexey P. 44101 44102 Small performance improvement to putImageData (3-5% on assignment in my tests) 44103 44104 * html/CanvasPixelArray.h: 44105 (WebCore::CanvasPixelArray::set): 44106 44107 2008-03-04 Sam Weinig <sam (a] webkit.org> 44108 44109 Reviewed by Adele. 44110 44111 * bindings/js/JSXMLHttpRequest.h: Remove unnecessary override of toBoolean. 44112 44113 2008-03-04 Maciej Stachowiak <mjs (a] apple.com> 44114 44115 Reviewed by Sam and Oliver. 44116 44117 - fixed http://bugs.webkit.org/show_bug.cgi?id=16289 44118 - fixed Acid3 tests 26 and 27 (not exactly the same issue but related) 44119 44120 * bindings/js/JSNodeCustom.cpp: 44121 (WebCore::JSNode::mark): When marking a node that's in-document, 44122 mark the owner document if it hasn't been already. This means holding on 44123 to a single node from an unreferenced document now keeps the whole document alive. 44124 44125 We are now at 90/100 on Acid3. 44126 44127 2008-03-04 Sam Weinig <sam (a] webkit.org> 44128 44129 Qt build fix. 44130 44131 * page/qt/FrameQt.cpp: 44132 44133 2008-03-04 Sam Weinig <sam (a] webkit.org> 44134 44135 Reviewed by Mark Rowe. 44136 44137 Rename kjs_window to JSDOMWindowBase. 44138 44139 - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including 44140 JSDOMWindow.h 44141 44142 * ChangeLog: 44143 * DerivedSources.make: 44144 * GNUmakefile.am: 44145 * WebCore.pro: 44146 * WebCore.vcproj/WebCore.vcproj: 44147 * WebCore.xcodeproj/project.pbxproj: 44148 * WebCoreSources.bkl: 44149 * bindings/js/JSCustomVoidCallback.cpp: 44150 * bindings/js/JSCustomXPathNSResolver.cpp: 44151 * bindings/js/JSDOMWindowBase.cpp: Copied from bindings/js/kjs_window.cpp. 44152 * bindings/js/JSDOMWindowBase.h: Copied from bindings/js/kjs_window.h. 44153 * bindings/js/JSDOMWindowCustom.cpp: 44154 * bindings/js/JSDatabaseCustom.cpp: 44155 * bindings/js/JSEventTargetBase.cpp: 44156 * bindings/js/JSEventTargetBase.h: 44157 * bindings/js/JSEventTargetNode.cpp: 44158 * bindings/js/JSHTMLDocumentCustom.cpp: 44159 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 44160 * bindings/js/JSHistoryCustom.cpp: 44161 * bindings/js/JSLocation.cpp: 44162 * bindings/js/JSSQLTransactionCustom.cpp: 44163 * bindings/js/JSXMLHttpRequest.cpp: 44164 * bindings/js/ScheduledAction.cpp: 44165 * bindings/js/kjs_binding.cpp: 44166 * bindings/js/kjs_events.cpp: 44167 * bindings/js/kjs_navigator.cpp: 44168 * bindings/js/kjs_proxy.cpp: 44169 * bindings/js/kjs_window.cpp: Removed. 44170 * bindings/js/kjs_window.h: Removed. 44171 * bindings/scripts/CodeGeneratorJS.pm: 44172 * history/CachedPage.cpp: 44173 * loader/FrameLoader.cpp: 44174 * page/Chrome.cpp: 44175 * page/InspectorController.cpp: 44176 * page/mac/FrameMac.mm: 44177 * page/mac/WebCoreFrameBridge.mm: 44178 * page/qt/FrameQt.cpp: 44179 * page/win/FrameWin.cpp: 44180 * plugins/win/PluginViewWin.cpp: 44181 44182 2008-03-04 Mark Rowe <mrowe (a] apple.com> 44183 44184 Speculative Qt build fix. 44185 44186 * platform/qt/PasteboardQt.cpp: 44187 44188 2008-03-04 Anders Carlsson <andersca (a] apple.com> 44189 44190 Reviewed by Sam. 44191 44192 Update include paths. This code is not used yet. 44193 44194 * bridge/NP_jsobject.cpp: 44195 * bridge/c/c_class.cpp: 44196 * bridge/c/c_instance.cpp: 44197 * bridge/c/c_utility.cpp: 44198 (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback): 44199 #if 0 this out for now. 44200 44201 * bridge/jni/jni_class.cpp: 44202 * bridge/jni/jni_jsobject.cpp: 44203 * bridge/jni/jni_objc.mm: 44204 * bridge/jni/jni_runtime.cpp: 44205 * bridge/jni/jni_utility.cpp: 44206 * bridge/jni/jni_utility.h: 44207 * bridge/npruntime.cpp: 44208 * bridge/objc/WebScriptObject.h: 44209 * bridge/objc/objc_class.h: 44210 * bridge/objc/objc_instance.h: 44211 * bridge/objc/objc_runtime.h: 44212 * bridge/objc/objc_utility.h: 44213 * bridge/objc/objc_utility.mm: 44214 * bridge/runtime.cpp: 44215 * bridge/runtime.h: 44216 * bridge/runtime_array.cpp: 44217 * bridge/runtime_array.h: 44218 * bridge/runtime_method.cpp: 44219 * bridge/runtime_method.h: 44220 * bridge/runtime_object.cpp: 44221 * bridge/runtime_object.h: 44222 * bridge/runtime_root.cpp: 44223 * bridge/runtime_root.h: 44224 44225 2008-03-04 Dan Bernstein <mitz (a] apple.com> 44226 44227 Reviewed by Darin Adler. 44228 44229 - fix http://bugs.webkit.org/show_bug.cgi?id=17676 44230 <rdar://problem/5781091> REGRESSION (r30240-r30267): href attribute values with non-ASCII characters in the host part do not work 44231 44232 Test: fast/encoding/url-host-name-non-ascii.html 44233 44234 * platform/KURL.cpp: 44235 (WebCore::appendEncodedHostname): Added an early return in the all-ASCII 44236 case to avoid copying the host name twice and corrected the error 44237 checking after calling uidna_IDNToASCII(). 44238 44239 2008-03-04 Sam Weinig <sam (a] webkit.org> 44240 44241 Reviewed by Dan Bernstein. 44242 44243 Use JSDOMWindow exclusively instead of JSDOMWindowBase. 44244 44245 * bindings/js/ScheduledAction.cpp: 44246 (WebCore::ScheduledAction::execute): 44247 * bindings/js/ScheduledAction.h: 44248 * bindings/js/kjs_window.cpp: 44249 (WebCore::JSDOMWindowBase::timerFired): 44250 44251 2008-03-04 Timothy Hatcher <timothy (a] apple.com> 44252 44253 Reviewed by Darin Adler. 44254 44255 <rdar://problem/5720160> Browser windows "do nothing" while modal 44256 dialog or menu is up due to run loop modes (or while scrolling) 44257 44258 Adds a new SchedulePair object that holds a runloop and the mode to use. 44259 A HashSet of SchedulePairs is tracked by Page so it can be used for resource 44260 loading and, in the future, maybe SharedTimerMac. 44261 44262 * WebCore.base.exp: Add new exports for WebKit. 44263 * WebCore.xcodeproj/project.pbxproj: Add new files. 44264 * loader/mac/DocumentLoaderMac.cpp: Added. 44265 (WebCore::scheduleAll): Call schedule all the ResourceLoader handles. 44266 (WebCore::unscheduleAll): Call unschedule all the ResourceLoader handles. 44267 (WebCore::DocumentLoader::schedule): Schedule all the ResourceLoaders owned by the DocumentLoader. 44268 (WebCore::DocumentLoader::unschedule): Unschedule all the ResourceLoaders owned by the DocumentLoader. 44269 * loader/DocumentLoader.h: 44270 * page/Page.h: 44271 (WebCore::Page::scheduledRunLoopPairs): Return m_scheduledRunLoopPairs. 44272 * page/mac/PageMac.cpp: 44273 (WebCore::Page::addSchedulePair): Add a SchedulePair to m_scheduledRunLoopPairs. 44274 (WebCore::Page::removeSchedulePair): Removes a SchedulePair from m_scheduledRunLoopPairs. 44275 * platform/cf/SchedulePair.cpp: Added. 44276 * platform/cf/SchedulePair.h: Added. 44277 * platform/mac/SchedulePairMac.mm: Added. 44278 * platform/network/ResourceHandle.h: 44279 * platform/network/mac/FormDataStreamMac.mm: 44280 (WebCore::advanceCurrentStream): Use the new SchedulePair. 44281 (WebCore::formCreate): Ditto. 44282 (WebCore::formFinalize): Ditto. 44283 (WebCore::formSchedule): Ditto. 44284 (WebCore::formUnschedule): Ditto. 44285 * platform/network/mac/ResourceHandleMac.mm: 44286 (WebCore::ResourceHandle::start): Schedule the connection with all the SchedulePairs 44287 that Page holds. If Page has no SchedulePairs, schedule with the current runloop, and 44288 pick the mode based on ResourceHandle::loadsDuringCommonRunLoopModes. 44289 (WebCore::ResourceHandle::schedule): 44290 (WebCore::ResourceHandle::unschedule): 44291 44292 2008-03-04 Sam Weinig <sam (a] webkit.org> 44293 44294 Reviewed by Darin Adler. 44295 44296 Rename kjs_css to JSRGBColor. 44297 44298 * DerivedSources.make: 44299 * GNUmakefile.am: 44300 * WebCore.pro: 44301 * WebCore.vcproj/WebCore.vcproj: 44302 * WebCore.xcodeproj/project.pbxproj: 44303 * WebCoreSources.bkl: 44304 * bindings/js/JSRGBColor.cpp: Copied from bindings/js/kjs_css.cpp. 44305 * bindings/js/JSRGBColor.h: Copied from bindings/js/kjs_css.h. 44306 * bindings/js/kjs_css.cpp: Removed. 44307 * bindings/js/kjs_css.h: Removed. 44308 * bindings/js/kjs_window.cpp: 44309 * bindings/objc/DOMUtility.mm: 44310 * bindings/scripts/CodeGeneratorJS.pm: 44311 44312 2008-03-04 Anders Carlsson <andersca (a] apple.com> 44313 44314 Fix 64-bit build. 44315 44316 * html/HTMLPlugInElement.cpp: 44317 44318 2008-03-04 Nikolas Zimmermann <zimmermann (a] kde.org> 44319 44320 Reviewed by Eric & David. 44321 44322 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17078 44323 44324 Fix getSubStringLength() handling, verified by Acid3 test 77. 44325 Brings up Acid3 score to 88/100. 44326 44327 Added test: svg/custom/acid3-test-77.html 44328 svg/custom/getSubStringLength.html 44329 44330 * svg/SVGTextContentElement.cpp: 44331 (WebCore::cummulatedCharacterRangeLength): Simplify some code. 44332 (WebCore::SVGTextContentElement::getSubStringLength): 44333 44334 2008-03-04 Anders Carlsson <andersca (a] apple.com> 44335 44336 Mac build fix. Neither me, Sam nor Adam know why we need to do this though :( 44337 44338 * bindings/js/kjs_proxy.cpp: 44339 (WebCore::KJSProxy::attachDebugger): 44340 * page/Page.cpp: 44341 (WebCore::Page::setDebuggerForAllPages): 44342 (WebCore::Page::setDebugger): 44343 44344 2008-03-04 Adam Roben <aroben (a] apple.com> 44345 44346 Add ExecState.h to ForwardingHeaders 44347 44348 Reviewed by Anders. 44349 44350 * ForwardingHeaders/kjs/ExecState.h: Added. 44351 * page/Page.cpp: Touch this to force WebCore to build and the headers 44352 to be copied. 44353 44354 2008-03-04 Adam Roben <aroben (a] apple.com> 44355 44356 Make it possible to set a KJS::Debugger on all Frames in a Page and 44357 all Pages in the process 44358 44359 Reviewed by Kevin M. 44360 44361 * ForwardingHeaders/kjs/debugger.h: Added. 44362 * bindings/js/kjs_proxy.cpp: 44363 (WebCore::KJSProxy::initScript): Attach the Page's debugger if there 44364 is one. 44365 (WebCore::KJSProxy::attachDebugger): Attach the passed-in debugger, or 44366 detach any existing debugger if none was passed in. 44367 * bindings/js/kjs_proxy.h: 44368 * page/Page.cpp: 44369 (WebCore::Page::Page): Initialize new member. 44370 (WebCore::Page::setDebuggerForAllPages): Call setDebugger on each Page 44371 in the process. 44372 (WebCore::Page::setDebugger): Store the debugger and pass it off to 44373 all our Frames. 44374 * page/Page.h: 44375 44376 2008-03-04 Sam Weinig <sam (a] webkit.org> 44377 44378 Reviewed by Darin Adler. 44379 44380 Add ClassInfo to custom constructors so that they toString properly 44381 44382 - Take this chance to remove the "Imp" from the end of JSXMLHttpRequestConstructorImp, 44383 and XSLTProcessorConstructorImp and prefix all the classes with JS. 44384 44385 * bindings/js/JSAudioConstructor.cpp: 44386 (WebCore::): Added ClassInfo definition. 44387 (WebCore::JSAudioConstructor::JSAudioConstructor): 44388 (WebCore::JSAudioConstructor::construct): Cleanup. 44389 * bindings/js/JSAudioConstructor.h: Rename m_doc to m_document. 44390 (WebCore::JSAudioConstructor::classInfo): Added. 44391 44392 * bindings/js/JSHTMLInputElementBase.cpp: Rename HTMLInputElementBasePrototype 44393 to JSHTMLInputElementBasePrototype as seen if toString'ed. 44394 44395 * bindings/js/JSHTMLOptionElementConstructor.cpp: 44396 (WebCore::): Added ClassInfo definition. 44397 * bindings/js/JSHTMLOptionElementConstructor.h: 44398 (WebCore::JSHTMLOptionElementConstructor::classInfo): Added. 44399 44400 * bindings/js/JSImageConstructor.cpp: 44401 (WebCore::): Added ClassInfo definition. 44402 (WebCore::JSImageConstructor::implementsConstruct): Moved here from header. 44403 * bindings/js/JSImageConstructor.h: 44404 (WebCore::JSImageConstructor::classInfo): Added. 44405 44406 * bindings/js/JSXMLHttpRequest.cpp: 44407 (WebCore::): Rename XMLHttpRequestPrototype to JSXMLHttpRequestPrototype 44408 as seen if toString'ed. 44409 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 44410 (WebCore::JSXMLHttpRequestConstructor::implementsConstruct): 44411 (WebCore::JSXMLHttpRequestConstructor::construct): 44412 * bindings/js/JSXMLHttpRequest.h: Renamed JSXMLHttpRequestConstructorImp to 44413 JSXMLHttpRequestConstructor and doc to m_document and 44414 (WebCore::JSXMLHttpRequestConstructor::classInfo): Added. 44415 44416 * bindings/js/JSXSLTProcessor.cpp: 44417 (WebCore::): Renamed XSLTProcessorPrototype to JSXSLTProcessorPrototype and 44418 XSLTProcessorConstructorImp to JSXSLTProcessorConstructor. 44419 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): 44420 (WebCore::JSXSLTProcessorConstructor::implementsConstruct): 44421 (WebCore::JSXSLTProcessorConstructor::construct): 44422 * bindings/js/JSXSLTProcessor.h: 44423 (WebCore::JSXSLTProcessorConstructor::classInfo): Added. 44424 44425 * bindings/js/kjs_window.cpp: 44426 (WebCore::JSDOMWindowBase::getValueProperty): Fixed to work with the new class names. 44427 44428 2008-03-04 Dan Bernstein <mitz (a] apple.com> 44429 44430 Reviewed by Oliver Hunt and Geoffrey Garen. 44431 44432 - fix http://bugs.webkit.org/show_bug.cgi?id=17667 44433 <rdar://problem/5779658> REGRESSION (r30587): Document::implicitClose() not called when done loading page (Image does not get scaled to fit) 44434 44435 * loader/loader.cpp: 44436 (WebCore::Loader::didFinishLoading): Changed to call 44437 setLoadInProgress(false) even for 4xx errors, because that triggers 44438 load completion check. 44439 44440 2008-03-04 Adele Peterson <adele (a] apple.com> 44441 44442 Reviewed by Beth. 44443 44444 Fix for <rdar://problem/5779718> focus() does not work for anchor elements with no content 44445 44446 If an anchor has zero size, don't exclude it from being focusable from JS, just exclude it 44447 from being keyboard focusable (using the tab key). 44448 44449 * html/HTMLAnchorElement.cpp: 44450 (WebCore::HTMLAnchorElement::isFocusable): 44451 (WebCore::HTMLAnchorElement::isKeyboardFocusable): 44452 44453 2008-03-04 Chris Fleizach <cfleizach (a] apple.com> 44454 44455 Reviewed by Darin Adler. 44456 44457 - fix <rdar://problem/5119360> ER - Seed: Google results do not have AXHeading information 44458 44459 * page/mac/WebCoreAXObject.mm: 44460 (headingLevel): 44461 (-[WebCoreAXObject accessibilityIsIgnored]): 44462 44463 2008-03-04 Sam Weinig <sam (a] webkit.org> 44464 44465 GTK+ build fix. 44466 44467 * GNUmakefile.am: 44468 44469 2008-03-04 Sam Weinig <sam (a] webkit.org> 44470 44471 Reviewed by Darin Adler. 44472 44473 Remame ImageConstructorImp to JSImageConstructor and move it into its 44474 own file. 44475 44476 * GNUmakefile.am: 44477 * WebCore.pro: 44478 * WebCore.vcproj/WebCore.vcproj: 44479 * WebCore.xcodeproj/project.pbxproj: 44480 * WebCoreSources.bkl: 44481 * bindings/js/JSImageConstructor.cpp: Copied from bindings/js/kjs_html.cpp. 44482 (WebCore::JSImageConstructor::JSImageConstructor): 44483 (WebCore::JSImageConstructor::construct): 44484 * bindings/js/JSImageConstructor.h: Copied from bindings/js/kjs_html.h. 44485 * bindings/js/kjs_html.cpp: 44486 (WebCore::getRuntimeObject): Make this function static since it is only used 44487 in this file. 44488 * bindings/js/kjs_html.h: 44489 * bindings/js/kjs_window.cpp: 44490 (WebCore::JSDOMWindowBase::getValueProperty): 44491 44492 2008-03-04 Adam Roben <aroben (a] apple.com> 44493 44494 Fix an uninitialized value warning in CodeGeneratorJS.pm 44495 44496 * bindings/scripts/CodeGeneratorJS.pm: Remove reference to 44497 non-existent $maybeOkParam (this was removed in r30753). 44498 44499 2008-03-04 Sam Weinig <sam (a] webkit.org> 44500 44501 Reviewed by Darin Adler. 44502 44503 Remove kjs_dom.{h,cpp}. 44504 44505 - Removed custom toAttr, which took a boolean ok, and teach CodeGeneratorJS.pm 44506 to us a null return value as an indication of failure. (This new logic is used 44507 for toVoidCallback as well.) 44508 - Move getRuntimeObject to kjs_html where a bunch of other runtime object related 44509 functions currently live. 44510 - Move checkNodeSecurity to kjs_binding, where other frame security functions 44511 currently live. 44512 - Remove getNodeConstructor. It had no implementation. 44513 44514 * GNUmakefile.am: 44515 * WebCore.pro: 44516 * WebCore.vcproj/WebCore.vcproj: 44517 * WebCore.xcodeproj/project.pbxproj: 44518 * WebCoreSources.bkl: 44519 * bindings/js/JSAttrCustom.cpp: 44520 * bindings/js/JSCustomVoidCallback.cpp: 44521 (WebCore::toVoidCallback): 44522 * bindings/js/JSCustomVoidCallback.h: 44523 * bindings/js/JSDatabaseCustom.cpp: 44524 (WebCore::JSDatabase::changeVersion): 44525 (WebCore::JSDatabase::transaction): 44526 * bindings/js/JSElementCustom.cpp: 44527 (WebCore::JSElement::setAttributeNode): 44528 (WebCore::JSElement::setAttributeNodeNS): 44529 * bindings/js/JSEventTargetBase.cpp: 44530 (WebCore::toJS): 44531 * bindings/js/JSEventTargetBase.h: 44532 * bindings/js/JSHTMLAppletElementCustom.cpp: 44533 * bindings/js/JSHTMLElementCustom.cpp: 44534 * bindings/js/JSHTMLEmbedElementCustom.cpp: 44535 * bindings/js/JSHTMLFormElementCustom.cpp: 44536 * bindings/js/JSHTMLFrameElementCustom.cpp: 44537 * bindings/js/JSHTMLIFrameElementCustom.cpp: 44538 * bindings/js/JSHTMLObjectElementCustom.cpp: 44539 * bindings/js/JSNamedNodeMapCustom.cpp: 44540 * bindings/js/JSNamedNodesCollection.cpp: 44541 * bindings/js/JSNodeFilterCustom.cpp: 44542 * bindings/js/JSXSLTProcessor.cpp: 44543 * bindings/js/kjs_binding.cpp: 44544 (WebCore::checkNodeSecurity): 44545 * bindings/js/kjs_binding.h: 44546 * bindings/js/kjs_css.cpp: 44547 * bindings/js/kjs_dom.cpp: Removed. 44548 * bindings/js/kjs_dom.h: Removed. 44549 * bindings/js/kjs_events.cpp: 44550 * bindings/js/kjs_html.cpp: 44551 (WebCore::getRuntimeObject): 44552 * bindings/js/kjs_html.h: 44553 * bindings/js/kjs_window.cpp: 44554 * bindings/scripts/CodeGeneratorJS.pm: 44555 * dom/Attr.idl: 44556 * html/HTMLPlugInElement.cpp: 44557 * page/InspectorController.cpp: 44558 44559 2008-03-04 Adam Roben <aroben (a] apple.com> 44560 44561 Win/Qt/GTK+/wx build fix after r30740 44562 44563 * editing/Editor.cpp: Added missing #include. 44564 * page/qt/FrameQt.cpp: Removed Frame::dashboardRegionsChanged. 44565 * page/win/FrameWin.cpp: Ditto. 44566 * platform/wx/TemporaryLinkStubs.cpp: Ditto. 44567 44568 2008-03-04 Alp Toker <alp (a] atoker.com> 44569 44570 GTK+ build fix for breakage introduced in r30740. 44571 44572 Remove Frame::dashboardRegionsChanged(). There's now a default 44573 implementation at ChromeClient::dashboardRegionsChanged(). 44574 44575 * page/gtk/FrameGtk.cpp: 44576 44577 2008-03-04 Alp Toker <alp (a] atoker.com> 44578 44579 GTK+ build fix suggested by aroben. Remove an unused Mac-specific 44580 included introduced in r30740. 44581 44582 * page/ChromeClient.h: 44583 44584 2008-03-04 Dan Bernstein <mitz (a] apple.com> 44585 44586 Reviewed by Sam Weinig. 44587 44588 - fix <rdar://problem/5622336> Burmese text does not render on http://www.myanmarbible.com/bible/Judson/html/index.html 44589 44590 Test: platform/win/fast/text/uniscribe-missing-glyph.html 44591 44592 Note that default installations of Windows do not have Myanmar fonts. 44593 What this patch does is ensure that the Myanmar and other complex 44594 scripts are rendered as missing glyphs rather than not rendered at all. 44595 The particular page in the bug measures the relative widths of two 44596 rendered strings and, if they are rendered as missing glyphs, detects 44597 that a Myanmar fonts is not available and substitutes the text with 44598 images. By not rendering (and measuring) missing glyphs, WebKit was 44599 throwing the page's detection code off. 44600 44601 * platform/graphics/win/UniscribeController.cpp: 44602 (WebCore::UniscribeController::shape): Removed an early return in case 44603 shaping resulted in missing glyphs. This is now expected if font 44604 fallback failed to produce a font containing glyphs for the character. 44605 Also changed two resize()s to shrink()s. 44606 44607 2008-03-04 Darin Adler <darin (a] apple.com> 44608 44609 Reviewed by Adam. 44610 44611 - remove WebCoreFrameBridge reapplyStyles method 44612 44613 * WebCore.base.exp: Added exports. 44614 * page/mac/WebCoreFrameBridge.h: Removed WebCoreDeviceType and 44615 reapplyStylesForDeviceType: method. 44616 * page/mac/WebCoreFrameBridge.mm: Ditto. 44617 44618 2008-03-04 Darin Adler <darin (a] apple.com> 44619 44620 Reviewed by Adam. 44621 44622 - eliminate WebCoreFrameBridge createFrameViewWithNSView 44623 44624 * WebCore.base.exp: Added some more exports. 44625 * page/mac/WebCoreFrameBridge.h: Deleted createFrameViewWithNSView. 44626 * page/mac/WebCoreFrameBridge.mm: Ditto. 44627 44628 2008-03-04 Darin Adler <darin (a] apple.com> 44629 44630 Reviewed by Adam. 44631 44632 - removed WebCoreFrameBridge scrollOverflowInDirection 44633 44634 * WebCore.base.exp: Export function needed by WebKit. 44635 * page/mac/WebCoreFrameBridge.h: Removed WebScrollDirection, WebScrollGranularity, 44636 and scrollOverflowInDirection. 44637 * page/mac/WebCoreFrameBridge.mm: Removed method. 44638 44639 2008-03-04 Darin Adler <darin (a] apple.com> 44640 44641 Reviewed by Adam. 44642 44643 - remove WebCoreFrameBridge installInFrame: method 44644 44645 * WebCore.base.exp: Export a few symbols. 44646 * WebCore.xcodeproj/project.pbxproj: Export a few files. 44647 * page/mac/WebCoreFrameBridge.h: Remove installInFrame:. 44648 * page/mac/WebCoreFrameBridge.mm: Ditto. 44649 44650 2008-03-04 Darin Adler <darin (a] apple.com> 44651 44652 Reviewed by Adam. 44653 44654 - remove WebCoreFrameBridge window method 44655 44656 * page/mac/EventHandlerMac.mm: 44657 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): Get the window by calling 44658 window on the NSView instead of using the bridge. The WebKit side wasn't doing anything 44659 special, so a call to -[NSView window] is fine. 44660 44661 * page/mac/WebCoreFrameBridge.h: Removed the window method. 44662 44663 2008-03-04 Darin Adler <darin (a] apple.com> 44664 44665 Reviewed by Adam. 44666 44667 - remove -[WebCoreFrameBridge dashboardRegionsChanged:] 44668 44669 * WebCore.base.exp: Updated. 44670 * page/Chrome.cpp: 44671 (WebCore::ChromeClient::dashboardRegionsChanged): Added. 44672 * page/ChromeClient.h: Added virtual function for dashboardRegionsChanged. 44673 * page/Frame.h: Removed dashboardRegionsChanged function. 44674 * page/FrameView.cpp: 44675 (WebCore::FrameView::updateDashboardRegions): Changed to call dashboardRegionsChanged 44676 on ChromeClient and to only call it when the regions actually changed. 44677 * page/mac/FrameMac.mm: Removed dashboardRegionsChanged function. 44678 * page/mac/WebCoreFrameBridge.h: Removed dashboardRegionsChanged: method. 44679 44680 2008-03-04 Darin Adler <darin (a] apple.com> 44681 44682 Reviewed by Adam. 44683 44684 - remove WebCoreFrameBridge issuePasteComand method 44685 44686 * editing/Editor.cpp: 44687 (WebCore::Editor::paste): Moved the Mac-specific part of this to EditorMac. 44688 * editing/mac/EditorMac.mm: 44689 (WebCore::Editor::paste): Added. Calls paste: on the document view (normally a 44690 WebHTMLView). We should get rid of this eventually. 44691 * page/Frame.h: Removed issuePasteCommand. 44692 * page/mac/FrameMac.mm: Ditto. 44693 * page/mac/WebCoreFrameBridge.h: Ditto. 44694 44695 2008-03-04 Alexey Proskuryakov <ap (a] webkit.org> 44696 44697 Suggested by Darin, rubber-stamped by Mark. 44698 44699 http://bugs.webkit.org/show_bug.cgi?id=17569 44700 REGRESSION (r30571): Buzzword.com doesn't load 44701 44702 Rolling out r30571, as determining what is wrong with it proved tricky. 44703 44704 * loader/FrameLoader.cpp: 44705 (WebCore::FrameLoader::load): 44706 (WebCore::FrameLoader::tokenizerProcessedData): 44707 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): 44708 44709 2008-03-04 Sam Weinig <sam (a] webkit.org> 44710 44711 Build fix. 44712 44713 * bindings/js/kjs_events.cpp: 44714 44715 2008-03-03 Sam Weinig <sam (a] webkit.org> 44716 44717 Reviewed by Mark Rowe. 44718 44719 Move JSClipboard into its own file. 44720 44721 * DerivedSources.make: 44722 * GNUmakefile.am: 44723 * WebCore.pro: 44724 * WebCore.vcproj/WebCore.vcproj: 44725 * WebCore.xcodeproj/project.pbxproj: 44726 * WebCoreSources.bkl: 44727 * bindings/js/JSAttrCustom.cpp: 44728 * bindings/js/JSClipboardCustom.cpp: Added. 44729 (WebCore::JSClipboard::types): 44730 (WebCore::JSClipboard::clearData): 44731 (WebCore::JSClipboard::getData): 44732 (WebCore::JSClipboard::setData): 44733 (WebCore::JSClipboard::setDragImage): 44734 * bindings/js/JSElementCustom.cpp: 44735 * bindings/js/JSEventCustom.cpp: 44736 * bindings/js/JSHTMLFrameElementCustom.cpp: 44737 * bindings/js/JSHTMLIFrameElementCustom.cpp: 44738 * bindings/js/kjs_events.cpp: 44739 * bindings/js/kjs_events.h: 44740 * bindings/js/kjs_window.cpp: 44741 * bindings/scripts/CodeGeneratorJS.pm: 44742 * dom/Clipboard.cpp: 44743 (WebCore::Clipboard::setDropEffect): 44744 (WebCore::Clipboard::setEffectAllowed): 44745 * dom/Clipboard.idl: Added. 44746 44747 2008-03-03 Sam Weinig <sam (a] webkit.org> 44748 44749 Windows build-fix. 44750 44751 * page/Chrome.cpp: 44752 * plugins/win/PluginViewWin.cpp: 44753 44754 2008-03-03 Sam Weinig <sam (a] webkit.org> 44755 44756 Reviewed by Darin Adler. 44757 44758 Cleanup and plumbing in preparation for the great Window split. 44759 44760 - Rename KJS::Window to WebCore::JSDOMWindowBase. 44761 - Remove KJS::Window::retrieve() and KJS::Window::retrieveWindow() and replace 44762 with the new toJSDOMWindow(). 44763 - Remove KJS::Window::retrieveActive() and replace with explicit call to 44764 exec->dynamicGlobalObject() and toJSDOMWindow(). 44765 44766 * bindings/js/JSCustomVoidCallback.cpp: 44767 (WebCore::toVoidCallback):. 44768 * bindings/js/JSCustomXPathNSResolver.cpp: 44769 (WebCore::JSCustomXPathNSResolver::create): 44770 * bindings/js/JSDatabaseCustom.cpp: 44771 (WebCore::JSDatabase::changeVersion): 44772 (WebCore::JSDatabase::transaction): 44773 * bindings/js/JSDocumentCustom.cpp: 44774 (WebCore::JSDocument::location): 44775 (WebCore::toJS): 44776 * bindings/js/JSEventTargetBase.cpp: 44777 (WebCore::jsEventTargetAddEventListener): 44778 (WebCore::jsEventTargetRemoveEventListener): 44779 * bindings/js/JSEventTargetNode.cpp: 44780 (WebCore::JSEventTargetNode::setListener): 44781 * bindings/js/JSHTMLDocumentCustom.cpp: 44782 (WebCore::JSHTMLDocument::nameGetter): 44783 (WebCore::JSHTMLDocument::open): 44784 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 44785 (WebCore::JSHTMLFrameSetElement::nameGetter): 44786 * bindings/js/JSLocation.cpp: 44787 (WebCore::JSLocation::put): 44788 (WebCore::jsLocationProtoFuncReplace): 44789 (WebCore::jsLocationProtoFuncReload): 44790 (WebCore::jsLocationProtoFuncAssign): 44791 * bindings/js/JSLocation.h: 44792 * bindings/js/JSSQLTransactionCustom.cpp: 44793 (WebCore::JSSQLTransaction::executeSql): 44794 * bindings/js/JSSVGLazyEventListener.cpp: 44795 (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener): 44796 (WebCore::JSSVGLazyEventListener::eventParameterName): 44797 * bindings/js/JSSVGLazyEventListener.h: 44798 * bindings/js/JSXMLHttpRequest.cpp: 44799 (WebCore::JSXMLHttpRequest::putValueProperty): 44800 (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): 44801 (WebCore::jsXMLHttpRequestPrototypeFunctionAddEventListener): 44802 (WebCore::jsXMLHttpRequestPrototypeFunctionRemoveEventListener): 44803 * bindings/js/ScheduledAction.cpp: 44804 (WebCore::ScheduledAction::execute): 44805 * bindings/js/ScheduledAction.h: 44806 * bindings/js/kjs_binding.cpp: 44807 (WebCore::allowsAccessFromFrame): 44808 (WebCore::printErrorMessageForFrame): 44809 * bindings/js/kjs_events.cpp: 44810 (WebCore::JSAbstractEventListener::handleEvent): 44811 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener): 44812 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener): 44813 (WebCore::JSUnprotectedEventListener::windowObj): 44814 (WebCore::JSEventListener::JSEventListener): 44815 (WebCore::JSEventListener::~JSEventListener): 44816 (WebCore::JSEventListener::windowObj): 44817 (WebCore::JSLazyEventListener::JSLazyEventListener): 44818 (WebCore::JSLazyEventListener::parseCode): 44819 * bindings/js/kjs_events.h: 44820 * bindings/js/kjs_navigator.cpp: 44821 (WebCore::MimeType::getValueProperty): 44822 * bindings/js/kjs_proxy.cpp: 44823 (WebCore::KJSProxy::evaluate): 44824 (WebCore::KJSProxy::createHTMLEventHandler): 44825 (WebCore::KJSProxy::createSVGEventHandler): 44826 * bindings/js/kjs_window.cpp: 44827 (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate): 44828 (WebCore::DOMWindowTimer::DOMWindowTimer): 44829 (WebCore::DOMWindowTimer::action): 44830 (WebCore::DOMWindowTimer::takeAction): 44831 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 44832 (WebCore::JSDOMWindowBase::~JSDOMWindowBase): 44833 (WebCore::JSDOMWindowBase::location): 44834 (WebCore::JSDOMWindowBase::mark): 44835 (WebCore::allowPopUp): 44836 (WebCore::createWindow): 44837 (WebCore::showModalDialog): 44838 (WebCore::JSDOMWindowBase::getValueProperty): 44839 (WebCore::JSDOMWindowBase::childFrameGetter): 44840 (WebCore::JSDOMWindowBase::indexGetter): 44841 (WebCore::JSDOMWindowBase::namedItemGetter): 44842 (WebCore::JSDOMWindowBase::getOwnPropertySlot): 44843 (WebCore::JSDOMWindowBase::put): 44844 (WebCore::JSDOMWindowBase::allowsAccessFrom): 44845 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage): 44846 (WebCore::JSDOMWindowBase::allowsAccessFromPrivate): 44847 (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): 44848 (WebCore::JSDOMWindowBase::printErrorMessage): 44849 (WebCore::JSDOMWindowBase::globalExec): 44850 (WebCore::JSDOMWindowBase::shouldInterruptScript): 44851 (WebCore::JSDOMWindowBase::setListener): 44852 (WebCore::JSDOMWindowBase::getListener): 44853 (WebCore::JSDOMWindowBase::findJSEventListener): 44854 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): 44855 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): 44856 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): 44857 (WebCore::JSDOMWindowBase::clearHelperObjectProperties): 44858 (WebCore::JSDOMWindowBase::clear): 44859 (WebCore::JSDOMWindowBase::setCurrentEvent): 44860 (WebCore::JSDOMWindowBase::currentEvent): 44861 (WebCore::windowProtoFuncAToB): 44862 (WebCore::windowProtoFuncBToA): 44863 (WebCore::windowProtoFuncOpen): 44864 (WebCore::windowProtoFuncSetTimeout): 44865 (WebCore::windowProtoFuncClearTimeout): 44866 (WebCore::windowProtoFuncSetInterval): 44867 (WebCore::windowProtoFuncAddEventListener): 44868 (WebCore::windowProtoFuncRemoveEventListener): 44869 (WebCore::windowProtoFuncShowModalDialog): 44870 (WebCore::windowProtoFuncNotImplemented): 44871 (WebCore::JSDOMWindowBase::setReturnValueSlot): 44872 (WebCore::JSDOMWindowBase::clearAllTimeouts): 44873 (WebCore::JSDOMWindowBase::installTimeout): 44874 (WebCore::JSDOMWindowBase::pauseTimeouts): 44875 (WebCore::JSDOMWindowBase::resumeTimeouts): 44876 (WebCore::JSDOMWindowBase::clearTimeout): 44877 (WebCore::JSDOMWindowBase::timerFired): 44878 (WebCore::JSDOMWindowBase::disconnectFrame): 44879 (WebCore::JSDOMWindowBase::jsEventListeners): 44880 (WebCore::JSDOMWindowBase::jsHTMLEventListeners): 44881 (WebCore::JSDOMWindowBase::jsUnprotectedEventListeners): 44882 (WebCore::JSDOMWindowBase::jsUnprotectedHTMLEventListeners): 44883 (WebCore::toJS): 44884 (WebCore::toJSDOMWindow): 44885 (WebCore::toJSDOMWindow): 44886 * bindings/js/kjs_window.h: 44887 (WebCore::JSDOMWindowBase::impl): 44888 (WebCore::JSDOMWindowBase::classInfo): 44889 (WebCore::JSDOMWindowBase::): 44890 * bindings/objc/DOMUtility.mm: 44891 (KJS::createDOMWrapper): 44892 * bindings/scripts/CodeGeneratorJS.pm: 44893 * history/CachedPage.cpp: 44894 (WebCore::CachedPage::CachedPage): 44895 (WebCore::CachedPage::restore): 44896 * page/Chrome.cpp: 44897 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 44898 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 44899 * page/DOMWindow.idl: 44900 * page/Frame.cpp: 44901 (WebCore::Frame::~Frame): 44902 (WebCore::Frame::windowScriptNPObject): 44903 (WebCore::Frame::pageDestroyed): 44904 * page/InspectorController.cpp: 44905 (WebCore::inspectedWindow): 44906 * page/mac/FrameMac.mm: 44907 (WebCore::Frame::windowScriptObject): 44908 * page/mac/WebCoreFrameBridge.mm: 44909 (updateRenderingForBindings): 44910 * platform/SecurityOrigin.cpp: 44911 (WebCore::SecurityOrigin::canAccess): 44912 44913 2008-03-03 Kevin Ollivier <kevino (a] theolliviers.com> 44914 44915 wx build fixes after recent Frame-related changes. 44916 44917 * platform/wx/PasteboardWx.cpp: 44918 * platform/wx/TemporaryLinkStubs.cpp: 44919 44920 2008-03-03 Dan Bernstein <mitz (a] apple.com> 44921 44922 Reviewed by Darin Adler. 44923 44924 - make :first-letter apply to the first letter in normal flow, skipping 44925 floats and positioned objects 44926 44927 Test: fast/css/first-letter-skip-out-of-flow.html 44928 44929 * rendering/RenderBlock.cpp: 44930 (WebCore::RenderBlock::updateFirstLetter): 44931 44932 2008-03-03 Ada Chan <adachan (a] apple.com> 44933 44934 Fix build. 44935 44936 * plugins/win/PluginViewWin.cpp: 44937 44938 2008-03-03 Mark Rowe <mrowe (a] apple.com> 44939 44940 Reviewed by Dan Bernstein. 44941 44942 Fix http://bugs.webkit.org/show_bug.cgi?id=17313 44943 Bug 17313: querySelectorAll() causing crashes when called via dojo.query() wrapper 44944 44945 Node::querySelector and SelectorNodeList were not sufficiently initializing the CSSStyleSelector 44946 before using it to resolve styles, which lead to it having a stale m_style member in some situations. 44947 This stale m_style member resulted in a wild store that would write over whatever object now resided 44948 at the location m_style pointed to. 44949 44950 Test: fast/dom/SelectorAPI/bug-17313.html 44951 44952 * dom/Node.cpp: 44953 (WebCore::Node::querySelector): Call initForStyleResolve to further initialize the CSSStyleSelector. 44954 * dom/SelectorNodeList.cpp: 44955 (WebCore::SelectorNodeList::SelectorNodeList): Ditto. 44956 44957 2008-03-03 Anders Carlsson <andersca (a] apple.com> 44958 44959 Reviewed by Darin and Sam. 44960 44961 Include fixes, in preparation of using the headers in WebCore/bridge. 44962 44963 * bindings/js/kjs_binding.h: 44964 * bindings/js/kjs_dom.cpp: 44965 * bindings/objc/DOMInternal.mm: 44966 * bindings/objc/DOMUtility.mm: 44967 * bindings/objc/WebScriptObject.mm: 44968 * bindings/objc/WebScriptObjectPrivate.h: 44969 * bridge/objc/objc_class.h: 44970 * bridge/objc/objc_instance.h: 44971 * bridge/objc/objc_runtime.h: 44972 * bridge/objc/objc_utility.h: 44973 * bridge/runtime.h: 44974 * bridge/runtime_object.h: 44975 * bridge/runtime_root.h: 44976 * html/HTMLAppletElement.cpp: 44977 * html/HTMLAppletElement.h: 44978 * html/HTMLEmbedElement.cpp: 44979 * html/HTMLEmbedElement.h: 44980 * html/HTMLObjectElement.cpp: 44981 * html/HTMLPlugInElement.cpp: 44982 * html/HTMLPlugInElement.h: 44983 * page/mac/FrameMac.mm: 44984 * page/mac/WebCoreFrameBridge.h: 44985 * page/mac/WebCoreFrameBridge.mm: 44986 * page/mac/WebCoreScriptDebugger.mm: 44987 44988 2008-03-03 David Hyatt <hyatt (a] apple.com> 44989 44990 Full page zoom plumbing. Add a notion of whether or not a zoom is text only or a full zoom to the 44991 Frame. setTextSizeMultiplier does a text only zoom. 44992 44993 Reviewed by Tim H. 44994 44995 * page/Frame.cpp: 44996 (WebCore::Frame::zoomFactor): 44997 (WebCore::Frame::isZoomFactorTextOnly): 44998 (WebCore::Frame::setZoomFactor): 44999 (WebCore::FramePrivate::FramePrivate): 45000 * page/Frame.h: 45001 * page/FramePrivate.h: 45002 * page/mac/WebCoreFrameBridge.mm: 45003 (-[WebCoreFrameBridge setTextSizeMultiplier:]): 45004 * svg/SVGSVGElement.cpp: 45005 (WebCore::SVGSVGElement::setCurrentScale): 45006 45007 2008-03-03 David Hyatt <hyatt (a] apple.com> 45008 45009 Fix for <rdar://problem/5776161> REGRESSION: Google Docs Spreadsheet crash 45010 45011 This is also http://bugs.webkit.org/show_bug.cgi?id=17543, fixed table layout corrupts heap. 45012 45013 Make sure not to access position -1 of the size 0 vectors. 45014 45015 Reviewed by ggaren 45016 45017 * rendering/FixedTableLayout.cpp: 45018 (WebCore::FixedTableLayout::layout): 45019 45020 2008-03-03 David D. Kilzer <ddkilzer (a] webkit.org> 45021 45022 Dynamically inserting CSS rule with @media query fails with DOM Exception 12 45023 <http://bugs.webkit.org/show_bug.cgi?id=15986> 45024 45025 Reviewed by Darin. 45026 45027 Allow any valid rule (@font-face, @import, @media, @page or style) to be 45028 parsed when using CSSStyleSheet.insertRule(). Previously only import and 45029 style rules were allowed. Note that @page rules always throw an exception 45030 because they're not implemented yet, so no test case was added for them. 45031 45032 Tests: fast/css/insertRule-font-face.html 45033 fast/css/insertRule-media.html 45034 45035 * css/CSSGrammar.y: Extracted 'valid_rule' out of 'rule'. Renamed 45036 'ruleset_or_import' to 'valid_rule_or_import' and changed its definition. 45037 45038 2008-03-03 Anders Carlsson <andersca (a] apple.com> 45039 45040 Reviewed by Sam. 45041 45042 Copy JSC bindings directory over to WebCore/bridge. 45043 45044 * bridge: Copied from ../JavaScriptCore/bindings. 45045 45046 2008-03-03 Dan Bernstein <mitz (a] apple.com> 45047 45048 Reviewed by Darin Adler. 45049 45050 - remove CSSMutableStyleDeclaration::setChanged()'s change type 45051 parameter 45052 45053 * css/CSSMutableStyleDeclaration.cpp: 45054 (WebCore::CSSMutableStyleDeclaration::setChanged): Removed the change 45055 type parameter and made this function determine the correct change type 45056 based on whether this is an inline style declaration. 45057 (WebCore::CSSMutableStyleDeclaration::setProperty): 45058 * css/CSSMutableStyleDeclaration.h: 45059 (WebCore::CSSMutableStyleDeclaration::clear): Removed this unused 45060 method. 45061 (WebCore::CSSMutableStyleDeclaration::setChanged): Made private. 45062 45063 2008-03-03 Darin Adler <darin (a] apple.com> 45064 45065 Reviewed by Adam. 45066 45067 - some "cleanup" on the path to removing WebCoreFrameBridge 45068 45069 * WebCore.base.exp: Exported some stuff we either already use or 45070 I am about to use in an upcoming patch. 45071 45072 * WebCore.xcodeproj/project.pbxproj: Made FileChooser.h private rather 45073 than project, for future use in WebKit. 45074 45075 * bindings/objc/WebScriptObject.mm: Removed some dead code. 45076 45077 * dom/ContainerNode.cpp: Added a now-needed or soon-to-be-needed include. 45078 * editing/Editor.cpp: Ditto. 45079 45080 * editing/Editor.h: Removed many unneeded declarations and includes. 45081 Removed the unused userVisibleString function. 45082 45083 * editing/EditorCommand.cpp: 45084 (WebCore::executeYank): Added parameter for triggeringEvent, which no 45085 longer has a default value. 45086 (WebCore::executeYankAndSelect): Ditto. 45087 45088 * editing/mac/EditorMac.mm: Removed userVisibleString. 45089 45090 * page/mac/EventHandlerMac.mm: 45091 (WebCore::isKeyboardOptionTab): Tweaked formattin. 45092 45093 * page/mac/WebCoreFrameBridge.mm: 45094 (-[WebCoreFrameBridge dragSourceMovedTo:]): Get window from -[NSView window] 45095 rather than from the bridge. There's no special value in the bridge's window 45096 method and we can use NSView directly. 45097 (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): Ditto. 45098 45099 * platform/graphics/mac/ImageMac.mm: 45100 (WebCore::Image::loadPlatformResource): Use a new WebCoreBundleFinder class to 45101 find the bundle rather than using WebCoreFrameBridge. 45102 45103 * platform/mac/ClipboardMac.mm: Added a now-needed or soon-to-be-needed include. 45104 * platform/mac/PasteboardMac.mm: Ditto. 45105 45106 * rendering/RenderObject.h: 45107 (WebCore::DashboardRegionValue::operator==): Fixed mistake where this wasn't 45108 comparing the clip rectangle. 45109 (WebCore::DashboardRegionValue::operator!=): Added. Needed by my future work. 45110 45111 2008-03-03 Oliver Hunt <oliver (a] apple.com> 45112 45113 Reviewed by Mark Rowe. 45114 45115 Bug 17620: getImageData lies 45116 http://bugs.webkit.org/show_bug.cgi?id=17620 45117 45118 Correct logic to actually iterate over the source row 45119 45120 * platform/graphics/cg/ImageBufferCG.cpp: 45121 (WebCore::ImageBuffer::getImageData): 45122 45123 2008-03-03 Oliver Hunt <oliver (a] apple.com> 45124 45125 Reviewed by Mark Rowe. 45126 45127 Correct incorrect assertion 45128 45129 * platform/graphics/cg/ImageBufferCG.cpp: 45130 (WebCore::ImageBuffer::putImageData): 45131 45132 2008-03-02 Alp Toker <alp (a] atoker.com> 45133 45134 Another fix for non-database builds after changes in r30331. 45135 45136 Conditionalize a stopDatabases() call. 45137 45138 * loader/FrameLoader.cpp: 45139 (WebCore::FrameLoader::stopLoading): 45140 45141 2008-03-02 Kevin Ollivier <kevino (a] theolliviers.com> 45142 45143 Reviewed by Alp Toker. 45144 45145 Scrolling fixes. Implement page scrolling, initialize mouse wheel 45146 event variables, and remove duplicate event binding for TOP 45147 scrolling event. 45148 45149 http://bugs.webkit.org/show_bug.cgi?id=17643 45150 45151 * platform/wx/MouseWheelEventWx.cpp: 45152 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 45153 * platform/wx/ScrollViewWx.cpp: 45154 (WebCore::ScrollView::ScrollViewPrivate::bindEvents): 45155 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): 45156 45157 2008-03-02 Alp Toker <alp (a] atoker.com> 45158 45159 Fix building without database support after changes in r30331. 45160 45161 * dom/Document.cpp: 45162 45163 2008-03-02 Kevin Ollivier <kevino (a] theolliviers.com> 45164 45165 wx build fix for Windows after PageWin.cpp move. 45166 45167 * webcore-wx.bkl: 45168 45169 2008-03-02 Kevin Ollivier <kevino (a] theolliviers.com> 45170 45171 Reviewed by Dave Hyatt. 45172 45173 Gracefully handle a CSS rule containing an invalid value. 45174 (Fixes http://bugs.webkit.org/show_bug.cgi?id=16898) 45175 45176 * css/CSSGrammar.y: 45177 45178 2008-03-02 Alp Toker <alp (a] atoker.com> 45179 45180 Reviewed by Mark Rowe. 45181 45182 Improve the Cairo Path::isEmpty() function 45183 45184 Use cairo_has_current_point() where available. 45185 45186 * platform/graphics/cairo/PathCairo.cpp: 45187 (WebCore::Path::isEmpty): 45188 45189 2008-03-01 Mark Rowe <mrowe (a] apple.com> 45190 45191 Reviewed by Tim Hatcher. 45192 45193 Update Xcode configuration to support building debug and release from the mysterious future. 45194 45195 * Configurations/DebugRelease.xcconfig: 45196 45197 2008-03-01 Oliver Hunt <oliver (a] apple.com> 45198 45199 Reviewed by Sam Weinig. 45200 45201 Bug 16954: Support putImageData 45202 45203 Implement support for HTML5's putImageData for the CG port. All other ports 45204 are currently just using stubs for the final blit. 45205 45206 Test: fast/canvas/canvas-putImageData.html 45207 45208 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 45209 (WebCore::JSCanvasRenderingContext2D::putImageData): 45210 * html/CanvasRenderingContext2D.cpp: 45211 (WebCore::CanvasRenderingContext2D::putImageData): 45212 * html/CanvasRenderingContext2D.h: 45213 * platform/graphics/ImageBuffer.h: 45214 * platform/graphics/cairo/ImageBufferCairo.cpp: 45215 * platform/graphics/cg/ImageBufferCG.cpp: 45216 (WebCore::ImageBuffer::putImageData): 45217 * platform/graphics/qt/ImageBufferQt.cpp: 45218 * platform/graphics/wx/ImageBufferWx.cpp: 45219 45220 2008-03-01 Jon Honeycutt <jhoneycutt (a] apple.com> 45221 45222 Reviewed by Darin. 45223 45224 <rdar://problem/5772987> Crashing viewing page with two VLC plug-in 45225 instances 45226 45227 The VLC Netscape plug-in crashes if more than one instance is created. 45228 45229 Added a quirk that disallows a plug-in from having more than one 45230 instance and set this for the VLC plug-in. 45231 45232 In addition, we now sort plug-ins that handle the same MIME 45233 type to choose the most appropriate one. This sorting first sorts by 45234 whether a plug-in has an issue that should put it at the end of the 45235 list, then whether it appears in a "preferred" plug-in directory. 45236 45237 * plugins/PluginQuirkSet.h: Added PluginQuirkDontAllowMultipleInstances. 45238 * plugins/PluginDatabase.cpp: 45239 (WebCore::PluginDatabase::preferredPluginCompare): Comparator for 45240 sorting plug-ins; calls PluginPackage::compare(). 45241 (WebCore::PluginDatabase::pluginForMIMEType): Add all of the plug-ins 45242 that handle this MIME type to a list, sort the list, and return the 45243 first item. 45244 (WebCore::PluginDatabase::MIMETypeForExtension): Add all of the plug-ins 45245 that handle this extension to a list, sort the list, and return the MIME 45246 type used by the plug-in at the beginning of the list. 45247 * plugins/PluginDatabase.h: 45248 * plugins/PluginPackage.h: 45249 (WebCore::PluginPackage::version): Added; returns the module version. 45250 * plugins/win/PluginDatabaseWin.cpp: 45251 (WebCore::PluginDatabase::isPreferredPluginPath): Made static; removed 45252 const. 45253 * plugins/win/PluginPackageWin.cpp: 45254 (WebCore::PluginPackage::compare): Sorts plug-ins with known issues to 45255 the end, then plug-ins in preferred directories to the beginning, then 45256 alphabetically by file name, numerically by version, and alphabetically 45257 by parent directory. 45258 (WebCore::PluginPackage::determineQuirks): Set the "don't allow multiple 45259 instances" quirk for VLC. 45260 (WebCore::PluginPackage::load): Return false if the plug-in library has 45261 already been loaded and the "don't allow multiple instances" quirk is 45262 set. 45263 * platform/gtk/TemporaryLinkStubs.cpp: 45264 (PluginPackage::compare): Added stub. 45265 (PluginDatabase::IsPreferredPluginPath): Update the GTK stub. 45266 * platform/qt/TemporaryLinkStubs.cpp: 45267 (PluginPackage::compare): Added stub. 45268 (PluginDatabase::IsPreferredPluginPath): Update the Qt stub. 45269 * platform/wx/TemporaryLinkStubs.cpp: 45270 (PluginPackage::compare): Added stub. 45271 (PluginDatabase::IsPreferredPluginPath): Update the wx stub. 45272 45273 2008-03-01 Sam Weinig <sam (a] webkit.org> 45274 45275 Rubber-stamped by Mark Rowe. 45276 45277 Remove reference to the now non-existent bridge directory. 45278 45279 * WebCore.xcodeproj/project.pbxproj: 45280 45281 2008-03-01 Sam Weinig <sam (a] webkit.org> 45282 45283 Reviewed by Darin Adler. 45284 45285 Search the entire prototype chain when doing early prototype lookup in 45286 the Window's getOwnPropertySlot method. 45287 45288 Makes fast/dom/Window/window-function-name-getter-precedence.html pass all tests. 45289 45290 * bindings/js/kjs_window.cpp: 45291 (KJS::Window::getOwnPropertySlot): 45292 45293 2008-03-01 Nikolas Zimmermann <zimmermann (a] kde.org> 45294 45295 Reviewed by Oliver. 45296 45297 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17568 (SVGForeignObjectElement can't react to width/height SVG DOM changes) 45298 45299 As the bug title says, fix all dynamic update problems that occour with SVGForeignObjectElement. 45300 45301 Tests: svg/dynamic-updates/SVGForeignObjectElement-dom-height-attr.html 45302 svg/dynamic-updates/SVGForeignObjectElement-dom-width-attr.html 45303 svg/dynamic-updates/SVGForeignObjectElement-dom-x-attr.html 45304 svg/dynamic-updates/SVGForeignObjectElement-dom-y-attr.html 45305 svg/dynamic-updates/SVGForeignObjectElement-svgdom-height-prop.html 45306 svg/dynamic-updates/SVGForeignObjectElement-svgdom-width-prop.html 45307 svg/dynamic-updates/SVGForeignObjectElement-svgdom-x-prop.html 45308 svg/dynamic-updates/SVGForeignObjectElement-svgdom-y-prop.html 45309 45310 * svg/SVGForeignObjectElement.cpp: 45311 (WebCore::SVGForeignObjectElement::parseMappedAttribute): 45312 (WebCore::addCSSPropertyAndNotifyAttributeMap): 45313 (WebCore::SVGForeignObjectElement::svgAttributeChanged): 45314 * svg/SVGForeignObjectElement.h: 45315 45316 2008-02-29 Brady Eidson <beidson (a] apple.com> 45317 45318 Reviewed by build-fix karma 45319 45320 Bonehead mistake. Revert function to previous version for all non-Windows+CFNetwork platforms 45321 45322 * platform/network/ProtectionSpace.cpp: 45323 (WebCore::ProtectionSpace::receivesCredentialSecurely): Make my previous change conditionally 45324 45325 2008-02-29 Brady Eidson <beidson (a] apple.com> 45326 45327 Reviewed by Darin 45328 45329 <rdar://problem/5771227> - Incorrect password handling text in credential sheet 45330 45331 * platform/network/ProtectionSpace.cpp: 45332 (WebCore::ProtectionSpace::receivesCredentialSecurely): Call functional CFNetwork method to 45333 get "secureness" of the auth challenge instead of figuring it out ourselves 45334 45335 2008-02-29 Brent Fulgham <bfulgham (a] gmail.com> 45336 45337 http://bugs.webkit.org/show_bug.cgi?id=17483 45338 Implement scrollbars on Windows (Cairo) 45339 45340 Reviewed by Adam Roben. 45341 45342 * platform/win/PlatfromScrollBarWin.cpp: Duplicate implementation 45343 from PlatformScrollBarWinSafari.cpp, then modify to use the 45344 native Windows theme engine. Use SOFT_LINK. Use platform 45345 'GetSystemMetrics' call to decide size of scrollbars and buttons. 45346 45347 2008-02-29 Adam Roben <aroben (a] apple.com> 45348 45349 Windows build fix 45350 45351 * WebCore.vcproj/WebCore.vcproj: Remove bridge/* from the include path 45352 and the post-build event, and add page/win to each. Also let VS have 45353 its way with the order of the files. 45354 * page/win/PageWin.cpp: Copied from bridge/win/PageWin.cpp in r30673 45355 * page/win/GlobalHistoryWin.cpp: Copied from 45356 bridge/win/GlobalHistoryWin.cpp in r30673 45357 45358 2008-02-29 Anders Carlsson <andersca (a] apple.com> 45359 45360 Build fix. 45361 45362 * WebCore.xcodeproj/project.pbxproj: 45363 45364 2008-02-29 Mark Rowe <mrowe (a] apple.com> 45365 45366 Reviewed by Tim Hatcher. 45367 45368 64-bit build fix. 45369 45370 * platform/graphics/mac/SimpleFontDataMac.mm: 45371 (WebCore::pathFromFont): Provide stub implementation of pathFromFont for 64-bit as 45372 FMGetATSFontRefFromFont is not available. 45373 45374 2008-02-29 Mark Rowe <mrowe (a] apple.com> 45375 45376 Build fix. Only declare pathFromFont in debug builds as it is unused in release builds. 45377 45378 * platform/graphics/mac/SimpleFontDataMac.mm: 45379 45380 2008-02-29 Anders Carlsson <andersca (a] apple.com> 45381 45382 Reviewed by Adam. 45383 45384 Copy the remaining files in bridge/ over to page/ 45385 45386 * WebCore.vcproj/WebCore.vcproj: 45387 * WebCore.xcodeproj/project.pbxproj: 45388 * bridge: Removed. 45389 * bridge/AXObjectCache.h: Removed. 45390 * bridge/EditorClient.h: Removed. 45391 * bridge/GlobalHistory.h: Removed. 45392 * bridge/win: Removed. 45393 * bridge/win/FrameCGWin.cpp: Removed. 45394 * bridge/win/FrameCairoWin.cpp: Removed. 45395 * bridge/win/FrameWin.cpp: Removed. 45396 * bridge/win/FrameWin.h: Removed. 45397 * bridge/win/GlobalHistoryWin.cpp: Removed. 45398 * bridge/win/PageWin.cpp: Removed. 45399 * page/AXObjectCache.h: Copied from bridge/AXObjectCache.h. 45400 * page/EditorClient.h: Copied from bridge/EditorClient.h. 45401 * page/GlobalHistory.h: Copied from bridge/GlobalHistory.h. 45402 * page/win/FrameCGWin.cpp: Copied from bridge/win/FrameCGWin.cpp. 45403 * page/win/FrameCairoWin.cpp: Copied from bridge/win/FrameCairoWin.cpp. 45404 * page/win/FrameWin.cpp: Copied from bridge/win/FrameWin.cpp. 45405 * page/win/FrameWin.h: Copied from bridge/win/FrameWin.h. 45406 45407 2008-02-29 Robert Blaut <webkit (a] blaut.biz> 45408 45409 Reviewed by Darin Adler. 45410 45411 - fix http://bugs.webkit.org/show_bug.cgi?id=17532 45412 Webkit imports styles from <link> element which doesn't have rel=stylesheet defined 45413 45414 Test: fast/html/link-rel-stylesheet.html 45415 45416 * html/HTMLLinkElement.cpp: 45417 (WebCore::HTMLLinkElement::process): 45418 45419 2008-02-29 Mark Rowe <mrowe (a] apple.com> 45420 45421 Reviewed by Anders Carlsson. 45422 45423 Replace use of WKPathFromFont with implementation in terms of public API. 45424 45425 * WebCore.base.exp: Remove unused symbol. 45426 * platform/graphics/mac/SimpleFontDataMac.mm: 45427 (WebCore::initFontData): 45428 (WebCore::pathFromFont): Implement pathFromFont in terms of public API. 45429 (WebCore::SimpleFontData::platformInit): 45430 * platform/mac/WebCoreSystemInterface.h: Remove unused symbol. 45431 * platform/mac/WebCoreSystemInterface.mm: Ditto. 45432 45433 2008-02-29 Anders Carlsson <andersca (a] apple.com> 45434 45435 Reviewed by Adam. 45436 45437 Move a bunch of files from bridge/mac to page/mac. 45438 45439 * WebCore.xcodeproj/project.pbxproj: 45440 * bridge/mac: Removed. 45441 * bridge/mac/AXObjectCacheMac.mm: Removed. 45442 * bridge/mac/GlobalHistoryMac.mm: Removed. 45443 * bridge/mac/WebCoreAXObject.h: Removed. 45444 * bridge/mac/WebCoreAXObject.mm: Removed. 45445 * bridge/mac/WebCoreScriptDebugger.h: Removed. 45446 * bridge/mac/WebCoreScriptDebugger.mm: Removed. 45447 * page/mac/AXObjectCacheMac.mm: Copied from bridge/mac/AXObjectCacheMac.mm. 45448 * page/mac/GlobalHistoryMac.mm: Copied from bridge/mac/GlobalHistoryMac.mm. 45449 * page/mac/WebCoreAXObject.h: Copied from bridge/mac/WebCoreAXObject.h. 45450 * page/mac/WebCoreAXObject.mm: Copied from bridge/mac/WebCoreAXObject.mm. 45451 * page/mac/WebCoreScriptDebugger.h: Copied from bridge/mac/WebCoreScriptDebugger.h. 45452 * page/mac/WebCoreScriptDebugger.mm: Copied from bridge/mac/WebCoreScriptDebugger.mm. 45453 45454 2008-02-29 David Hyatt <hyatt (a] apple.com> 45455 45456 Fix for http://bugs.webkit.org/show_bug.cgi?id=17559, media query tests crashing under 45457 guard malloc. Pass along the style selector so it can be accessed, since it has not yet 45458 been assigned into the document's member variable. 45459 45460 Reviewed by aroben 45461 45462 * css/CSSStyleSelector.cpp: 45463 (WebCore::CSSRuleSet::addRulesFromSheet): 45464 * css/MediaQueryEvaluator.cpp: 45465 (WebCore::MediaQueryEvaluator::eval): 45466 * css/MediaQueryEvaluator.h: 45467 45468 2008-02-29 David Hyatt <hyatt (a] apple.com> 45469 45470 <rdar://problem/5755916> REGRESSION: Loading HTML5 spec is 5x slower on TOT than in 3.0.4 45471 45472 Improve the performance of dynamic sibling and CSS3 selectors so that there is no slowdown any more. 45473 Be more precise in terms of what nodes we mark dirty. 45474 45475 Reviewed by Beth 45476 45477 * css/CSSStyleSelector.cpp: 45478 (WebCore::CSSStyleSelector::checkSelector): 45479 * dom/Element.cpp: 45480 (WebCore::Element::recalcStyle): 45481 (WebCore::checkForSiblingStyleChanges): 45482 (WebCore::Element::childrenChanged): 45483 (WebCore::Element::finishParsingChildren): 45484 * rendering/RenderStyle.cpp: 45485 (WebCore::RenderStyle::RenderStyle): 45486 * rendering/RenderStyle.h: 45487 (WebCore::RenderStyle::childrenAffectedByPositionalRules): 45488 (WebCore::RenderStyle::childrenAffectedByDirectAdjacentRules): 45489 (WebCore::RenderStyle::setChildrenAffectedByDirectAdjacentRules): 45490 45491 2008-02-29 Alexey Proskuryakov <ap (a] webkit.org> 45492 45493 Reviewed by Darin. 45494 45495 <rdar://problem/5766352> REGRESSION (r27151): XMLHttpRequest.abort() resets response status 45496 45497 Test: http/tests/xmlhttprequest/status-after-abort.html 45498 45499 * xml/XMLHttpRequest.cpp: 45500 (WebCore::XMLHttpRequest::getStatus): 45501 (WebCore::XMLHttpRequest::getStatusText): 45502 Changed to match Firefox more closely (IE just raises an exception in most of those cases). 45503 45504 2008-02-29 Dan Bernstein <mitz (a] apple.com> 45505 45506 Reviewed by Darin Adler. 45507 45508 - fix a bug where explicit embedding past the end of a line could 45509 affect text that line 45510 45511 Test: fast/text/embed-at-end-of-pre-wrap-line.html 45512 45513 * rendering/bidi.cpp: 45514 (WebCore::RenderBlock::skipWhitespace): Removed calls to 45515 setAdjustEmbedding(). 45516 (WebCore::RenderBlock::findNextLineBreak): Added calls to 45517 setAdjustEmbedding() around skipWhitespace() only where needed. 45518 45519 2008-02-29 Mark Rowe <mrowe (a] apple.com> 45520 45521 Reviewed by Oliver Hunt. 45522 45523 Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest. 45524 45525 * platform/mac/WebCoreSystemInterface.h: Don't declare WKSupportsMultipartXMixedReplace on Leopard. 45526 * platform/mac/WebCoreSystemInterface.mm: Ditto. 45527 * platform/network/mac/ResourceRequestMac.mm: 45528 (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't call WKSupportsMultipartXMixedReplace on Leopard. 45529 * WebCore.Tiger.exp: Move Tiger-only symbol here. 45530 * WebCore.base.exp: 45531 45532 2008-02-29 Mark Rowe <mrowe (a] apple.com> 45533 45534 Rubber-stamped by Eric Seidel. 45535 45536 Remove unneeded includes of WebCoreSystemInterface.h. 45537 45538 * loader/mac/LoaderNSURLExtras.m: 45539 * page/mac/FrameMac.mm: 45540 * page/mac/WebCoreFrameBridge.mm: 45541 * platform/MIMETypeRegistry.cpp: 45542 * platform/graphics/mac/ImageMac.mm: 45543 * platform/mac/PasteboardMac.mm: 45544 45545 2008-02-29 Mark Rowe <mrowe (a] apple.com> 45546 45547 Reviewed by Oliver Hunt and Oliver Hunt. 45548 45549 <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI. 45550 45551 * platform/mac/SystemTimeMac.cpp: Replace use of WKSecondsSinceLastInputEvent with CGEventSourceSecondsSinceLastEventType. 45552 * platform/mac/WebCoreSystemInterface.h: Remove unused symbol. 45553 * platform/mac/WebCoreSystemInterface.mm: Ditto. 45554 * WebCore.base.exp: Ditto. 45555 45556 2008-02-28 Mark Rowe <mrowe (a] apple.com> 45557 45558 Reviewed by Dave Hyatt. 45559 45560 Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call. 45561 45562 * DerivedSources.make: Add Tiger-only symbols to the export file when running on Tiger. 45563 * WebCore.Tiger.exp: Added. Move Tiger-only symbol here from WebCore.base.exp. 45564 * WebCore.base.exp: 45565 * platform/graphics/mac/SimpleFontDataMac.mm: 45566 (WebCore::SimpleFontData::platformInit): Use Leopard APIs when building on Leopard. 45567 * platform/mac/WebCoreSystemInterface.h: Don't declare wkGetFontMetrics on Leopard as it is unused. 45568 * platform/mac/WebCoreSystemInterface.mm: Ditto. 45569 45570 2008-02-28 Matt Lilek <webkit (a] mattlilek.com> 45571 45572 Reviewed by Tim Hatcher. 45573 45574 Bug 16535: Stylesheets loaded with @import are not editable 45575 http://bugs.webkit.org/show_bug.cgi?id=16535 45576 <rdar://problem/5712899> 45577 45578 Sheets loaded using @import were incorrectly being flagged as non-editable 45579 user agent sheets because their parent sheet doesn't have an ownerNode. We now 45580 check to make sure sheets also don't have a href before restricting their editability. 45581 45582 * page/inspector/StylesSidebarPane.js: 45583 45584 2008-02-28 Rodney Dawes <dobey (a] wayofthemonkey.com> 45585 45586 Reviewed by Adam Roben. 45587 45588 Copy PluginPackageWin.cpp to shared PluginPackage.cpp. 45589 Add PluginPackage.cpp to build configurations. 45590 Remove PluginPackage destructor from TemporaryLinkStubs.cpp. 45591 Use cross-platform pathGetFilename method. 45592 Remove platform-specific code from shared PluginPackage implementation. 45593 Remove shared code from PluginPackageWin.cpp. 45594 45595 * GNUmakefile.am: 45596 * WebCore.pro: 45597 * WebCoreSources.bkl: 45598 * WebCore.vcproj/WebCore.vcproj: 45599 * platform/gtk/TemporaryLinkStubs.cpp: 45600 * platform/qt/TemporaryLinkStubs.cpp: 45601 * platform/wx/TemporaryLinkStubs.cpp: 45602 * plugins/PluginPackage.cpp: 45603 * plugins/win/PluginPackageWin.cpp: 45604 45605 2008-02-28 Justin Garcia <justin.garcia (a] apple.com> 45606 45607 Reviewed by Darin Adler. 45608 45609 <rdar://problem/4930986> REGRESSION: Paste As Quotation pastes black text instead of blue 45610 45611 Add a second style span at copy time to hold document default styles. This helps us 45612 differentiate between those and user applied styles at paste time, where we'll want 45613 to let Mail's Paste As Quotation blockquote override document default styles, but 45614 not others. 45615 45616 * css/CSSComputedStyleDeclaration.cpp: 45617 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed the unit type used 45618 for -webkit-text-stroke-width from CSS_NUMBER to CSS_PX, to match other properties that 45619 are thick | medium | thin | <length>. Before, there was a mismatch between the unit 45620 type of -webkit-text-stroke-width property values in a CSSComputedStyleDeclaration for 45621 an element and that element's inlineStyleDecl(), causing identical values to always appear 45622 different to diff(). 45623 * editing/ReplaceSelectionCommand.cpp: 45624 (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Fixed. Don't just change 45625 the class to an empty string, completely remove it, it's no longer needed. 45626 (WebCore::handleStyleSpansBeforeInsertion): Moved the optimization from doApply here. 45627 (WebCore::ReplaceSelectionCommand::handleStyleSpans): 45628 Added, replaces removeRedundantStyles. 45629 We aren't (yet) removing all redundant styles, just those on style spans, so I removed the 45630 unused code and renamed the function. 45631 There won't be more than two style spans that we need to consider, the one with the 45632 source document's default styles and styles on the commonAncestor of the copied Range, 45633 so don't look for more than two. 45634 Let elements that wrap the incoming fragment override the source document's styles. 45635 (WebCore::ReplaceSelectionCommand::doApply): Moved code to handleStyleSpansBeforeInsertion 45636 and call the renamed handleStyleSpans. 45637 * editing/ReplaceSelectionCommand.h: 45638 * editing/markup.cpp: 45639 (WebCore::removeDefaultStyles): Added. Don't add document defaults to the style span 45640 that holds user applied styles, since they'll be added to their own style span. 45641 (WebCore::createMarkup): 45642 Add a second style span that holds just the document defaults. This lets us differentiate 45643 between those and user applied styles at paste time. 45644 Mail blockquotes are just another type of special element, moved their handling there. This 45645 also lets paste code make assumptions about the position of the two style spans (they are 45646 *always* parent-child). 45647 45648 2008-02-28 Brent Fulgham <bfulgham (a] gmail.com> 45649 45650 http://bugs.webkit.org/show_bug.cgi?id=17576 45651 Modify RenderThemeWin to use SOFT_LINK 45652 45653 Reviewed by Adam Roben. 45654 45655 * rendering/RenderThemeWin.h: Remove unneeded library handle 45656 * rendering/RenderThemeWin.cpp: Change to use SOFT_LINK 45657 rather than hand-coded load library calls. 45658 45659 2008-02-28 Dan Bernstein <mitz (a] apple.com> 45660 45661 Reviewed by Darin Adler. 45662 45663 - fix http://bugs.webkit.org/show_bug.cgi?id=17590 45664 ASSERTION FAILED: subject in jsRegExpExecute() 45665 45666 * page/mac/FrameMac.mm: 45667 (WebCore::Frame::matchLabelsAgainstElement): Added an early return in 45668 case the element name is empty. 45669 45670 2008-02-28 Justin Garcia <justin.garcia (a] apple.com> 45671 45672 Reviewed by Dan Bernstein 45673 45674 Small editing speed up. 45675 45676 * dom/Position.cpp: 45677 (WebCore::Position::upstream): Don't check for a change in editability 45678 if the current node hasn't changed. 45679 (WebCore::Position::downstream): Ditto. 45680 45681 2008-02-27 Dan Bernstein <mitz (a] apple.com> 45682 45683 Reviewed by John Sullivan. 45684 45685 - fix <rdar://problem/5607547> Single letter surrounded by soft hyphens can disappear 45686 45687 Test: fast/text/soft-hyphen-2.html 45688 45689 * rendering/bidi.cpp: 45690 (WebCore::chopMidpointsAt): Changed to iterate midpoints backwards, so 45691 that if there are two midpoints at the given position, only the last one 45692 will be chopped off. 45693 45694 2008-02-27 Dan Bernstein <mitz (a] apple.com> 45695 45696 Reviewed by Darin Adler. 45697 45698 - make centered text in right-to-left blocks spill over to the left 45699 45700 Test: fast/text/align-center-rtl-spill.html 45701 45702 * rendering/bidi.cpp: 45703 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 45704 45705 2008-02-27 Dan Bernstein <mitz (a] apple.com> 45706 45707 Reviewed by Darin Adler. 45708 45709 - more bidi.cpp cleanup 45710 45711 * platform/text/BidiResolver.h: 45712 (WebCore::BidiCharacterRun::destroy): Added. Overridden by BidiRun . 45713 (WebCore::BidiResolver<Iterator, Run>::addRun): Moved BidiState::addRun() 45714 here. 45715 (WebCore::BidiResolver<Iterator, Run>::appendRun): Changed to use 45716 addRun(). 45717 (WebCore::BidiResolver<Iterator, Run>::deleteRuns): Changed to use 45718 destroy(), avoiding the need to specialize this method in BidiState. 45719 * rendering/bidi.cpp: 45720 (WebCore::BidiRun::destroy): Removed the RenderArena parameter. 45721 (WebCore::BidiState::deleteRuns): Removed now-unnecessary specialization. 45722 (WebCore::BidiState::addRun): Removed now-unnecessary specialization. 45723 (WebCore::RenderBlock::createLineBoxes): 45724 (WebCore::RenderBlock::constructLine): 45725 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a FIXME. 45726 (WebCore::RenderBlock::computeVerticalPositionsForLine): 45727 (WebCore::buildCompactRuns): 45728 (WebCore::RenderBlock::layoutInlineChildren): 45729 (WebCore::RenderBlock::determineStartPosition): 45730 (WebCore::RenderBlock::determineEndPosition): 45731 (WebCore::RenderBlock::matchedEndLine): 45732 (WebCore::skipNonBreakingSpace): 45733 (WebCore::RenderBlock::skipWhitespace): 45734 (WebCore::shouldSkipWhitespaceAfterStartObject): 45735 * rendering/bidi.h: 45736 (WebCore::BidiRun): Added m_ prefixes to several member variables. 45737 45738 2008-02-27 Sam Weinig <sam (a] webkit.org> 45739 45740 Reviewed by Darin. 45741 45742 Fix for <rdar://problem/5768769> 45743 45744 - Don't allow cross-origin calls using window.functionName.call(otherFrame) 45745 syntax. 45746 45747 * bindings/js/JSLocation.cpp: 45748 (WebCore::jsLocationProtoFuncToString): Do same-origin check. 45749 * bindings/js/kjs_window.cpp: 45750 (KJS::windowProtoFuncAToB): Ditto. 45751 (KJS::windowProtoFuncBToA): Ditto. 45752 (KJS::windowProtoFuncOpen): Ditto. 45753 (KJS::windowProtoFuncClearTimeout): Ditto. 45754 * bindings/scripts/CodeGeneratorJS.pm: Ditto. 45755 45756 2008-02-27 David Hyatt <hyatt (a] apple.com> 45757 45758 More cleanup in preparation for fixing the HTML5 spec performance regression. 45759 45760 Reviewed by Sam Weinig 45761 45762 * dom/Attr.cpp: 45763 (WebCore::Attr::childrenChanged): 45764 * dom/Attr.h: 45765 * dom/ContainerNode.cpp: 45766 (WebCore::ContainerNode::insertBefore): 45767 (WebCore::ContainerNode::replaceChild): 45768 (WebCore::ContainerNode::removeChild): 45769 (WebCore::ContainerNode::removeChildren): 45770 (WebCore::ContainerNode::appendChild): 45771 (WebCore::ContainerNode::addChild): 45772 (WebCore::ContainerNode::childrenChanged): 45773 * dom/ContainerNode.h: 45774 * dom/Document.cpp: 45775 (WebCore::Document::childrenChanged): 45776 * dom/Document.h: 45777 * dom/Element.cpp: 45778 (WebCore::Element::childrenChanged): 45779 * dom/Element.h: 45780 * dom/Node.h: 45781 (WebCore::Node::childrenChanged): 45782 * html/HTMLObjectElement.cpp: 45783 (WebCore::HTMLObjectElement::childrenChanged): 45784 * html/HTMLObjectElement.h: 45785 * html/HTMLOptGroupElement.cpp: 45786 (WebCore::HTMLOptGroupElement::childrenChanged): 45787 * html/HTMLOptGroupElement.h: 45788 * html/HTMLOptionElement.cpp: 45789 (WebCore::HTMLOptionElement::childrenChanged): 45790 * html/HTMLOptionElement.h: 45791 * html/HTMLScriptElement.cpp: 45792 (WebCore::HTMLScriptElement::childrenChanged): 45793 * html/HTMLScriptElement.h: 45794 * html/HTMLSelectElement.cpp: 45795 (WebCore::HTMLSelectElement::childrenChanged): 45796 * html/HTMLSelectElement.h: 45797 * html/HTMLStyleElement.cpp: 45798 (WebCore::HTMLStyleElement::childrenChanged): 45799 * html/HTMLStyleElement.h: 45800 * html/HTMLTextAreaElement.cpp: 45801 (WebCore::HTMLTextAreaElement::childrenChanged): 45802 * html/HTMLTextAreaElement.h: 45803 * html/HTMLTitleElement.cpp: 45804 (WebCore::HTMLTitleElement::childrenChanged): 45805 * html/HTMLTitleElement.h: 45806 * svg/SVGClipPathElement.cpp: 45807 (WebCore::SVGClipPathElement::childrenChanged): 45808 * svg/SVGClipPathElement.h: 45809 * svg/SVGDefinitionSrcElement.cpp: 45810 (WebCore::SVGDefinitionSrcElement::childrenChanged): 45811 * svg/SVGDefinitionSrcElement.h: 45812 * svg/SVGFontFaceElement.cpp: 45813 (WebCore::SVGFontFaceElement::childrenChanged): 45814 * svg/SVGFontFaceElement.h: 45815 * svg/SVGFontFaceFormatElement.cpp: 45816 (WebCore::SVGFontFaceFormatElement::childrenChanged): 45817 * svg/SVGFontFaceFormatElement.h: 45818 * svg/SVGFontFaceSrcElement.cpp: 45819 (WebCore::SVGFontFaceSrcElement::childrenChanged): 45820 * svg/SVGFontFaceSrcElement.h: 45821 * svg/SVGFontFaceUriElement.cpp: 45822 (WebCore::SVGFontFaceUriElement::childrenChanged): 45823 * svg/SVGFontFaceUriElement.h: 45824 * svg/SVGGElement.cpp: 45825 (WebCore::SVGGElement::childrenChanged): 45826 * svg/SVGGElement.h: 45827 * svg/SVGGradientElement.cpp: 45828 (WebCore::SVGGradientElement::childrenChanged): 45829 * svg/SVGGradientElement.h: 45830 * svg/SVGMarkerElement.cpp: 45831 (WebCore::SVGMarkerElement::childrenChanged): 45832 * svg/SVGMarkerElement.h: 45833 * svg/SVGMaskElement.cpp: 45834 (WebCore::SVGMaskElement::childrenChanged): 45835 * svg/SVGMaskElement.h: 45836 * svg/SVGPatternElement.cpp: 45837 (WebCore::SVGPatternElement::childrenChanged): 45838 * svg/SVGPatternElement.h: 45839 * svg/SVGStyleElement.cpp: 45840 (WebCore::SVGStyleElement::childrenChanged): 45841 * svg/SVGStyleElement.h: 45842 * svg/SVGStyledElement.cpp: 45843 (WebCore::SVGStyledElement::childrenChanged): 45844 * svg/SVGStyledElement.h: 45845 * svg/SVGTitleElement.cpp: 45846 (WebCore::SVGTitleElement::childrenChanged): 45847 * svg/SVGTitleElement.h: 45848 * svg/SVGUseElement.cpp: 45849 (WebCore::SVGUseElement::childrenChanged): 45850 * svg/SVGUseElement.h: 45851 45852 2008-02-27 Julien Chaffraix <julien.chaffraix (a] gmail.com> 45853 45854 Reviewed by Alexey. 45855 45856 http://bugs.webkit.org/show_bug.cgi?id=17481 45857 Several consecutive calls to XMLHttpRequest::open should dispatch only one readyState event 45858 45859 Test: http/tests/xmlhttprequest/xmlhttprequest-multiple-open.html 45860 45861 * xml/XMLHttpRequest.cpp: 45862 (WebCore::XMLHttpRequest::open): 45863 45864 2008-02-27 Sriram Neelakandan <sriram.neelakandan (a] gmail.com> 45865 45866 Reviewed, tweaked and landed by ap. 45867 45868 http://bugs.webkit.org/show_bug.cgi?id=17487 45869 HTMLInput mysteriously fails to work if ICU dat file is missing 45870 45871 * platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Assert that the iterator 45872 has been opened. 45873 45874 2008-02-27 Adam Roben <aroben (a] apple.com> 45875 45876 Windows build fix after r30616 45877 45878 * platform/win/ClipboardWin.cpp: 45879 45880 2008-02-27 Nikolas Zimmermann <zimmermann (a] kde.org> 45881 45882 Reviewed by Simon. 45883 45884 Small style cleanup, and obvious fix: SVGGElement reacted on 45885 'clipPathUnits' changes, which is a funny copy&paste error. 45886 45887 * svg/SVGGElement.cpp: 45888 (WebCore::SVGGElement::parseMappedAttribute): 45889 (WebCore::SVGGElement::svgAttributeChanged): 45890 (WebCore::SVGGElement::createRenderer): 45891 45892 2008-02-27 Nikolas Zimmermann <zimmermann (a] kde.org> 45893 45894 Reviewed by Simon. 45895 45896 Cleanup coding style. Still on my way to fix dynamic updates of all SVG elements. 45897 Currently at SVGF*. SVGDefs/DescElement don't need any dyn update fixes but cleanups. 45898 45899 * svg/SVGDefsElement.cpp: 45900 (WebCore::SVGDefsElement::createRenderer): 45901 * svg/SVGDefsElement.h: 45902 * svg/SVGDescElement.h: 45903 45904 2008-02-26 Antti Koivisto <antti (a] apple.com> 45905 45906 Reviewed by Darin. 45907 45908 Fix <rdar://problem/5761326> 45909 REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang) 45910 45911 Generate better code with VS: 45912 - Use ALWAYS_INLINE macro to guarantee versions of allowsAccessFrom() are reduced to single functions 45913 - Refactor error reporting so that there is no need to construct/destruct Strings in common cases 45914 - Add a separate version of the function for cases where error messages are not wanted 45915 45916 * bindings/js/JSDOMWindowCustom.cpp: 45917 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 45918 * bindings/js/kjs_window.cpp: 45919 (KJS::Window::allowsAccessFrom): 45920 (KJS::Window::allowsAccessFromNoErrorMessage): 45921 (KJS::Window::allowsAccessFromPrivate): 45922 (KJS::Window::crossDomainAccessErrorMessage): 45923 * bindings/js/kjs_window.h: 45924 45925 2008-02-26 Sam Weinig <sam (a] webkit.org> 45926 45927 Reviewed by Dave Hyatt. 45928 45929 - remove DeprecatedCString, DeprecatedArray, and ArrayImpl. 45930 45931 * GNUmakefile.am: 45932 * WebCore.pro: 45933 * WebCore.vcproj/WebCore.vcproj: 45934 * WebCore.xcodeproj/project.pbxproj: 45935 * WebCoreSources.bkl: 45936 * platform/ArrayImpl.cpp: Removed. 45937 * platform/ArrayImpl.h: Removed. 45938 * platform/DeprecatedArray.h: Removed. 45939 * platform/DeprecatedCString.cpp: Removed. 45940 * platform/DeprecatedCString.h: Removed. 45941 * platform/text/CString.cpp: 45942 (WebCore::CString::length): 45943 * platform/text/CString.h: 45944 45945 2008-02-26 David Hyatt <hyatt (a] apple.com> 45946 45947 Cleanup of childrenChanged in preparation for fixing the HTML5 spec slowdown. 45948 45949 Reviewed by Sam Weinig 45950 45951 * dom/Attr.cpp: 45952 (WebCore::Attr::childrenChanged): 45953 * dom/ContainerNode.cpp: 45954 (WebCore::ContainerNode::insertBefore): 45955 (WebCore::ContainerNode::replaceChild): 45956 (WebCore::ContainerNode::removeChild): 45957 (WebCore::ContainerNode::removeChildren): 45958 (WebCore::ContainerNode::appendChild): 45959 (WebCore::ContainerNode::addChild): 45960 (WebCore::ContainerNode::childrenChanged): 45961 * dom/ContainerNode.h: 45962 * dom/EventTargetNode.cpp: 45963 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): 45964 * dom/EventTargetNode.h: 45965 * dom/NamedAttrMap.cpp: 45966 (WebCore::NamedAttrMap::addAttribute): 45967 (WebCore::NamedAttrMap::removeAttribute): 45968 45969 2008-02-26 Darin Adler <darin (a] apple.com> 45970 45971 Reviewed by Sam. 45972 45973 - remove use of DeprecatedCString from Windows pasteboard code 45974 45975 * platform/win/ClipboardUtilitiesWin.cpp: 45976 (WebCore::createGlobalData): Added an overload for Vector<char>. 45977 Streamlined the logic a bit. 45978 (WebCore::append): Added. Helper functions for appending to a 45979 Vector<char>. 45980 (WebCore::markupToCF_HTML): Rewrote to use Vector<char> instead 45981 of DeprecatedCString. Also simplified the logic a bit and used 45982 macros to handle the integer width. 45983 (WebCore::urlToMarkup): Use Vector<UChar> instead of String. 45984 (WebCore::replaceNewlinesWithWindowsStyleNewlines): Tweaked. 45985 * platform/win/ClipboardUtilitiesWin.h: Update type of return 45986 value from markupToCF_HTML. Did a bit of streamlining too. 45987 * platform/win/ClipboardWin.cpp: 45988 (WebCore::writeURL): Update for above changes. 45989 (WebCore::ClipboardWin::declareAndWriteDragImage): Ditto. 45990 (WebCore::ClipboardWin::writeRange): Ditto. 45991 * platform/win/PasteboardWin.cpp: 45992 (WebCore::Pasteboard::writeSelection): Ditto. 45993 (WebCore::Pasteboard::writeURL): Ditto. 45994 45995 2008-02-26 Timothy Hatcher <timothy (a] apple.com> 45996 45997 Reviewed by Adam Roben. 45998 45999 <rdar://problem/5712777> REGRESSION: Arrow up/down in inspector 46000 source list does not scroll when item at edge is reached (16572) 46001 46002 Use scrollIntoViewIfNeeded() instead of the hand-rolled scrollToElement 46003 we were using in utilities.js. 46004 46005 * page/inspector/DocumentPanel.js: Use scrollIntoViewIfNeeded instead of scrollToElement. 46006 * page/inspector/Resource.js: Ditto. 46007 * page/inspector/inspector.js: Ditto. 46008 * page/inspector/SourcePanel.js: Use scrollIntoViewIfNeeded instead 46009 of scrollIntoView, so the source line is centered in the view if needed. 46010 * page/inspector/utilities.js: Removed scrollToElement(). 46011 46012 2008-02-26 David Hyatt <hyatt (a] apple.com> 46013 46014 Reviewed by Dan 46015 46016 http://bugs.webkit.org/show_bug.cgi?id=17485 46017 46018 Refine our behavior for empty inlines so that they work more correctly with margins/borders/padding. 46019 Fixes a regression on huffingtonpost.com. 46020 46021 New tests added to fast/inline 46022 46023 * rendering/InlineFlowBox.cpp: 46024 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 46025 (WebCore::InlineFlowBox::placeBoxesVertically): 46026 (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren): 46027 * rendering/RenderFlow.cpp: 46028 (WebCore::RenderFlow::calcMargins): 46029 * rendering/RenderFlow.h: 46030 * rendering/RenderObject.h: 46031 (WebCore::RenderObject::hasHorizontalBordersPaddingOrMargin): 46032 (WebCore::RenderObject::hasHorizontalBordersOrPadding): 46033 * rendering/bidi.cpp: 46034 (WebCore::getBorderPaddingMargin): 46035 (WebCore::RenderBlock::layoutInlineChildren): 46036 (WebCore::inlineFlowRequiresLineBox): 46037 46038 2008-02-26 Sam Weinig <sam (a] webkit.org> 46039 46040 Fix Windows build. 46041 46042 * platform/text/PlatformString.h: 46043 (WebCore::reverseFind): 46044 46045 2008-02-26 Dan Bernstein <mitz (a] apple.com> 46046 46047 Reviewed by Darin Adler. 46048 46049 - fix http://bugs.webkit.org/show_bug.cgi?id=17555 46050 <rdar://problem/5766016> REGRESSION (r27351): Thumbnails positioned wrong on Getty Images results page 46051 46052 Test: fast/dynamic/subtree-table-cell-height.html 46053 46054 * rendering/RenderObject.cpp: 46055 (WebCore::objectIsRelayoutBoundary): Exclude table cells, since their 46056 height depends on their contents even if the CSS height property is 46057 fixed. 46058 46059 2008-02-25 Sam Weinig <sam (a] webkit.org> 46060 46061 Reviewed by Dan Bernstein. 46062 46063 Make the cleanPath function in CSSStyleSelector more efficient by using 46064 a Vector<UChar>. 46065 46066 * css/CSSStyleSelector.cpp: 46067 (WebCore::cleanPath): Make this function work on a Vector<UChar> instead 46068 of a String. Also remove unnecessary reverseFind call that could be acomplished 46069 with two compares. 46070 (WebCore::checkPseudoState): Remove reserveCapacity calls now that we are using 46071 a stack buffer. 46072 * platform/text/PlatformString.h: 46073 (WebCore::find): Make this find generic enough that it can be used for 46074 String::find. 46075 (WebCore::reverseFind): Implement reverseFind so that it can be used 46076 for with a UChar* and length. 46077 * platform/text/StringImpl.cpp: 46078 (WebCore::StringImpl::find): Use implementation in PlatformString.cpp 46079 (WebCore::StringImpl::reverseFind): Ditto, 46080 46081 2008-02-26 Satoshi Nakagawa <artension (a] gmail.com> 46082 46083 Reviewed by Darin. Tweaked and landed by Alexey. 46084 46085 http://bugs.webkit.org/show_bug.cgi?id=17411 46086 Ideographic comma and full stop should be treated as line-breakable characters 46087 46088 Test: fast/text/line-breaks-after-ideographic-comma-or-full-stop.html 46089 46090 * platform/text/CharacterNames.h: Added ideographicComma and ideographicFullStop. 46091 * rendering/break_lines.cpp: (WebCore::shouldBreakAfter): Added a workaround for an issue in 46092 Unicode 5.0 that is causing this. 46093 46094 2008-02-26 Darin Fisher <darin (a] chromium.org> 46095 46096 Reviewed by eseidel. Landed by eseidel 46097 46098 Fix improperly initialized m_isUpToDate member variable. 46099 Fixs 50+ layout tests when run on Tiger. 46100 http://bugs.webkit.org/show_bug.cgi?id=17549 46101 46102 * platform/network/cf/ResourceResponse.h: 46103 (WebCore::ResourceResponse::ResourceResponse): 46104 * platform/network/mac/ResourceResponse.h: 46105 (WebCore::ResourceResponse::ResourceResponse): 46106 46107 2008-02-25 Dan Bernstein <mitz (a] apple.com> 46108 46109 Reviewed by Sam Weinig. 46110 46111 - fix http://bugs.webkit.org/show_bug.cgi?id=17152 46112 Paragraphs indented with :first-letter and text-align CSS render incorrectly 46113 46114 Test: fast/text/apply-start-width-after-skipped-text.html 46115 46116 * rendering/bidi.cpp: 46117 (WebCore::RenderBlock::findNextLineBreak): Improved the logic for when 46118 to figure in the padding, border and margin before a text node when the 46119 line begins inside a text node. 46120 46121 2008-02-25 Kevin Ollivier <kevino (a] theolliviers.com> 46122 46123 Windows build fix for wx port. 46124 46125 * loader/FTPDirectoryDocument.cpp: 46126 46127 2008-02-25 Mark Rowe <mrowe (a] apple.com> 46128 46129 Windows build fix. 46130 46131 * platform/network/cf/ResourceResponseCFNet.cpp: 46132 (WebCore::ResourceResponse::platformCompare): Implement platformCompare for ResourceResponseCFNet.cpp. 46133 46134 2008-02-25 Beth Dakin <bdakin (a] apple.com> 46135 46136 Reviewed by Geoff. 46137 46138 Fixed for <rdar://problem/5760530> REGRESSION: Assertion failure in 46139 Document::removePendingSheet() from r30438 46140 46141 r30438 added a call to CachedResource::error() from inside 46142 Loader::didReceiveData() if a CSS file 4xxs. There was an 46143 assumption in the loader, though, that either error() would be 46144 called, or didFinishLoading() would be called, so some work is 46145 duplicated in each. Now that we are calling an error() on files 46146 that will also make it to didFinishLoading() (since they succeeded 46147 in the network layer), we need to make sure we do not duplicate the 46148 work. CachedCSSStyleSheet::error() calls checkNotify, which ends up 46149 decrementing the document's pending style sheet counter. 46150 checkNotify() was still getting called, though, through the normal 46151 didFinishLoading code path, and the counter was being decremented 46152 twice. Bad! 46153 46154 * loader/loader.cpp: 46155 (WebCore::Loader::didFinishLoading): 46156 (WebCore::Loader::didReceiveData): 46157 46158 2008-02-25 Mark Rowe <mrowe (a] apple.com> 46159 46160 Fix the Gtk, wx and Qt builds. 46161 46162 * GNUmakefile.am: Add new files. 46163 * WebCore.pro: Ditto. 46164 * WebCoreSources.bkl: Ditto. 46165 * platform/network/AuthenticationChallengeBase.h: Fix up argument types. 46166 46167 2008-02-25 Darin Fisher <darin (a] chromium.org> 46168 46169 Reviewed by Darin Adler. 46170 46171 Eliminate some #ifdefs from headers in platform/network. 46172 http://bugs.webkit.org/show_bug.cgi?id=17210 46173 46174 * WebCore.base.exp: 46175 * WebCore.order: 46176 * WebCore.vcproj/WebCore.vcproj: 46177 * WebCore.xcodeproj/project.pbxproj: 46178 * dom/XMLTokenizer.cpp: 46179 * loader/ResourceLoader.h: 46180 * platform/network/AuthenticationChallenge.cpp: Removed. 46181 * platform/network/AuthenticationChallenge.h: Removed. 46182 * platform/network/AuthenticationChallengeBase.cpp: Copied from platform/network/AuthenticationChallenge.cpp. 46183 (WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase): 46184 (WebCore::AuthenticationChallengeBase::previousFailureCount): 46185 (WebCore::AuthenticationChallengeBase::proposedCredential): 46186 (WebCore::AuthenticationChallengeBase::protectionSpace): 46187 (WebCore::AuthenticationChallengeBase::failureResponse): 46188 (WebCore::AuthenticationChallengeBase::error): 46189 (WebCore::AuthenticationChallengeBase::isNull): 46190 (WebCore::AuthenticationChallengeBase::nullify): 46191 (WebCore::AuthenticationChallengeBase::compare): 46192 * platform/network/AuthenticationChallengeBase.h: Copied from platform/network/AuthenticationChallenge.h. 46193 (WebCore::AuthenticationChallengeBase::platformCompare): 46194 (WebCore::operator==): 46195 (WebCore::operator!=): 46196 * platform/network/ResourceError.cpp: Removed. 46197 * platform/network/ResourceError.h: Removed. 46198 * platform/network/ResourceErrorBase.cpp: Copied from platform/network/ResourceError.cpp. 46199 (WebCore::ResourceErrorBase::lazyInit): 46200 (WebCore::ResourceErrorBase::compare): 46201 * platform/network/ResourceErrorBase.h: Copied from platform/network/ResourceError.h. 46202 (WebCore::ResourceErrorBase::isNull): 46203 (WebCore::ResourceErrorBase::domain): 46204 (WebCore::ResourceErrorBase::errorCode): 46205 (WebCore::ResourceErrorBase::failingURL): 46206 (WebCore::ResourceErrorBase::localizedDescription): 46207 (WebCore::ResourceErrorBase::ResourceErrorBase): 46208 (WebCore::ResourceErrorBase::platformLazyInit): 46209 (WebCore::ResourceErrorBase::platformCompare): 46210 (WebCore::operator==): 46211 * platform/network/ResourceResponseBase.cpp: 46212 (WebCore::ResourceResponseBase::isHTTP): 46213 (WebCore::ResourceResponseBase::url): 46214 (WebCore::ResourceResponseBase::setUrl): 46215 (WebCore::ResourceResponseBase::mimeType): 46216 (WebCore::ResourceResponseBase::setMimeType): 46217 (WebCore::ResourceResponseBase::expectedContentLength): 46218 (WebCore::ResourceResponseBase::setExpectedContentLength): 46219 (WebCore::ResourceResponseBase::textEncodingName): 46220 (WebCore::ResourceResponseBase::setTextEncodingName): 46221 (WebCore::ResourceResponseBase::suggestedFilename): 46222 (WebCore::ResourceResponseBase::setSuggestedFilename): 46223 (WebCore::ResourceResponseBase::httpStatusCode): 46224 (WebCore::ResourceResponseBase::setHTTPStatusCode): 46225 (WebCore::ResourceResponseBase::httpStatusText): 46226 (WebCore::ResourceResponseBase::setHTTPStatusText): 46227 (WebCore::ResourceResponseBase::httpHeaderField): 46228 (WebCore::ResourceResponseBase::setHTTPHeaderField): 46229 (WebCore::ResourceResponseBase::httpHeaderFields): 46230 (WebCore::ResourceResponseBase::isAttachment): 46231 (WebCore::ResourceResponseBase::setExpirationDate): 46232 (WebCore::ResourceResponseBase::expirationDate): 46233 (WebCore::ResourceResponseBase::setLastModifiedDate): 46234 (WebCore::ResourceResponseBase::lastModifiedDate): 46235 (WebCore::ResourceResponseBase::lazyInit): 46236 (WebCore::ResourceResponseBase::compare): 46237 * platform/network/ResourceResponseBase.h: 46238 (WebCore::ResourceResponseBase::ResourceResponseBase): 46239 (WebCore::ResourceResponseBase::platformLazyInit): 46240 (WebCore::ResourceResponseBase::platformCompare): 46241 (WebCore::operator==): 46242 * platform/network/cf/AuthenticationCF.cpp: 46243 (WebCore::AuthenticationChallenge::AuthenticationChallenge): 46244 (WebCore::AuthenticationChallenge::platformCompare): 46245 * platform/network/cf/AuthenticationChallenge.h: Added. 46246 (WebCore::AuthenticationChallenge::AuthenticationChallenge): 46247 (WebCore::AuthenticationChallenge::sourceHandle): 46248 (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef): 46249 * platform/network/cf/ResourceError.h: Added. 46250 (WebCore::ResourceError::ResourceError): 46251 * platform/network/cf/ResourceErrorCF.cpp: 46252 (WebCore::ResourceError::ResourceError): 46253 (WebCore::ResourceError::platformLazyInit): 46254 (WebCore::ResourceError::platformCompare): 46255 (WebCore::ResourceError::operator CFStreamError): 46256 * platform/network/cf/ResourceResponse.h: 46257 (WebCore::ResourceResponse::ResourceResponse): 46258 * platform/network/cf/ResourceResponseCFNet.cpp: 46259 (WebCore::ResourceResponse::platformLazyInit): 46260 * platform/network/curl/AuthenticationChallenge.h: Added. 46261 (WebCore::AuthenticationChallenge::AuthenticationChallenge): 46262 * platform/network/curl/ResourceError.h: Added. 46263 (WebCore::ResourceError::ResourceError): 46264 * platform/network/curl/ResourceResponse.h: 46265 (WebCore::ResourceResponse::ResourceResponse): 46266 * platform/network/mac/AuthenticationChallenge.h: Added. 46267 (WebCore::AuthenticationChallenge::AuthenticationChallenge): 46268 (WebCore::AuthenticationChallenge::sender): 46269 (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge): 46270 * platform/network/mac/AuthenticationMac.mm: 46271 (WebCore::AuthenticationChallenge::AuthenticationChallenge): 46272 (WebCore::AuthenticationChallenge::platformCompare): 46273 * platform/network/mac/ResourceError.h: Added. 46274 (WebCore::ResourceError::ResourceError): 46275 * platform/network/mac/ResourceErrorMac.mm: 46276 (WebCore::ResourceError::platformLazyInit): 46277 (WebCore::ResourceError::platformCompare): 46278 * platform/network/mac/ResourceResponse.h: 46279 (WebCore::ResourceResponse::ResourceResponse): 46280 * platform/network/mac/ResourceResponseMac.mm: 46281 (WebCore::ResourceResponse::platformLazyInit): 46282 (WebCore::ResourceResponse::platformCompare): 46283 * platform/network/qt/AuthenticationChallenge.h: Added. 46284 (WebCore::AuthenticationChallenge::AuthenticationChallenge): 46285 * platform/network/qt/ResourceError.h: Added. 46286 (WebCore::ResourceError::ResourceError): 46287 * platform/network/qt/ResourceResponse.h: 46288 (WebCore::ResourceResponse::ResourceResponse): 46289 * xml/XSLTProcessor.cpp: 46290 46291 2008-02-25 Anders Carlsson <andersca (a] apple.com> 46292 46293 Reviewed by Darin. 46294 46295 Move remaining render style objects over to start with a refcount of 1 and get 46296 rid of DeprecatedDataRef. 46297 46298 * rendering/DataRef.h: 46299 (WebCore::DataRef::operator*): 46300 (WebCore::DataRef::operator->): 46301 * rendering/RenderStyle.h: 46302 * rendering/SVGRenderStyle.cpp: 46303 (WebCore::SVGRenderStyle::SVGRenderStyle): 46304 * rendering/SVGRenderStyle.h: 46305 (WebCore::SVGRenderStyle::create): 46306 (WebCore::SVGRenderStyle::copy): 46307 * rendering/SVGRenderStyleDefs.cpp: 46308 (StyleFillData::StyleFillData): 46309 (StyleStrokeData::StyleStrokeData): 46310 (StyleStopData::StyleStopData): 46311 (StyleTextData::StyleTextData): 46312 (StyleClipData::StyleClipData): 46313 (StyleMaskData::StyleMaskData): 46314 (StyleMarkerData::StyleMarkerData): 46315 (StyleMiscData::StyleMiscData): 46316 * rendering/SVGRenderStyleDefs.h: 46317 (WebCore::StyleFillData::create): 46318 (WebCore::StyleFillData::copy): 46319 (WebCore::StyleStrokeData::create): 46320 (WebCore::StyleStrokeData::copy): 46321 (WebCore::StyleStopData::create): 46322 (WebCore::StyleStopData::copy): 46323 (WebCore::StyleTextData::create): 46324 (WebCore::StyleTextData::copy): 46325 (WebCore::StyleClipData::create): 46326 (WebCore::StyleClipData::copy): 46327 (WebCore::StyleMaskData::create): 46328 (WebCore::StyleMaskData::copy): 46329 (WebCore::StyleMarkerData::create): 46330 (WebCore::StyleMarkerData::copy): 46331 (WebCore::StyleMiscData::create): 46332 (WebCore::StyleMiscData::copy): 46333 46334 2008-02-25 Dan Bernstein <mitz (a] apple.com> 46335 46336 Reviewed by Dave Hyatt. 46337 46338 - remove file-static BidiRun variables from bidi.cpp 46339 46340 * platform/text/BidiResolver.h: 46341 (WebCore::BidiResolver::): Initialize m_logicallyLastRun. 46342 (WebCore::BidiResolver::logicallyLastRun): Added. 46343 (WebCore::BidiResolver::runCount): Made unsigned. 46344 (WebCore::::reverseRuns): Changed ints to unsigned. 46345 (WebCore::::createBidiRunsForLine): Made this function set 46346 m_logicallyLastRun. 46347 * rendering/RenderBlock.h: 46348 * rendering/bidi.cpp: 46349 (WebCore::BidiState::addRun): Removed setting of sLogicallyLastBidiRun. 46350 (WebCore::RenderBlock::constructLine): Removed unused start parameter 46351 and added run count and first and last run parameters. Replaced end 46352 parameter with lastLine boolean and endObject pointer. 46353 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added first 46354 and logically last run parameters. 46355 (WebCore::RenderBlock::computeVerticalPositionsForLine): Added firstRun 46356 parameter. 46357 (WebCore::RenderBlock::bidiReorderLine): Removed setting of static 46358 variables. 46359 (WebCore::RenderBlock::layoutInlineChildren): Changed to use BidiState 46360 accessors instead of file statics. 46361 46362 2008-02-25 Rodney Dawes <dobey (a] wayofthemonkey.com> 46363 46364 Reviewed by Jon Honeycutt. 46365 46366 http://bugs.webkit.org/show_bug.cgi?id=16924 46367 Bug 16924: Shared PluginDatabase, PluginPackage, and PlugInInfoStore implementations 46368 46369 Add PluginInfoStore.cpp and new PluginDatabase.cpp to GTK+ and Qt ports. 46370 Remove old PlugInInfoStoreQt.cpp as it is obsoleted by shared code. 46371 Add PluginInfoStore, PluginDatabase, and PluginStream files to Wx build. 46372 Add new PluginDatabase.cpp to Windows build. 46373 Add temporary stubs for new PluginDatabase and PluginPackage. 46374 shared classes to GTK+, Qt, and Wx ports. 46375 Copy PluginDatabaseWin.cpp to PluginDatabase.cpp to preserve history. 46376 Remove shared code from PluginDatabaseWin.cpp. 46377 Remove Windows-specific code from PluginDatabase.cpp. 46378 Use PlatformModule and PlatformFileTime instead of HMODULE and FILETIME. 46379 Remove extraneous PluginPackage:: from hash() class method prototype. 46380 Subsume storeFileVersion into PluginPackage::fetchInfo. 46381 Add cross-platform PlatformModuleVersion type definition. 46382 Use PlatformModuleVersion to store the module version. 46383 Rename m_fileVersion[ML]S to m_moduleVersion. 46384 Change compareFileVersion to use PlatformModuleVersion as the argument. 46385 Move PluginView::determineQuirks and m_quirks to PluginPackage. 46386 Updated determineQuirks for the PlatformModuleVersion. 46387 46388 * GNUmakefile.am: 46389 * WebCore.pro: 46390 * WebCoreSources.bkl: 46391 * webcore-base.bkl: 46392 * WebCore.vcproj/WebCore.vcproj: 46393 * Platform/FileSystem.h: 46394 * platform/qt/PlugInInfoStoreQt.cpp: 46395 * platform/gtk/TemporaryLinkStubs.cpp: 46396 * platform/qt/TemporaryLinkStubs.cpp: 46397 * platform/wx/TemporaryLinkStubs.cpp: 46398 * plugins/PluginDatabase.cpp: 46399 * plugins/PluginDatabase.h: 46400 * plugins/win/PluginDatabaseWin.cpp: 46401 * plugins/PluginPackage.h: 46402 * plugins/win/PluginPackageWin.cpp: 46403 * plugins/PluginView.h: 46404 * plugins/win/PluginViewWin.cpp: 46405 46406 2008-02-25 Anders Carlsson <andersca (a] apple.com> 46407 46408 Reviewed by Darin. 46409 46410 Make more style objects start out with a refcount of 1. 46411 46412 * rendering/RenderStyle.cpp: 46413 (WebCore::StyleSurroundData::StyleSurroundData): 46414 (WebCore::StyleBoxData::StyleBoxData): 46415 (WebCore::StyleVisualData::StyleVisualData): 46416 (WebCore::StyleBackgroundData::StyleBackgroundData): 46417 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 46418 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 46419 (WebCore::StyleInheritedData::StyleInheritedData): 46420 * rendering/RenderStyle.h: 46421 (WebCore::StyleSurroundData::create): 46422 (WebCore::StyleSurroundData::copy): 46423 (WebCore::StyleBoxData::create): 46424 (WebCore::StyleBoxData::copy): 46425 (WebCore::StyleVisualData::create): 46426 (WebCore::StyleVisualData::copy): 46427 (WebCore::StyleBackgroundData::create): 46428 (WebCore::StyleBackgroundData::copy): 46429 (WebCore::StyleBackgroundData::~StyleBackgroundData): 46430 (WebCore::StyleRareNonInheritedData::create): 46431 (WebCore::StyleRareNonInheritedData::copy): 46432 (WebCore::StyleRareInheritedData::create): 46433 (WebCore::StyleRareInheritedData::copy): 46434 (WebCore::StyleInheritedData::create): 46435 (WebCore::StyleInheritedData::copy): 46436 46437 2008-02-25 Anders Carlsson <andersca (a] apple.com> 46438 46439 Reviewed by Darin. 46440 46441 Make some of the refcounted style objects start out with a refcount of 1. 46442 46443 * rendering/DataRef.h: 46444 Make a DeprecatedDataRef class which is just a copy of the old DataRef class. 46445 Change DataRef to use ::create() and ::copy() instead of the constructors. 46446 Change DataRef's pointer to be a RefPtr instead. 46447 46448 * rendering/RenderStyle.cpp: 46449 (WebCore::StyleMarqueeData::StyleMarqueeData): 46450 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData): 46451 (WebCore::StyleMultiColData::StyleMultiColData): 46452 (WebCore::StyleTransformData::StyleTransformData): 46453 Start with a RefCount of 1. 46454 46455 * rendering/RenderStyle.h: 46456 * rendering/SVGRenderStyle.h: 46457 Add ::create() and ::copy() methods. Make not yet converted classes use DeprecatedDataRef. 46458 46459 2008-02-25 Darin Adler <darin (a] apple.com> 46460 46461 Reviewed by Anders. 46462 Based on a patch by Tim Steele <timsteele41 (a] gmail.com>. 46463 46464 - fix http://bugs.webkit.org/show_bug.cgi?id=17186 46465 Fragment navigation within a page permanently cancels meta refresh 46466 46467 Test: fast/loader/meta-refresh-anchor-click.html 46468 46469 * loader/FrameLoader.cpp: 46470 (WebCore::FrameLoader::load): When load type is FrameLoadTypeRedirectWithLockedHistory, 46471 always do a real load. This makes sure that meta refresh loads are treated as real loads 46472 rather than anchor scrolls. Also tweaked formatting a bit. 46473 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): This function is 46474 an alternate way to complete a load, so it needs to start the redirection timer if 46475 redirection has already been scheduled. 46476 46477 2008-02-25 Dan Bernstein <mitz (a] apple.com> 46478 46479 Reviewed by Darin Adler. 46480 46481 - avoid counting spaces in non-justified text 46482 46483 * rendering/bidi.cpp: 46484 Removed file-static numSpaces. 46485 (WebCore::BidiState::addRun): Removed space counting. 46486 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added space 46487 counting, conditional on the block having the text-align: justify 46488 property value. 46489 (WebCore::RenderBlock::bidiReorderLine): Removed initialization of 46490 numSpaces. 46491 46492 2008-02-25 Darin Adler <darin (a] apple.com> 46493 46494 Requested by Steve. 46495 46496 * platform/graphics/cg/ImageSourceCG.cpp: 46497 (WebCore::ImageSource::createFrameAtIndex): Put the string into a global 46498 variable (because CFSTR is inefficient on Windows). 46499 46500 2008-02-25 Darin Adler <darin (a] apple.com> 46501 46502 Reviewed by Adam. 46503 46504 * WebCore.base.exp: Export blankURL, and sort the file. 46505 46506 2008-02-25 Simon Hausmann <hausmann (a] webkit.org> 46507 46508 Reviewed by Mark Rowe. 46509 46510 Fix compilation with gcc 4.3, added stdio.h and unistd.h inclusions. 46511 46512 * dom/Position.cpp: 46513 * dom/Range.cpp: 46514 * editing/Selection.cpp: 46515 * editing/SelectionController.cpp: 46516 * editing/VisiblePosition.cpp: 46517 * history/HistoryItem.cpp: 46518 * loader/Cache.cpp: 46519 * loader/FTPDirectoryParser.cpp: 46520 * platform/KURL.cpp: 46521 * platform/gtk/FileSystemGtk.cpp: 46522 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 46523 * platform/text/TextCodecLatin1.cpp: 46524 * platform/text/TextCodecUserDefined.cpp: 46525 * rendering/CounterNode.cpp: 46526 * rendering/RenderObject.cpp: 46527 46528 2008-02-25 Johnny Ding <johnnyding.webkit (a] gmail.com> 46529 46530 Reviewed by Darin Adler. 46531 46532 - fix http://bugs.webkit.org/show_bug.cgi?id=17444 46533 46534 In HTMLTokenizer::write, the code checks 'pendingScripts.isEmpty()' to decide 46535 whether to save prependingSrc or not. However, in HTMLTokenizer::scriptHandler 46536 and HTMLTokenizer::scriptExecution, the code checks testBit:LoadingExtScript 46537 to decide whether to save prependingSrc or not. The later behavior is not right 46538 because, in scriptHandler and scriptExecution, even the pendingScripts queue is 46539 empty, the testBit:LoadingExtScript might be TRUE. 46540 46541 Test: fast/tokenizer/nested-multiple-scripts.html 46542 46543 * html/HTMLTokenizer.cpp: 46544 (WebCore::HTMLTokenizer::scriptHandler): check pendingScripts.isEmpty() instead of 46545 checking state.loadingExtScript(). 46546 (WebCore::HTMLTokenizer::scriptExecution): check pendingScripts.isEmpty() instead of 46547 checking state.loadingExtScript(). 46548 46549 2008-02-24 Darin Adler <darin (a] apple.com> 46550 46551 * dom/Document.h: Removed stray duplicate declaration of 46552 RegisteredEventListenerList. 46553 46554 2008-02-24 Darin Adler <darin (a] apple.com> 46555 46556 * dom/Range.cpp: 46557 (WebCore::Range::surroundContents): Removed incorrect comment. 46558 I added it a while ago, and I was just mixed up. 46559 46560 2008-02-24 Darin Adler <darin (a] apple.com> 46561 46562 - quick follow-up to that last check-in 46563 46564 * platform/graphics/cg/ImageSourceCG.cpp: 46565 (WebCore::ImageSource::createFrameAtIndex): Use CFEqual instead of 46566 WebCore::String's == for speed. 46567 46568 2008-02-24 Michael Knaup <michael.knaup (a] mac.com> 46569 46570 Reviewed by Darin. 46571 46572 Bug 8749: XBM rendered incorrectly as black on white 46573 46574 xbm images are now created and rendered using black on a 46575 transparent background (same behavior as in Firefox) 46576 46577 Test: platform/mac/fast/canvas/canvas-draw-xbm-image.html 46578 46579 * platform/graphics/cg/ImageSourceCG.cpp: 46580 (WebCore::ImageSource::createFrameAtIndex): 46581 46582 2008-02-24 Dan Bernstein <mitz (a] apple.com> 46583 46584 Reviewed by Darin Adler. 46585 46586 - fix http://bugs.webkit.org/show_bug.cgi?id=17471 46587 REGRESSION (r30438): Crash in deleteLineBoxes in cursor-adjusting code browsing Acid3 46588 46589 Test: http/tests/misc/object-image-error.html 46590 46591 * html/HTMLObjectElement.cpp: 46592 (WebCore::HTMLObjectElement::attach): Added an early return in case 46593 updateFromElement() has changed the object to use fallback content. 46594 46595 2008-02-24 Dan Bernstein <mitz (a] apple.com> 46596 46597 Reviewed by Darin Adler. 46598 46599 - fix float positioning when a float that does not fit on the line is 46600 followed by a float that does 46601 46602 Test: fast/block/float/narrow-after-wide.html 46603 46604 * rendering/bidi.cpp: 46605 (WebCore::RenderBlock::findNextLineBreak): Changed to not position any 46606 more floats on the line once a float that does not fit is encountered. 46607 That float should be pushed to the next line, and so should all floats 46608 that follow, regardless of whether they can fit on the current line. 46609 46610 2008-02-24 Darin Adler <darin (a] apple.com> 46611 46612 Reviewed by Sam. 46613 46614 - fix http://bugs.webkit.org/show_bug.cgi?id=16770 46615 Acid3 expects :visited styled links to restyle on iframe load 46616 46617 Disentangle global history updating from the back/forward history. 46618 There are many cases where we don't want to create a new back/forward 46619 item, but we do still want to add to the global history (used for visited 46620 link coloring) in those cases. 46621 46622 Test: fast/history/subframe-is-visited.html 46623 46624 * loader/FrameLoader.cpp: 46625 (WebCore::FrameLoader::updateGlobalHistory): Renamed from 46626 addHistoryForCurrentLocation and removed the back/forward handling. 46627 (WebCore::FrameLoader::updateHistoryForStandardLoad): Streamlined logic a 46628 bit. Replaced call to addHistoryForCurrentLocation with a call to 46629 addBackForwardItemClippedAtTarget. Added an unconditional call to 46630 updateGlobalHistory. 46631 (WebCore::FrameLoader::updateHistoryForClientRedirect): Added a FIXME; 46632 why doesn't this function update global history? 46633 (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Ditto. 46634 (WebCore::FrameLoader::updateHistoryForReload): Replaced the direct call 46635 the client with a call to the new updateGlobalHistory function. 46636 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Did 46637 the same changes as for updateHistoryForStandardLoad. 46638 * loader/FrameLoader.h: More of the same. 46639 46640 * loader/FrameLoaderClient.h: Removed updateGlobalHistoryForReload and 46641 renamed updateGlobalHistoryForStandardLoad to updateGlobalHistory. 46642 46643 * svg/graphics/SVGImageEmptyClients.h: 46644 (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistory): Updated to 46645 match the above. 46646 46647 2008-02-23 Darin Adler <darin (a] apple.com> 46648 46649 Reviewed by Sam. 46650 46651 - fix http://bugs.webkit.org/show_bug.cgi?id=17508 46652 REGRESSION (r30535): mailto regression tests failing 46653 46654 * html/HTMLFormElement.cpp: 46655 (WebCore::HTMLFormElement::submit): Restore the old logic, with its unpleasant 46656 trip through String do to the replace operation. It's inefficient, but there's 46657 no real reason to worry about the efficiency of mailto forms, since that feature 46658 is nearly obsolete. 46659 46660 2008-02-23 Darin Adler <darin (a] apple.com> 46661 46662 Reviewed by Sam. 46663 46664 - replace SegmentedString's use of DeprecatedValueList with Deque 46665 46666 Testing indicates this is a slight speed-up for page loading. 46667 46668 * platform/text/SegmentedString.cpp: 46669 (WebCore::SegmentedString::length): Update to use Deque. 46670 (WebCore::SegmentedString::setExcludeLineNumbers): Ditto. 46671 (WebCore::SegmentedString::append): Ditto. 46672 (WebCore::SegmentedString::prepend): Ditto. 46673 (WebCore::SegmentedString::advanceSubstring): Ditto. 46674 (WebCore::SegmentedString::toString): Ditto. 46675 * platform/text/SegmentedString.h: Tweak formatting. Don't bother making an entire 46676 class private with a single friend. Change m_sbstrings from a DeprecatedValueList 46677 to a Deque. 46678 46679 2008-02-23 Darin Adler <darin (a] apple.com> 46680 46681 Reviewed by Anders. 46682 46683 - fix http://bugs.webkit.org/show_bug.cgi?id=17506 46684 REGRESSION (r30535): ASSERTION FAILED: i < size() 46685 46686 * loader/TextResourceDecoder.cpp: 46687 (WebCore::findTextEncoding): Fix off-by-one in code that null-terminates 46688 the C string here. 46689 46690 2008-02-23 Matt Lilek <webkit (a] mattlilek.com> 46691 46692 Not reviewed, build fix. 46693 46694 * platform/network/cf/FormDataStreamCFNet.cpp: 46695 (WebCore::httpBodyFromRequest): 46696 * plugins/win/PluginViewWin.cpp: 46697 (WebCore::PluginView::handlePost): 46698 46699 2008-02-23 Dan Bernstein <mitz (a] apple.com> 46700 46701 - fix a typo 46702 46703 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: 46704 (WebCore::GlyphPage::fill): 46705 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: 46706 (WebCore::GlyphPage::fill): 46707 46708 2008-02-23 Dan Bernstein <mitz (a] apple.com> 46709 46710 Reviewed by Anders Carlsson. 46711 46712 - fix GlyphPage::fill() logic for partial page fills 46713 46714 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: 46715 (WebCore::GlyphPage::fill): Changed the test for non-BMP characters to 46716 work correctly when the length parameter is less than a full page size. 46717 Also updated the comment. 46718 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: 46719 (WebCore::GlyphPage::fill): Ditto. 46720 46721 2008-02-23 Kevin Ollivier <kevino (a] theolliviers.com> 46722 46723 Reviewed by Darin Adler. 46724 46725 Move text drawing into wxcode, as we need platform-dependent 46726 APIs for drawing non-kerned text, which wx doesn't yet have. 46727 (But hopefully will, once these APIs are fleshed out on all 46728 platforms!) 46729 46730 http://bugs.webkit.org/show_bug.cgi?id=17396 46731 46732 * platform/graphics/wx/FontWx.cpp: 46733 (WebCore::Font::drawGlyphs): 46734 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Added. 46735 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Added. 46736 * platform/wx/wxcode/non-kerned-drawing.h: Added. 46737 * platform/wx/wxcode/win/non-kerned-drawing.cpp: Added. 46738 * webcore-wx.bkl: 46739 46740 2008-02-23 Darin Adler <darin (a] apple.com> 46741 46742 Pointed out by Mitz. 46743 46744 * loader/TextResourceDecoder.cpp: 46745 (WebCore::find): Fix a "==" that was supposed to be ">". 46746 (WebCore::findIgnoringCase): Ditto. 46747 46748 2008-02-23 Darin Adler <darin (a] apple.com> 46749 46750 Reviewed by Sam. 46751 46752 * html/HTMLFormElement.cpp: 46753 (WebCore::appendEncodedString): Fix buffer overrun in the code I just landed. 46754 46755 2008-02-23 Darin Adler <darin (a] apple.com> 46756 46757 Reviewed by Sam. 46758 46759 - remove all but 1 remaining use of DeprecatedCString 46760 - change FormData to start refcount at 1 46761 46762 * html/HTMLFormElement.cpp: 46763 (WebCore::appendString): Added. Helpers for Vector<char>. 46764 (WebCore::appendEncodedString): Renamed from encodeCString and changed to 46765 append to an existing Vector<char> to cut down a bit on memory allocation. 46766 (WebCore::HTMLFormElement::formData): Replace the DeprecatedCString called 46767 enc_string with a Vector<char> called encodedData. Change to use the new 46768 FormData::create function. 46769 (WebCore::HTMLFormElement::submit): Same thing, for the mailto form code. 46770 46771 * loader/TextResourceDecoder.cpp: 46772 (WebCore::find): Added. Helper for searching in char* with length. 46773 (WebCore::findIgnoringCase): Ditto. 46774 (WebCore::findTextEncoding): Added. Helper for looking up a text encoding 46775 when we have a char* with length rather than a null-terminated char*. 46776 (WebCore::findXMLEncoding): Changed to use char* and length rather than 46777 DeprecatedCString. Also fixed some things that would be one-character 46778 buffer overruns in a string that's not null-terminated. 46779 (WebCore::TextResourceDecoder::checkForCSSCharset): Change to use 46780 findTextEncoding rather than constructing a CString to pass to the 46781 TextEncodingconstructor. 46782 (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto. 46783 46784 * platform/network/FormData.cpp: 46785 (WebCore::FormData::FormData): Changed to start refcount at 1. 46786 (WebCore::FormData::create): Added. 46787 (WebCore::FormData::copy): Call adoptRef since refcount starts at 1. 46788 * platform/network/FormData.h: Made constructor private. Added create functions. 46789 46790 * platform/network/mac/ResourceRequestMac.mm: 46791 (WebCore::ResourceRequest::doUpdateResourceRequest): Call FormData::create. 46792 * xml/XMLHttpRequest.cpp: 46793 (WebCore::XMLHttpRequest::send): Ditto. 46794 46795 2008-02-23 Darin Adler <darin (a] apple.com> 46796 46797 Reviewed by Anders. 46798 46799 - http://bugs.webkit.org/show_bug.cgi?id=17067 46800 eliminate attributes parameter from JSObject::put for speed/clarity 46801 46802 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 46803 (WebCore::JSCSSStyleDeclaration::customPut): Remove attributes argument. 46804 46805 * bindings/js/JSCanvasPixelArrayCustom.cpp: 46806 (WebCore::JSCanvasPixelArray::indexGetter): Use early exit idiom. 46807 (WebCore::JSCanvasPixelArray::indexSetter): Moved length check into the 46808 CanvasPixelArray object, for consistency with the getter. Removed attributes 46809 argument. 46810 46811 * bindings/js/JSDOMWindowCustom.cpp: 46812 (WebCore::JSDOMWindow::customPut): Removed special case for variable 46813 initialization, which is not needed since that does use put any more. 46814 Removed attributes argument. 46815 46816 * bindings/js/JSEventTargetBase.h: 46817 (WebCore::JSEventTargetBase::putValueProperty): Removed attributes argument. 46818 (WebCore::JSEventTargetBase::put): Ditto. 46819 (WebCore::JSEventTargetPrototype::self): Removed Internal flag. 46820 * bindings/js/JSEventTargetNode.cpp: 46821 (WebCore::JSEventTargetNode::put): Removed attributes argument. 46822 (WebCore::JSEventTargetNode::putValueProperty): Ditto. 46823 * bindings/js/JSEventTargetNode.h: Ditto. 46824 * bindings/js/JSHTMLAppletElementCustom.cpp: 46825 (WebCore::JSHTMLAppletElement::customPut): Ditto. 46826 * bindings/js/JSHTMLEmbedElementCustom.cpp: 46827 (WebCore::JSHTMLEmbedElement::customPut): Ditto. 46828 * bindings/js/JSHTMLInputElementBase.cpp: 46829 (WebCore::JSHTMLInputElementBase::put): Ditto. 46830 (WebCore::JSHTMLInputElementBase::putValueProperty): Ditto. 46831 * bindings/js/JSHTMLInputElementBase.h: Ditto. 46832 * bindings/js/JSHTMLObjectElementCustom.cpp: 46833 (WebCore::JSHTMLObjectElement::customPut): Ditto. 46834 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 46835 (WebCore::JSHTMLOptionsCollection::indexSetter): Ditto. 46836 * bindings/js/JSHTMLSelectElementCustom.cpp: 46837 (WebCore::JSHTMLSelectElement::indexSetter): Ditto. 46838 * bindings/js/JSHistoryCustom.cpp: 46839 (WebCore::JSHistory::customPut): Ditto. 46840 * bindings/js/JSLocation.cpp: 46841 (WebCore::JSLocation::put): Ditto. 46842 * bindings/js/JSLocation.h: Ditto. 46843 * bindings/js/JSXMLHttpRequest.cpp: 46844 (WebCore::JSXMLHttpRequest::put): Ditto. 46845 (WebCore::JSXMLHttpRequest::putValueProperty): Ditto. 46846 * bindings/js/JSXMLHttpRequest.h: Ditto. 46847 46848 * bindings/js/kjs_dom.cpp: 46849 (WebCore::getRuntimeObject): Changed return type to JSObject*. 46850 * bindings/js/kjs_dom.h: Ditto. 46851 46852 * bindings/js/kjs_events.cpp: 46853 (WebCore::JSClipboard::put): Removed attributes argument. 46854 (WebCore::JSClipboard::putValueProperty): Ditto. 46855 * bindings/js/kjs_events.h: Ditto. 46856 46857 * bindings/js/kjs_html.cpp: 46858 (WebCore::runtimeObjectGetter): Updated for change to getRuntimeObject to 46859 return a JSObject. Used early exit idiom. 46860 (WebCore::runtimeObjectPropertyGetter): Ditto. 46861 (WebCore::runtimeObjectCustomGetOwnPropertySlot): Ditto. 46862 (WebCore::runtimeObjectCustomPut): Use hasProperty to check for properties 46863 that we should put with the property syntax instead of canPut. 46864 (WebCore::runtimeObjectImplementsCall): Ditto. 46865 (WebCore::runtimeObjectCallAsFunction): Ditto. 46866 * bindings/js/kjs_html.h: Removed attributes argument to runtimeObjectCustomPut. 46867 46868 * bindings/js/kjs_window.cpp: 46869 (KJS::Window::put): Removed attributes argument. 46870 * bindings/js/kjs_window.h: Ditto. 46871 46872 * bindings/scripts/CodeGeneratorJS.pm: Removed attributes argument from put, 46873 putValueProperty, customPut, and indexSetter. 46874 46875 * html/CanvasPixelArray.h: 46876 (WebCore::CanvasPixelArray::set): Added index checking here, as in the get 46877 function. Before, the checking was done in the JavaScript bindings for set. 46878 46879 2008-02-23 Brent Fulgham <bfulgham (a] gmail.com> 46880 46881 Reviewed by Adam and Darin. 46882 46883 http://bugs.webkit.org/show_bug.cgi?id=17442 46884 Correct the Windows Cairo implementation of GraphicsContext so 46885 that Windows 'WorldTransform' is kept in sync with the Cairo 46886 transormations. 46887 46888 Also corrects an uninitialized variable in the Cairo Windows 46889 image drag handler. 46890 46891 WARNING: NO TEST CASES ADDED OR CHANGED 46892 46893 * platform/graphics/cairo/GraphicsContextCairo.cpp: Modify 46894 methods to call GraphicsContextPlatformPrivate calls, just 46895 as is done for the CoreGraphics version. These calls are 46896 nop's for everything but Windows. 46897 (WebCore::GraphicsContext::savePlatformState): 46898 (WebCore::GraphicsContext::restorePlatformState): 46899 (WebCore::GraphicsContext::clip): 46900 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 46901 (WebCore::GraphicsContext::translate): 46902 (WebCore::GraphicsContext::concatCTM): Re-enable for Windows 46903 (WebCore::GraphicsContext::beginTransparencyLayer): 46904 (WebCore::GraphicsContext::endTransparencyLayer): 46905 (WebCore::GraphicsContext::rotate): 46906 (WebCore::GraphicsContext::scale): 46907 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 46908 * platform/graphics/win/GraphicsContextCGWin.cpp: Move common 46909 code for handling WorldTransform calls to parent class. 46910 * platform/graphics/win/GraphicsContextCairoWin.cpp: Add common 46911 code for handling WorldTransform calls. 46912 (WebCore::GraphicsContextPlatformPrivate::concatCTM): Change 46913 implementation so that it only handles WorldTransform. The 46914 Cairo update is done in GraphicsContextCairo.cpp 46915 * platform/graphics/win/GraphicsContextWin.cpp: Call platform-private 46916 methods to keep WorldTransform in sync. 46917 (WebCore::GraphicsContextPlatformPrivate::save): 46918 (WebCore::GraphicsContextPlatformPrivate::restore): 46919 (WebCore::GraphicsContextPlatformPrivate::clip): 46920 (WebCore::GraphicsContextPlatformPrivate::scale): 46921 (WebCore::GraphicsContextPlatformPrivate::rotate): 46922 (WebCore::GraphicsContextPlatformPrivate::translate): 46923 * platform/win/DragImageCairoWin.cpp: 46924 (WebCore::createDragImageFromImage): Correct uninitialized value 46925 46926 2008-02-23 Dan Bernstein <mitz (a] apple.com> 46927 46928 Reviewed by Dave Hyatt. 46929 46930 - make non-autowrapping text clear floats 46931 46932 Test: fast/text/whitespace/nowrap-clear-float.html 46933 46934 * rendering/RenderBlock.cpp: 46935 (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to 46936 this and changed to avoid comparing bottom to 0 in each iteration. 46937 (WebCore::RenderBlock::getClearDelta): Updated comment for the rename. 46938 * rendering/RenderBlock.h: 46939 * rendering/bidi.cpp: 46940 (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of 46941 findNextLineBreak() and simplified. 46942 (WebCore::RenderBlock::findNextLineBreak): Changed to call 46943 fitBelowFloats(). Fixed the bug by trying to fit below floats in the 46944 case of non-wrapping text. Removed some redundancy. 46945 46946 2008-02-23 Sam Weinig <sam (a] webkit.org> 46947 46948 Reviewed by Oliver Hunt. 46949 46950 Fix for http://bugs.webkit.org/show_bug.cgi?id=17504 46951 Speed up DOM lists array subscription syntax by using the fast 46952 getOwnPropertySlot and set paths 46953 46954 - 6x speed improvement on Oliver's ImageData put test. 46955 46956 * bindings/scripts/CodeGeneratorJS.pm: Add fast path for getOwnPropertySlot 46957 and put when an indexGetter or indexSetter is used. We can not use the fast 46958 path if an overridingNameGetter is used as there would be no way to override. 46959 46960 2008-02-23 Kevin Ollivier <kevino (a] theolliviers.com> 46961 46962 wx build fix after JSImageData.cpp was added. 46963 46964 * WebCoreSources.bkl: 46965 46966 2008-02-23 Alexey Proskuryakov <ap (a] webkit.org> 46967 46968 Windows build fix - move ThreadCondition implementation from WebCore to WTF. 46969 46970 * WebCore.vcproj/WebCore.vcproj: 46971 * platform/win/ThreadConditionWin.cpp: Removed. 46972 46973 2008-02-23 Alexey Proskuryakov <ap (a] webkit.org> 46974 46975 Reviewed by Darin. 46976 46977 Move basic threading support from WebCore to WTF. 46978 46979 One call that remains in WebCore is callOnMainThread(), and it has its own header now. 46980 46981 * ForwardingHeaders/wtf/Locker.h: Added. 46982 * ForwardingHeaders/wtf/MessageQueue.h: Added. 46983 * ForwardingHeaders/wtf/Threading.h: Added. 46984 * GNUmakefile.am: 46985 * WebCore.pro: 46986 * WebCore.vcproj/WebCore.vcproj: 46987 * WebCore.xcodeproj/project.pbxproj: 46988 * WebCoreSources.bkl: 46989 * bindings/js/JSCustomSQLTransactionCallback.cpp: 46990 * dom/XMLTokenizer.cpp: 46991 * loader/icon/IconDatabase.cpp: 46992 (WebCore::iconDatabase): 46993 * loader/icon/IconDatabase.h: 46994 * platform/Locker.h: Removed. 46995 * platform/MainThread.h: Copied from WebCore/platform/Threading.h. 46996 (WebCore::initializeThreadingAndMainThread): 46997 * platform/MessageQueue.h: Removed. 46998 * platform/SecurityOrigin.h: 46999 * platform/Threading.h: Removed. 47000 * platform/ThreadingNone.cpp: Removed. 47001 * platform/gtk/MainThreadGtk.cpp: Copied from WebCore/platform/gtk/ThreadingGtk.cpp. 47002 * platform/gtk/ThreadingGtk.cpp: Removed. 47003 * platform/mac/MainThreadMac.mm: Copied from WebCore/platform/mac/Threading.mm. 47004 * platform/mac/Threading.mm: Removed. 47005 * platform/pthreads: Removed. 47006 * platform/pthreads/ThreadingPthreads.cpp: Removed. 47007 * platform/qt/MainThreadQt.cpp: Copied from WebCore/platform/qt/ThreadingQt.cpp. 47008 * platform/qt/ThreadingQt.cpp: Removed. 47009 * platform/sql/SQLValue.h: 47010 * platform/sql/SQLiteAuthorizer.h: 47011 * platform/sql/SQLiteDatabase.h: 47012 * platform/win/MainThreadWin.cpp: Copied from WebCore/platform/win/ThreadingWin.cpp. 47013 (WebCore::initializeThreadingAndMainThread): 47014 * platform/win/MutexWin.cpp: Removed. 47015 * platform/win/ThreadingWin.cpp: Removed. 47016 * platform/wx/MainThreadWx.cpp: Copied from WebCore/platform/wx/ThreadingWx.cpp. 47017 * platform/wx/ThreadingWx.cpp: Removed. 47018 * storage/Database.cpp: 47019 (WebCore::Database::Database): 47020 * storage/Database.h: 47021 * storage/DatabaseTask.h: 47022 * storage/DatabaseThread.h: 47023 * storage/DatabaseTracker.cpp: 47024 * storage/OriginQuotaManager.h: 47025 * storage/SQLError.h: 47026 * storage/SQLResultSet.h: 47027 * storage/SQLStatement.h: 47028 * storage/SQLStatementCallback.h: 47029 * storage/SQLStatementErrorCallback.h: 47030 * storage/SQLTransaction.h: 47031 * storage/SQLTransactionCallback.h: 47032 * storage/SQLTransactionErrorCallback.h: 47033 * webcore-wx.bkl: 47034 47035 2008-02-23 David Kilzer <ddkilzer (a] apple.com> 47036 47037 Please clarify licensing for some files 47038 <http://bugs.webkit.org/show_bug.cgi?id=14970> 47039 47040 Reviewed by Darin. 47041 47042 * bindings/objc/WebScriptObject.h: Added Apple BSD-style license. 47043 * bindings/objc/WebScriptObjectPrivate.h: Ditto. 47044 * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE. 47045 47046 2008-02-22 Justin Garcia <justin.garcia (a] apple.com> 47047 47048 Reviewed by Anders Carlsson. 47049 47050 <rdar://problem/5714333> Add document.getSelection() 47051 47052 Add a synonym for window.getSelection() that FF supports. There were requests in 47053 this bugs dupes to also support the IE only document.selection, but IE's Selection 47054 object is too different than ours currently for that to be safe (specifically, we 47055 don't support enough of IE's TextRange methods on our DOM Range object yet). I 47056 filed <rdar://problem/5761233> to cover that. 47057 47058 * dom/Document.cpp: 47059 (WebCore::Document::getSelection): Added. 47060 * dom/Document.h: 47061 * dom/Document.idl: Ditto. JS only since this is about web compatibility. 47062 47063 2008-02-22 Oliver Hunt <oliver (a] apple.com> 47064 47065 WX build fixes 47066 47067 * WebCoreSources.bkl: 47068 47069 2008-02-22 Oliver Hunt <oliver (a] apple.com> 47070 47071 Once more with the cairo/qt/wx build fixing 47072 47073 * platform/graphics/cairo/ImageBufferCairo.cpp: 47074 * platform/graphics/qt/ImageBufferQt.cpp: 47075 * platform/graphics/wx/ImageBufferWx.cpp: 47076 47077 2008-02-22 Mark Rowe <mrowe (a] apple.com> 47078 47079 Windows build fix. Add missing include of DeprecatedCString.h and sort existing includes. 47080 47081 * platform/win/PasteboardWin.cpp: 47082 47083 2008-02-22 Mark Rowe <mrowe (a] apple.com> 47084 47085 Speculative Windows build fix. 47086 47087 * platform/win/ClipboardUtilitiesWin.cpp: Add missing include of DeprecatedCString.h and sort existing includes. 47088 * platform/win/ClipboardWin.cpp: Ditto. 47089 47090 2008-02-22 Oliver Hunt <oliver (a] apple.com> 47091 47092 Build fix for windows, wx and qt 47093 47094 * html/CanvasPixelArray.h: 47095 (WebCore::CanvasPixelArray::set): 47096 47097 2008-02-22 Oliver Hunt <oliver (a] apple.com> 47098 47099 Unbreak windows vcproj 47100 47101 * WebCore.vcproj/WebCore.vcproj: 47102 47103 2008-02-22 Oliver Hunt <oliver (a] apple.com> 47104 47105 Reviewed by Sam W. 47106 47107 Support Canvas.getImageData and Canvas.createImageData 47108 47109 This patch adds support for all the pixel reading portions 47110 of the HTML5 Canvas spec. There are two new types ImageData 47111 and CanvasPixelArray which are used to provide the HTML5 47112 ImageData object, and the required semantics for assignment 47113 to the ImageData data array. 47114 47115 We only implement the CG version of ImageBuffer::getImageData, 47116 but the logic is null safe, so this will not introduce any 47117 crashes into other platforms, unfortunately it will result in 47118 JS Object detection "lying" on non-CG platforms. 47119 47120 Tests: fast/canvas/canvas-ImageData-behaviour.html 47121 fast/canvas/canvas-getImageData.html 47122 47123 * DerivedSources.make: 47124 * GNUmakefile.am: 47125 * WebCore.pro: 47126 * WebCore.vcproj/WebCore.vcproj: 47127 * WebCore.xcodeproj/project.pbxproj: 47128 * bindings/js/JSCanvasPixelArrayCustom.cpp: Added. 47129 (WebCore::JSCanvasPixelArray::indexGetter): 47130 (WebCore::JSCanvasPixelArray::indexSetter): 47131 (WebCore::toJS): 47132 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 47133 * bindings/scripts/CodeGeneratorJS.pm: 47134 * html/CanvasPixelArray.cpp: Added. 47135 (WebCore::CanvasPixelArray::create): 47136 * html/CanvasPixelArray.h: Added. 47137 (WebCore::CanvasPixelArray::data): 47138 (WebCore::CanvasPixelArray::length): 47139 (WebCore::CanvasPixelArray::set): 47140 (WebCore::CanvasPixelArray::get): 47141 * html/CanvasPixelArray.idl: Added. 47142 * html/CanvasRenderingContext2D.cpp: 47143 (WebCore::createEmptyImageData): 47144 (WebCore::CanvasRenderingContext2D::createImageData): 47145 (WebCore::CanvasRenderingContext2D::getImageData): 47146 * html/CanvasRenderingContext2D.h: 47147 * html/CanvasRenderingContext2D.idl: 47148 * html/HTMLCanvasElement.cpp: 47149 (WebCore::HTMLCanvasElement::convertLogicalToDevice): 47150 (WebCore::HTMLCanvasElement::createImageBuffer): 47151 * html/HTMLCanvasElement.h: 47152 * html/ImageData.cpp: Added. 47153 (WebCore::ImageData::create): 47154 (WebCore::ImageData::ImageData): 47155 * html/ImageData.h: Added. 47156 (WebCore::ImageData::width): 47157 (WebCore::ImageData::height): 47158 (WebCore::ImageData::data): 47159 * html/ImageData.idl: Added. 47160 * platform/graphics/ImageBuffer.h: 47161 * platform/graphics/cairo/ImageBufferCairo.cpp: 47162 (WebCore::ImageBuffer::getImageData): 47163 * platform/graphics/cg/ImageBufferCG.cpp: 47164 (WebCore::ImageBuffer::getImageData): 47165 * platform/graphics/qt/ImageBufferQt.cpp: 47166 (WebCore::ImageBuffer::getImageData): 47167 * platform/graphics/wx/ImageBufferWx.cpp: 47168 (WebCore::ImageBuffer::getImageData): 47169 47170 2008-02-22 Sam Weinig <sam (a] webkit.org> 47171 47172 Rubber-stamped by Adam Roben. 47173 47174 Rid the project of the Devil known as DeprecatedString! 47175 47176 * GNUmakefile.am: 47177 * WebCore.base.exp: 47178 * WebCore.pro: 47179 * WebCore.vcproj/WebCore.vcproj: 47180 * WebCore.xcodeproj/project.pbxproj: 47181 * WebCoreSources.bkl: 47182 * dom/Node.h: 47183 * html/HTMLFormElement.cpp: 47184 * platform/DeprecatedString.cpp: Removed. 47185 * platform/DeprecatedString.h: Removed. 47186 * platform/graphics/qt/IconQt.cpp: 47187 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 47188 * platform/gtk/CookieJarGtk.cpp: 47189 * platform/gtk/CursorGtk.cpp: 47190 * platform/gtk/KeyEventGtk.cpp: 47191 * platform/mac/DeprecatedStringMac.mm: Removed. 47192 * platform/network/qt/ResourceHandleQt.cpp: 47193 * platform/network/win/CookieJarWin.cpp: 47194 (WebCore::cookies): 47195 * platform/qt/ClipboardQt.cpp: 47196 * platform/qt/CookieJarQt.cpp: 47197 * platform/qt/CursorQt.cpp: 47198 * platform/symbian/DeprecatedStringSymbian.cpp: Removed. 47199 * platform/text/AtomicString.cpp: 47200 * platform/text/AtomicString.h: 47201 * platform/text/PlatformString.h: 47202 * platform/text/String.cpp: 47203 * platform/text/StringImpl.cpp: 47204 * platform/text/qt/StringQt.cpp: 47205 (WebCore::String::String): 47206 * platform/text/wx/StringWx.cpp: 47207 * platform/win/BString.cpp: 47208 * platform/win/BString.h: 47209 * platform/win/PasteboardWin.cpp: 47210 47211 2008-02-22 Sam Weinig <sam (a] webkit.org> 47212 47213 Reviewed by Geoff Garen. 47214 47215 - Remove use of DeprecatedString in CSSStyleSelector. 47216 47217 * css/CSSStyleSelector.cpp: 47218 (WebCore::findHash): Removed. Use find instead. 47219 (WebCore::findSlashDotDotSlash): Changed to take a UChar* and a length. 47220 (WebCore::findSlashSlash): Ditto. 47221 (WebCore::findSlashDotSlash): Ditto. 47222 (WebCore::containsColonSlashSlash): Ditto. 47223 (WebCore::cleanPath): Change to operate on a String. 47224 (WebCore::checkPseudoState): Changed to use a Vector as a buffer. 47225 47226 2008-02-22 Geoffrey Garen <ggaren (a] apple.com> 47227 47228 Reviewed by Sam Weinig. 47229 47230 Fixed <rdar://problem/5057509> Repro leak of JSXMLHttpRequest and 47231 associated objects @ www.viamichelin.it, which was probably an underlying 47232 cause of <rdar://problem/5744037> Gmail out of memory (17455) 47233 47234 If SubresourceLoader::create returned NULL, we would ref() / gcProtect() 47235 the XMLHttpRequest but think we hadn't, therefore never 47236 calling deref() / gcUnprotect(). 47237 47238 This could happen at gmail.com, since gmail.com attempts to send 47239 XMLHttpRequests from unload handlers in order to gather usage statistics. 47240 (According to comments in the code, SubresourceLoader::create returns 47241 NULL when called from an unload handler.) 47242 47243 The solution is to ref() / gcProtect() only if SubresourceLoader::create 47244 doesn't return NULL. This make sense, since we only need to protect the 47245 request as long as it has an outstanding network transaction. 47246 47247 * xml/XMLHttpRequest.cpp: 47248 (WebCore::XMLHttpRequest::XMLHttpRequest): 47249 (WebCore::XMLHttpRequest::send): 47250 47251 2008-02-22 Darin Adler <darin (a] apple.com> 47252 47253 Reviewed, tweaked and landed by Sam. 47254 47255 - Make RegularExpression operate on Strings instead of DeprecatedStrings. 47256 47257 * dom/DOMImplementation.cpp: 47258 (WebCore::DOMImplementation::isXMLMIMEType): Use string instead of DeprecatedString 47259 to build up the RegularExpression. 47260 * page/Frame.cpp: 47261 (WebCore::createRegExpForLabels): Use String instead of DeprecatedString. 47262 (WebCore::Frame::searchForLabelsAboveCell): Ditto. 47263 (WebCore::Frame::searchForLabelsBeforeElement): Ditto. 47264 (WebCore::Frame::matchLabelsAgainstElement): Ditto. 47265 * page/Frame.h: 47266 * page/mac/FrameMac.mm: 47267 (WebCore::regExpForLabels): Ditto. 47268 (WebCore::Frame::searchForNSLabelsAboveCell): Ditto. 47269 (WebCore::Frame::searchForLabelsBeforeElement): Ditto. 47270 (WebCore::Frame::matchLabelsAgainstElement): Ditto. 47271 47272 * platform/text/RegularExpression.cpp: 47273 (WebCore::RegularExpression::Private::Private): 47274 (WebCore::RegularExpression::Private::compile): 47275 (WebCore::RegularExpression::RegularExpression): 47276 (WebCore::RegularExpression::operator=): 47277 (WebCore::RegularExpression::pattern): 47278 (WebCore::RegularExpression::match): 47279 (WebCore::RegularExpression::search): 47280 (WebCore::RegularExpression::searchRev): 47281 (WebCore::replace): Added. 47282 * platform/text/RegularExpression.h: 47283 Change functions to take Strings as input instead of DeprecatedStrings and 47284 reduce the complexity of the class by removing unneeded globbing support. 47285 47286 2008-02-22 Jon Honeycutt <jhoneycutt (a] apple.com> 47287 47288 Reviewed by Anders. 47289 47290 <rdar://problem/5760360> REGRESSION(r30376): Crash loading plugin page 47291 during stress test (after only 5 min) - null dereference 47292 47293 Full-frame plug-ins create PluginStream objects without loaders, as the 47294 PluginView receives the loading callbacks. We were trying to call 47295 setDefersLoading on these null pointers. 47296 47297 * plugins/PluginStream.cpp: 47298 (WebCore::PluginStream::startStream): Add null check. 47299 (WebCore::PluginStream::destroyStream): Same. 47300 (WebCore::PluginStream::deliverData): Same. 47301 47302 2008-02-22 Darin Adler <darin (a] apple.com> 47303 47304 Reviewed and tweaked by Jon Honeycutt. Reviewed and landed by Sam. 47305 47306 - Remove uses of DeprecatedString in Windows plugin code. 47307 47308 * plugins/win/PluginPackageWin.cpp: 47309 (WebCore::getVersionInfo): Cleanup formatting. 47310 (WebCore::PluginPackage::freeLibraryTimerFired): Remove un-needed variable name. 47311 (WebCore::PluginPackage::storeFileVersion): Move casts. 47312 (WebCore::PluginPackage::fetchInfo): Use OwnArrayPtr and switch to more efficient 47313 use of Vectors. 47314 (WebCore::PluginPackage::load): Fix whitespace. 47315 (WebCore::PluginPackage::hash): Make the hashCodes const 47316 * plugins/win/PluginViewWin.cpp: 47317 (WebCore::makeURL): Use String instead of DeprecatedString. 47318 (WebCore::parseRFC822HeaderFields): Ditto. 47319 (WebCore::PluginView::handlePost): Ditto. 47320 (WebCore::PluginView::status): Ditto. 47321 47322 2008-02-22 Darin Adler <darin (a] apple.com> 47323 47324 Reviewed, tweaked and landed by Sam. 47325 47326 - Don't use DeprecatedString in HTMLTokenizer. 47327 47328 * html/HTMLTokenizer.cpp: 47329 (WebCore::HTMLTokenizer::finish): 47330 * platform/text/PlatformString.h: 47331 (WebCore::find): 47332 47333 2008-02-21 Sam Weinig <sam (a] webkit.org> 47334 47335 Reviewed by Anders Carlsson. 47336 47337 Fix for <rdar://problem/5757946> 47338 47339 - Parse URLs before checking whether they are javascript: urls 47340 (which require security checks). 47341 47342 * bindings/js/JSAttrCustom.cpp: 47343 (WebCore::JSAttr::setValue): 47344 * bindings/js/JSElementCustom.cpp: 47345 (WebCore::allowSettingSrcToJavascriptURL): 47346 * bindings/js/JSHTMLFrameElementCustom.cpp: 47347 (WebCore::allowSettingJavascriptURL): 47348 * bindings/js/JSHTMLIFrameElementCustom.cpp: 47349 (WebCore::JSHTMLIFrameElement::setSrc): 47350 47351 2008-02-21 Ada Chan <adachan (a] apple.com> 47352 47353 <rdar://problem/5757873> Buffer overrun in DeprecatedCString::find() in WebCore 47354 We could get a buffer overrun in DeprecatedCString::find() if the end of the 47355 string matches a beginning portion of the substring, for example, if string is 47356 "a" but the substring is "ab". 47357 The code as is also will not match things correctly under certain situations 47358 since the inner while loop increments the index. For example, we wouldn't find 47359 a match if the string is "aab..." and the substring is "ab". Changed the 47360 inner while loop to increment a temporary index into str. 47361 47362 Test: fast/loader/charset-parse.html 47363 47364 Reviewed by Dan Berstein. 47365 47366 * platform/DeprecatedCString.cpp: 47367 (WebCore::DeprecatedCString::find): 47368 47369 2008-02-21 David Hyatt <hyatt (a] apple.com> 47370 47371 Fix for bug 17301. CSS media queries need to use the correct viewport 47372 when contained in documents inside iframes (rather than always using the 47373 top-level document's viewport). CSS media queries based on the viewport 47374 also needed to be dynamic and update as you resize the window (this is 47375 a HOT feature). :) 47376 47377 This patch gets Acid3 up to 86/100 with 3 colored boxes filled in. 47378 47379 Reviewed by olliej 47380 47381 Added fast/media/viewport-media-query.html 47382 47383 * css/CSSStyleSelector.cpp: 47384 (WebCore::CSSStyleSelector::CSSStyleSelector): 47385 (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult): 47386 (WebCore::CSSStyleSelector::affectedByViewportChange): 47387 * css/CSSStyleSelector.h: 47388 (WebCore::MediaQueryResult::MediaQueryResult): 47389 * css/MediaQueryEvaluator.cpp: 47390 (WebCore::MediaQueryEvaluator::MediaQueryEvaluator): 47391 (WebCore::MediaQueryEvaluator): 47392 (WebCore::MediaQueryEvaluator::eval): 47393 (WebCore::colorMediaFeatureEval): 47394 (WebCore::monochromeMediaFeatureEval): 47395 (WebCore::device_aspect_ratioMediaFeatureEval): 47396 (WebCore::device_pixel_ratioMediaFeatureEval): 47397 (WebCore::gridMediaFeatureEval): 47398 (WebCore::device_heightMediaFeatureEval): 47399 (WebCore::device_widthMediaFeatureEval): 47400 (WebCore::heightMediaFeatureEval): 47401 (WebCore::widthMediaFeatureEval): 47402 (WebCore::min_colorMediaFeatureEval): 47403 (WebCore::max_colorMediaFeatureEval): 47404 (WebCore::min_monochromeMediaFeatureEval): 47405 (WebCore::max_monochromeMediaFeatureEval): 47406 (WebCore::min_device_aspect_ratioMediaFeatureEval): 47407 (WebCore::max_device_aspect_ratioMediaFeatureEval): 47408 (WebCore::min_device_pixel_ratioMediaFeatureEval): 47409 (WebCore::max_device_pixel_ratioMediaFeatureEval): 47410 (WebCore::min_heightMediaFeatureEval): 47411 (WebCore::max_heightMediaFeatureEval): 47412 (WebCore::min_widthMediaFeatureEval): 47413 (WebCore::max_widthMediaFeatureEval): 47414 (WebCore::min_device_heightMediaFeatureEval): 47415 (WebCore::max_device_heightMediaFeatureEval): 47416 (WebCore::min_device_widthMediaFeatureEval): 47417 (WebCore::max_device_widthMediaFeatureEval): 47418 * css/MediaQueryEvaluator.h: 47419 * css/MediaQueryExp.cpp: 47420 (WebCore::MediaQueryExp::~MediaQueryExp): 47421 * css/MediaQueryExp.h: 47422 (WebCore::MediaQueryExp::value): 47423 (WebCore::MediaQueryExp::isViewportDependent): 47424 * html/HTMLMediaElement.cpp: 47425 (WebCore::HTMLMediaElement::pickMedia): 47426 * page/FrameView.cpp: 47427 (WebCore::FrameView::layout): 47428 47429 2008-02-21 Anders Carlsson <andersca (a] apple.com> 47430 47431 Reviewed by Sam. 47432 47433 Make more classes start out with a refcount of 1. 47434 47435 * dom/QualifiedName.cpp: 47436 (WebCore::QNameComponentsTranslator::translate): 47437 (WebCore::QualifiedName::QualifiedName): 47438 * dom/QualifiedName.h: 47439 (WebCore::QualifiedName::QualifiedNameImpl::create): 47440 (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl): 47441 * history/BackForwardList.cpp: 47442 (WebCore::BackForwardList::BackForwardList): 47443 * history/BackForwardList.h: 47444 (WebCore::BackForwardList::create): 47445 * page/Page.cpp: 47446 (WebCore::Page::Page): 47447 * platform/text/CString.cpp: 47448 (WebCore::CString::init): 47449 (WebCore::CString::newUninitialized): 47450 (WebCore::CString::copyBufferIfNeeded): 47451 * platform/text/CString.h: 47452 (WebCore::CStringBuffer::create): 47453 (WebCore::CStringBuffer::CStringBuffer): 47454 47455 2008-02-21 Kevin Ollivier <kevino (a] theolliviers.com> 47456 47457 wx build fix for the domString() -> string() rename in r30443. 47458 47459 * platform/graphics/wx/FontPlatformDataWx.cpp: 47460 (WebCore::FontPlatformData::FontPlatformData): 47461 47462 2008-02-21 Antti Koivisto <antti (a] apple.com> 47463 47464 Reviewed by Sam Weinig. 47465 47466 <rdar://problem/5753789> 47467 REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang) 47468 47469 Ensure all versions of allowsAccessFrom are inlined to single functions. 47470 This is a 2% win in browser hosted Sunspider. 47471 47472 * bindings/js/kjs_window.cpp: 47473 (KJS::Window::allowsAccessFrom): 47474 (KJS::Window::allowsAccessFromPrivate): 47475 * bindings/js/kjs_window.h: 47476 47477 2008-02-21 Dan Bernstein <mitz (a] apple.com> 47478 47479 Reviewed by Sam Weinig. 47480 47481 - minor cleanup 47482 47483 * rendering/bidi.cpp: 47484 (WebCore::bidiNext): Removed redundant isBR() check -- isText() returns 47485 true for RenderLineBreak. 47486 (WebCore::bidiFirst): Ditto. 47487 (WebCore::shouldSkipWhitespaceAfterStartObject): 47488 (WebCore::RenderBlock::findNextLineBreak): 47489 47490 2008-02-21 Geoffrey Garen <ggaren (a] apple.com> 47491 47492 Reviewed by David Harrison. 47493 47494 Fixed <rdar://problem/5756125> REGRESSION: A crash occurs at 47495 WebCore::Frame::scriptProxy() when completing a search with Package Tracker widget 47496 47497 Test: fast/dom/script-element-without-frame-crash.html 47498 47499 * html/HTMLTokenizer.cpp: 47500 (WebCore::HTMLTokenizer::parseTag): Added back a NULL check that was 47501 accidentally removed in r30325. 47502 47503 2008-02-21 Rodney Dawes <dobey (a] wayofthemonkey.com> 47504 47505 GTK+ build fix. s/domString()/string()/ 47506 47507 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 47508 (FontPlatformData::FontPlatformData): 47509 47510 2008-02-20 Dan Bernstein <mitz (a] apple.com> 47511 47512 Reviewed by Dave Hyatt. 47513 47514 - fix http://bugs.webkit.org/show_bug.cgi?id=17465 47515 REGRESSION: <DIV> tokenized into Div if still searching for DOCTYPE 47516 47517 Test: fast/tokenizer/doctype-search-reset.html 47518 47519 * html/HTMLTokenizer.cpp: 47520 (WebCore::HTMLTokenizer::parseTag): 47521 47522 2008-02-20 Dan Bernstein <mitz (a] apple.com> 47523 47524 Reviewed by Dave Hyatt. 47525 47526 - fix http://bugs.webkit.org/show_bug.cgi?id=17464 47527 REGRESSION: Crash in RenderBlock::findNextLineBreak reading r30444 commit email in GMail 47528 47529 Test: fast/text/wbr-in-pre-crash.html 47530 47531 * rendering/bidi.cpp: 47532 (WebCore::RenderBlock::findNextLineBreak): 47533 47534 2008-02-20 Oliver Hunt <oliver (a] apple.com> 47535 47536 Reviewed by Hyatt. 47537 47538 Bug 17303: Canvas crash in ImageBuffer 47539 47540 We handle a null GraphicsContext everywhere, but we weren't checking for 47541 a null ImageBuffer, which is what will result in a null GraphicsContext in 47542 the first place. 47543 47544 Test: fast/canvas/access-zero-sized-canvas.html 47545 47546 * html/HTMLCanvasElement.cpp: 47547 47548 2008-02-20 David Hyatt <hyatt (a] apple.com> 47549 47550 Fix the layout test failure that never should have passed in the first 47551 place by making changes to media lists actually result in the recomputation 47552 of the style selector. Now it passes for the right reasons and not because 47553 of dumb luck. 47554 47555 Reviewed by Sam Weinig 47556 47557 * css/MediaList.cpp: 47558 (WebCore::MediaList::deleteMedium): 47559 (WebCore::MediaList::setMediaText): 47560 (WebCore::MediaList::appendMedium): 47561 (WebCore::MediaList::notifyChanged): 47562 * css/MediaList.h: 47563 * dom/Document.cpp: 47564 (WebCore::Document::attach): 47565 47566 2008-02-20 Darin Adler <darin (a] apple.com> 47567 47568 Reviewed, tweaked and landed by Sam. 47569 47570 - make markup functions not use DeprecatedString. 47571 47572 * editing/markup.cpp: 47573 (WebCore::append): Added. 47574 (WebCore::escapeContentText): Build up string using a Vector. 47575 (WebCore::appendStartMarkup): Use String instead of DeprecatedString. 47576 47577 2008-02-20 Darin Adler <darin (a] apple.com> 47578 47579 Reviewed, tweaked and landed by Sam. 47580 47581 - make TextIterator use a Vector instead of a DeprecatedString. 47582 47583 * editing/TextIterator.cpp: 47584 (WebCore::CharacterIterator::string): Build up the String using a 47585 Vector. 47586 (WebCore::WordAwareIterator::advance): Switch to using Vector functions. 47587 (WebCore::WordAwareIterator::length): Ditto. 47588 (WebCore::WordAwareIterator::characters): Ditto. 47589 * editing/TextIterator.h: Use a Vector<UChar> for the buffer instead 47590 of DeprecatedString. 47591 47592 2008-02-20 Darin Adler <darin (a] apple.com> 47593 47594 Reviewed, tweaked and landed by Sam. 47595 47596 - make HTMLInterchange return a String instead of a DeprecatedString 47597 47598 * editing/HTMLInterchange.cpp: 47599 (WebCore::): Return a String from convertedSpaceString. 47600 (WebCore::convertHTMLTextToInterchangeFormat): Use a Vector instead of 47601 a DeprecatedString to build up the return String. 47602 * editing/HTMLInterchange.h: 47603 47604 2008-02-20 Eric Seidel <eric (a] webkit.org> 47605 47606 Reviewed by Oliver. 47607 47608 Remove m_drawingContext and change m_data to m_imageBuffer 47609 47610 * html/HTMLCanvasElement.cpp: 47611 (WebCore::HTMLCanvasElement::HTMLCanvasElement): 47612 (WebCore::HTMLCanvasElement::reset): 47613 (WebCore::HTMLCanvasElement::paint): 47614 (WebCore::HTMLCanvasElement::createImageBuffer): 47615 (WebCore::HTMLCanvasElement::buffer): 47616 (WebCore::HTMLCanvasElement::createPlatformImage): 47617 * html/HTMLCanvasElement.h: 47618 47619 2008-02-20 Anders Carlsson <andersca (a] apple.com> 47620 47621 Reviewed by Sam. 47622 47623 Rename AtomicString::domString() to AtomicString::string(). 47624 47625 * css/CSSComputedStyleDeclaration.cpp: 47626 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 47627 * css/CSSFontSelector.cpp: 47628 (WebCore::CSSFontSelector::getFontData): 47629 * dom/Attr.cpp: 47630 (WebCore::Attr::createTextChild): 47631 * dom/Comment.cpp: 47632 (WebCore::Comment::nodeName): 47633 * dom/Document.cpp: 47634 (WebCore::Document::recalcStyleSelector): 47635 (WebCore::Document::setHTMLWindowEventListener): 47636 (WebCore::Document::formElementsState): 47637 * dom/StyledElement.cpp: 47638 (WebCore::StyledElement::parseMappedAttribute): 47639 * dom/Text.cpp: 47640 (WebCore::Text::nodeName): 47641 * editing/SelectionController.cpp: 47642 (WebCore::SelectionController::debugRenderer): 47643 * html/HTMLCollection.cpp: 47644 (WebCore::HTMLCollection::checkForNameMatch): 47645 * html/HTMLElement.cpp: 47646 (WebCore::HTMLElement::nodeName): 47647 (WebCore::HTMLElement::setHTMLEventListener): 47648 * html/HTMLFormCollection.cpp: 47649 (WebCore::HTMLFormCollection::getNamedFormItem): 47650 * html/HTMLImageElement.cpp: 47651 (WebCore::HTMLImageElement::parseMappedAttribute): 47652 (WebCore::HTMLImageElement::isURLAttribute): 47653 * html/HTMLLinkElement.cpp: 47654 (WebCore::HTMLLinkElement::parseMappedAttribute): 47655 (WebCore::HTMLLinkElement::tokenizeRelAttribute): 47656 * html/HTMLObjectElement.cpp: 47657 (WebCore::HTMLObjectElement::isURLAttribute): 47658 (WebCore::HTMLObjectElement::containsJavaApplet): 47659 * html/HTMLParamElement.cpp: 47660 (WebCore::HTMLParamElement::isURLAttribute): 47661 * html/HTMLParser.cpp: 47662 (WebCore::HTMLParser::handleIsindex): 47663 * html/HTMLScriptElement.cpp: 47664 (WebCore::HTMLScriptElement::insertedIntoDocument): 47665 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): 47666 * html/HTMLStyleElement.cpp: 47667 (WebCore::HTMLStyleElement::parseMappedAttribute): 47668 * html/HTMLTokenizer.cpp: 47669 (WebCore::HTMLTokenizer::parseTag): 47670 * html/HTMLViewSourceDocument.cpp: 47671 (WebCore::HTMLViewSourceDocument::addViewSourceToken): 47672 * loader/FrameLoader.cpp: 47673 (WebCore::FrameLoader::saveDocumentState): 47674 * page/FrameTree.cpp: 47675 (WebCore::FrameTree::uniqueChildName): 47676 * platform/text/AtomicString.h: 47677 (WebCore::AtomicString::string): 47678 (WebCore::AtomicString::contains): 47679 (WebCore::AtomicString::find): 47680 (WebCore::AtomicString::startsWith): 47681 (WebCore::AtomicString::endsWith): 47682 * rendering/RenderPartObject.cpp: 47683 (WebCore::RenderPartObject::updateWidget): 47684 * svg/SVGElement.cpp: 47685 (WebCore::SVGElement::addSVGEventListener): 47686 * svg/SVGSVGElement.cpp: 47687 (WebCore::SVGSVGElement::addSVGWindowEventListener): 47688 * xml/XPathFunctions.cpp: 47689 (WebCore::XPath::FunLocalName::evaluate): 47690 (WebCore::XPath::FunNamespaceURI::evaluate): 47691 (WebCore::XPath::FunName::evaluate): 47692 47693 2008-02-20 Brent Fulgham <bfulgham (a] gmail.com> 47694 47695 Reviewed by Dan. 47696 47697 http://bugs.webkit.org/show_bug.cgi?id=17336 47698 Provide implementations for Windows (Cairo) build of WebKit that 47699 handles font formatting. 47700 - Split font implementation files to allow maximal code sharing 47701 between CG and Cairo back-ends. 47702 47703 * WebCore.vcproj/WebCore.vcproj: 47704 * platform/graphics/SimpleFontData.h: Add signatures for private win 47705 initialization functions. 47706 * platform/graphics/win/FontCacheWin.cpp: 47707 (WebCore::FontCache::platformInit): 47708 (WebCore::FontCache::createFontPlatformData): 47709 * platform/graphics/win/FontCairoWin.cpp: Removed. Universal version 47710 is now part of platform/graphics/cairo. 47711 * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Added. 47712 (WebCore::FontCustomPlatformDataCairo::~FontCustomPlatformDataCairo): 47713 (WebCore::FontCustomPlatformDataCairo::fontPlatformData): 47714 (WebCore::releaseData): 47715 (WebCore::createFontCustomPlatformData): 47716 * platform/graphics/win/FontCustomPlatformDataCairo.h: Added. 47717 (WebCore::FontCustomPlatformDataCairo::FontCustomPlatformDataCairo): 47718 * platform/graphics/win/FontPlatformData.h: 47719 (WebCore::FontPlatformData::FontPlatformData): 47720 (WebCore::FontPlatformData::fontFace): 47721 (WebCore::FontPlatformData::scaledFont): 47722 (WebCore::FontPlatformData::operator==): 47723 * platform/graphics/win/FontPlatformDataCGWin.cpp: Copied from WebCore/platform/graphics/win/FontPlatformDataWin.cpp. 47724 (WebCore::FontPlatformData::platformDataInit): 47725 * platform/graphics/win/FontPlatformDataCairoWin.cpp: Added. 47726 (WebCore::FontPlatformData::platformDataInit): 47727 (WebCore::FontPlatformData::FontPlatformData): 47728 (WebCore::FontPlatformData::setFont): 47729 * platform/graphics/win/FontPlatformDataWin.cpp: Moved CG-specific 47730 code to FontPlatformDataCG.cpp. 47731 (WebCore::FontPlatformData::FontPlatformData): 47732 * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp. 47733 * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp. 47734 (WebCore::GlyphPage::fill): 47735 * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Removed. Replaced 47736 with CG- and Cairo-specific versions. 47737 * platform/graphics/win/SimpleFontDataCGWin.cpp: 47738 (WebCore::SimpleFontData::platformInit): 47739 (WebCore::SimpleFontData::platformDestroy): 47740 (WebCore::SimpleFontData::platformWidthForGlyph): 47741 * platform/graphics/win/SimpleFontDataCairoWin.cpp: 47742 (WebCore::SimpleFontData::platformInit): 47743 (WebCore::SimpleFontData::platformDestroy): 47744 (WebCore::SimpleFontData::platformWidthForGlyph): 47745 (WebCore::SimpleFontData::setFont): 47746 * platform/graphics/win/SimpleFontDataWin.cpp: 47747 (WebCore::SimpleFontData::initGDIFont): 47748 (WebCore::SimpleFontData::platformCommonDestroy): 47749 (WebCore::SimpleFontData::widthForGDIGlyph): 47750 47751 2008-02-20 Darin Adler <darin (a] apple.com> 47752 47753 Reviewed by Sam. 47754 47755 * dom/Node.h: Took out unneeded forward declaration of TextStream. 47756 47757 2008-02-20 Darin Adler <darin (a] apple.com> 47758 47759 Reviewed by Sam. 47760 47761 * rendering/RenderObject.h: Took out unneeded forward declaration of TextStream. 47762 47763 2008-02-20 David Hyatt <hyatt (a] apple.com> 47764 47765 Fix for bug 16760, incorrect <object> MIME type handling and fallback 47766 handling. 47767 47768 Reviewed by darin 47769 47770 * html/HTMLImageLoader.cpp: 47771 (WebCore::HTMLImageLoader::notifyFinished): 47772 If the image had an error, make sure to do <object> fallback. 47773 47774 * html/HTMLObjectElement.cpp: 47775 (WebCore::HTMLObjectElement::renderFallbackContent): 47776 Before doing fallback check if there is a MIME type mismatch between 47777 an image type and a non-image type. If so, detach and re-attach after 47778 storing the correct MIME type. 47779 47780 * loader/loader.cpp: 47781 (WebCore::Loader::didReceiveData): 47782 Consider it an error when a 404 is encountered on a CachedResource load. 47783 47784 2008-02-20 Anders Carlsson <andersca (a] apple.com> 47785 47786 Reviewed by Sam. 47787 47788 StringImpl constructors used by AtomicString should start with a refcount of 1. 47789 47790 * platform/text/AtomicString.cpp: 47791 (WebCore::AtomicString::add): 47792 * platform/text/AtomicString.h: 47793 * platform/text/StringImpl.cpp: 47794 (WebCore::StringImpl::StringImpl): 47795 47796 2008-02-20 Darin Adler <darin (a] apple.com> 47797 47798 * bindings/js/kjs_navigator.cpp: 47799 (WebCore::needsYouTubeQuirk): Tweak comments. 47800 47801 2008-02-20 Anders Carlsson <andersca (a] apple.com> 47802 47803 Reviewed by Darin. 47804 47805 Change all refcounted classes in page/ to start with a refcount of 1. 47806 47807 * page/BarInfo.cpp: 47808 (WebCore::BarInfo::BarInfo): 47809 * page/BarInfo.h: 47810 (WebCore::BarInfo::create): 47811 * page/Console.cpp: 47812 (WebCore::Console::Console): 47813 * page/Console.h: 47814 (WebCore::Console::create): 47815 * page/DOMSelection.cpp: 47816 (WebCore::DOMSelection::DOMSelection): 47817 * page/DOMSelection.h: 47818 (WebCore::DOMSelection::create): 47819 * page/DOMWindow.cpp: 47820 (WebCore::DOMWindow::DOMWindow): 47821 (WebCore::DOMWindow::screen): 47822 (WebCore::DOMWindow::history): 47823 (WebCore::DOMWindow::locationbar): 47824 (WebCore::DOMWindow::menubar): 47825 (WebCore::DOMWindow::personalbar): 47826 (WebCore::DOMWindow::scrollbars): 47827 (WebCore::DOMWindow::statusbar): 47828 (WebCore::DOMWindow::toolbar): 47829 (WebCore::DOMWindow::console): 47830 (WebCore::DOMWindow::getSelection): 47831 * page/DOMWindow.h: 47832 (WebCore::DOMWindow::create): 47833 * page/Frame.cpp: 47834 (WebCore::Frame::domWindow): 47835 * page/History.cpp: 47836 (WebCore::History::History): 47837 * page/History.h: 47838 (WebCore::History::create): 47839 * page/InspectorController.cpp: 47840 (WebCore::InspectorResource::create): 47841 (WebCore::InspectorResource::InspectorResource): 47842 (WebCore::InspectorDatabaseResource::create): 47843 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): 47844 (WebCore::InspectorController::didLoadResourceFromMemoryCache): 47845 (WebCore::InspectorController::identifierForInitialRequest): 47846 (WebCore::InspectorController::didOpenDatabase): 47847 * page/Plugin.h: 47848 (WebCore::Plugin::create): 47849 (WebCore::Plugin::Plugin): 47850 * page/Screen.cpp: 47851 (WebCore::Screen::Screen): 47852 * page/Screen.h: 47853 (WebCore::Screen::create): 47854 47855 2008-02-20 Sam Weinig <sam (a] webkit.org> 47856 47857 Reviewed by Darin and Geoff. 47858 47859 - <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack 47860 47861 * WebCore.base.exp: Updated. 47862 47863 * bindings/js/kjs_navigator.cpp: 47864 (WebCore::needsYouTubeQuirk): Added. Return true on Windows only when the quirk is needed. 47865 (WebCore::Navigator::getValueProperty): For the appVersion property, if needsYouTubeQuirk 47866 return true, then return the empty string. 47867 47868 * page/Settings.cpp: 47869 (WebCore::Settings::Settings): Set m_needsSiteSpecificQuirks to false. 47870 (WebCore::Settings::setNeedsSiteSpecificQuirks): Added. 47871 * page/Settings.h: Added m_needsSiteSpecificQuirks. 47872 (WebCore::Settings::needsSiteSpecificQuirks): Added. 47873 47874 2008-02-20 David Hyatt <hyatt (a] apple.com> 47875 47876 Fix for bug 12751, doctype nodes aren't part of the Document (Acid3). 47877 47878 Reviewed by Sam Weinig 47879 47880 Many tests added in fast/doctypes. 47881 47882 * dom/DOMImplementation.cpp: 47883 (WebCore::DOMImplementation::createDocument): 47884 (WebCore::DOMImplementation::createHTMLDocument): 47885 * dom/Document.cpp: 47886 (WebCore::Document::Document): 47887 (WebCore::Document::setDocType): 47888 (WebCore::Document::attach): 47889 (WebCore::Document::getImageMap): 47890 * dom/Document.h: 47891 (WebCore::Document::doctype): 47892 (WebCore::Document::): 47893 (WebCore::Document::determineParseMode): 47894 (WebCore::Document::setParseMode): 47895 (WebCore::Document::parseMode): 47896 (WebCore::Document::inCompatMode): 47897 (WebCore::Document::inAlmostStrictMode): 47898 (WebCore::Document::inStrictMode): 47899 * dom/DocumentType.cpp: 47900 (WebCore::DocumentType::cloneNode): 47901 (WebCore::DocumentType::insertedIntoDocument): 47902 (WebCore::DocumentType::removedFromDocument): 47903 * dom/DocumentType.h: 47904 * dom/Node.cpp: 47905 (WebCore::Node::childAllowed): 47906 * dom/StyledElement.cpp: 47907 (WebCore::StyledElement::attributeChanged): 47908 * dom/XMLTokenizer.cpp: 47909 (WebCore::XMLTokenizer::internalSubset): 47910 * editing/markup.cpp: 47911 (WebCore::appendStartMarkup): 47912 * html/HTMLAppletElement.cpp: 47913 (WebCore::HTMLAppletElement::createRenderer): 47914 * html/HTMLDocument.cpp: 47915 (WebCore::HTMLDocument::HTMLDocument): 47916 (WebCore::HTMLDocument::childAllowed): 47917 (WebCore::HTMLDocument::determineParseMode): 47918 * html/HTMLDocument.h: 47919 * html/HTMLMapElement.cpp: 47920 (WebCore::HTMLMapElement::parseMappedAttribute): 47921 * html/HTMLParamElement.cpp: 47922 (WebCore::HTMLParamElement::parseMappedAttribute): 47923 * html/HTMLParser.cpp: 47924 (WebCore::HTMLParser::parseDoctypeToken): 47925 * html/HTMLParser.h: 47926 * html/HTMLTokenizer.cpp: 47927 (WebCore::HTMLTokenizer::reset): 47928 (WebCore::HTMLTokenizer::parseDoctype): 47929 (WebCore::HTMLTokenizer::parseTag): 47930 (WebCore::HTMLTokenizer::write): 47931 (WebCore::HTMLTokenizer::finish): 47932 (WebCore::HTMLTokenizer::processDoctypeToken): 47933 * html/HTMLTokenizer.h: 47934 (WebCore::DoctypeToken::DoctypeToken): 47935 (WebCore::DoctypeToken::reset): 47936 (WebCore::DoctypeToken::state): 47937 (WebCore::DoctypeToken::setState): 47938 (WebCore::HTMLTokenizer::State::inDoctype): 47939 (WebCore::HTMLTokenizer::State::setInDoctype): 47940 (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling): 47941 (WebCore::HTMLTokenizer::State::): 47942 * html/HTMLViewSourceDocument.cpp: 47943 (WebCore::HTMLViewSourceDocument::addViewSourceToken): 47944 (WebCore::HTMLViewSourceDocument::addViewSourceDoctypeToken): 47945 * html/HTMLViewSourceDocument.h: 47946 * loader/FrameLoader.cpp: 47947 (WebCore::FrameLoader::write): 47948 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): 47949 * page/Frame.cpp: 47950 (WebCore::Frame::documentTypeString): 47951 * page/inspector/utilities.js: 47952 * xml/XSLTProcessor.cpp: 47953 (WebCore::XSLTProcessor::createDocumentFromSource): 47954 47955 2008-02-20 Anders Carlsson <andersca (a] apple.com> 47956 47957 Reviewed by Darin. 47958 47959 Change most SVG related classes to start out with a ref count of 1. 47960 47961 * bindings/js/JSSVGPointListCustom.cpp: 47962 (WebCore::JSSVGPointList::initialize): 47963 (WebCore::JSSVGPointList::insertItemBefore): 47964 (WebCore::JSSVGPointList::replaceItem): 47965 (WebCore::JSSVGPointList::appendItem): 47966 * bindings/js/JSSVGTransformListCustom.cpp: 47967 (WebCore::JSSVGTransformList::initialize): 47968 (WebCore::JSSVGTransformList::insertItemBefore): 47969 (WebCore::JSSVGTransformList::replaceItem): 47970 (WebCore::JSSVGTransformList::appendItem): 47971 * rendering/SVGCharacterLayoutInfo.h: 47972 (WebCore::SVGCharOnPath::create): 47973 (WebCore::SVGCharOnPath::SVGCharOnPath): 47974 * rendering/SVGRootInlineBox.cpp: 47975 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 47976 * svg/SVGAnimationElement.cpp: 47977 (WebCore::SVGAnimationElement::parseBeginOrEndValue): 47978 * svg/SVGClipPathElement.cpp: 47979 (WebCore::SVGClipPathElement::canvasResource): 47980 * svg/SVGElementInstance.cpp: 47981 (WebCore::SVGElementInstance::childNodes): 47982 * svg/SVGElementInstanceList.cpp: 47983 (WebCore::SVGElementInstanceList::SVGElementInstanceList): 47984 * svg/SVGElementInstanceList.h: 47985 (WebCore::SVGElementInstanceList::create): 47986 * svg/SVGFitToViewBox.cpp: 47987 (WebCore::SVGFitToViewBox::SVGFitToViewBox): 47988 * svg/SVGGradientElement.cpp: 47989 (WebCore::SVGGradientElement::SVGGradientElement): 47990 (WebCore::SVGGradientElement::canvasResource): 47991 * svg/SVGImageElement.cpp: 47992 (WebCore::SVGImageElement::SVGImageElement): 47993 * svg/SVGLengthList.h: 47994 (WebCore::SVGLengthList::create): 47995 * svg/SVGList.h: 47996 (WebCore::SVGList::SVGList): 47997 (WebCore::SVGPODListItem::create): 47998 (WebCore::SVGPODListItem::copy): 47999 (WebCore::SVGPODListItem::SVGPODListItem): 48000 (WebCore::SVGPODList::initialize): 48001 (WebCore::SVGPODList::insertItemBefore): 48002 (WebCore::SVGPODList::replaceItem): 48003 (WebCore::SVGPODList::appendItem): 48004 (WebCore::SVGPODList::SVGPODList): 48005 * svg/SVGMarkerElement.cpp: 48006 (WebCore::SVGMarkerElement::canvasResource): 48007 * svg/SVGMaskElement.cpp: 48008 (WebCore::SVGMaskElement::canvasResource): 48009 * svg/SVGNumberList.h: 48010 (WebCore::SVGNumberList::create): 48011 * svg/SVGPathElement.cpp: 48012 (WebCore::SVGPathElement::createSVGPathSegClosePath): 48013 (WebCore::SVGPathElement::createSVGPathSegMovetoAbs): 48014 (WebCore::SVGPathElement::createSVGPathSegMovetoRel): 48015 (WebCore::SVGPathElement::createSVGPathSegLinetoAbs): 48016 (WebCore::SVGPathElement::createSVGPathSegLinetoRel): 48017 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): 48018 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): 48019 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): 48020 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): 48021 (WebCore::SVGPathElement::createSVGPathSegArcAbs): 48022 (WebCore::SVGPathElement::createSVGPathSegArcRel): 48023 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): 48024 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): 48025 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): 48026 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): 48027 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): 48028 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): 48029 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): 48030 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): 48031 (WebCore::SVGPathElement::pathSegList): 48032 * svg/SVGPathElement.h: 48033 * svg/SVGPathSeg.h: 48034 (WebCore::SVGPathSeg::SVGPathSeg): 48035 * svg/SVGPathSegArc.h: 48036 (WebCore::SVGPathSegArcAbs::create): 48037 (WebCore::SVGPathSegArcRel::create): 48038 * svg/SVGPathSegClosePath.h: 48039 (WebCore::SVGPathSegClosePath::create): 48040 * svg/SVGPathSegCurvetoCubic.h: 48041 (WebCore::SVGPathSegCurvetoCubicAbs::create): 48042 (WebCore::SVGPathSegCurvetoCubicRel::create): 48043 * svg/SVGPathSegCurvetoCubicSmooth.h: 48044 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create): 48045 (WebCore::SVGPathSegCurvetoCubicSmoothRel::create): 48046 * svg/SVGPathSegCurvetoQuadratic.h: 48047 (WebCore::SVGPathSegCurvetoQuadraticAbs::create): 48048 (WebCore::SVGPathSegCurvetoQuadraticRel::create): 48049 * svg/SVGPathSegCurvetoQuadraticSmooth.h: 48050 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create): 48051 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create): 48052 * svg/SVGPathSegLineto.h: 48053 (WebCore::SVGPathSegLinetoAbs::create): 48054 (WebCore::SVGPathSegLinetoRel::create): 48055 * svg/SVGPathSegLinetoHorizontal.h: 48056 (WebCore::SVGPathSegLinetoHorizontalAbs::create): 48057 (WebCore::SVGPathSegLinetoHorizontalRel::create): 48058 * svg/SVGPathSegLinetoVertical.h: 48059 (WebCore::SVGPathSegLinetoVerticalAbs::create): 48060 (WebCore::SVGPathSegLinetoVerticalRel::create): 48061 * svg/SVGPathSegList.h: 48062 (WebCore::SVGPathSegList::create): 48063 * svg/SVGPathSegMoveto.h: 48064 (WebCore::SVGPathSegMovetoAbs::create): 48065 (WebCore::SVGPathSegMovetoRel::create): 48066 * svg/SVGPatternElement.cpp: 48067 (WebCore::SVGPatternElement::SVGPatternElement): 48068 (WebCore::SVGPatternElement::canvasResource): 48069 * svg/SVGPointList.h: 48070 (WebCore::SVGPointList::create): 48071 * svg/SVGPolyElement.cpp: 48072 (WebCore::SVGPolyElement::points): 48073 * svg/SVGPreserveAspectRatio.cpp: 48074 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio): 48075 * svg/SVGPreserveAspectRatio.h: 48076 (WebCore::SVGPreserveAspectRatio::create): 48077 * svg/SVGRenderingIntent.h: 48078 (WebCore::SVGRenderingIntent::SVGRenderingIntent): 48079 * svg/SVGStringList.h: 48080 (WebCore::SVGStringList::create): 48081 * svg/SVGStyledTransformableElement.cpp: 48082 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): 48083 * svg/SVGTests.cpp: 48084 (WebCore::SVGTests::requiredFeatures): 48085 (WebCore::SVGTests::requiredExtensions): 48086 (WebCore::SVGTests::systemLanguage): 48087 * svg/SVGTextElement.cpp: 48088 (WebCore::SVGTextElement::SVGTextElement): 48089 * svg/SVGTextPositioningElement.cpp: 48090 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement): 48091 * svg/SVGTransformList.h: 48092 (WebCore::SVGTransformList::create): 48093 * svg/SVGUnitTypes.h: 48094 (WebCore::SVGUnitTypes::SVGUnitTypes): 48095 * svg/SVGViewElement.cpp: 48096 (WebCore::SVGViewElement::viewTarget): 48097 * svg/SVGViewSpec.cpp: 48098 (WebCore::SVGViewSpec::SVGViewSpec): 48099 * svg/graphics/SVGPaintServer.cpp: 48100 (WebCore::SVGPaintServer::sharedSolidPaintServer): 48101 * svg/graphics/SVGPaintServer.h: 48102 * svg/graphics/SVGPaintServerGradient.h: 48103 (WebCore::SVGPaintServerGradient::SharedStopCache::create): 48104 (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache): 48105 * svg/graphics/SVGPaintServerLinearGradient.h: 48106 (WebCore::SVGPaintServerLinearGradient::create): 48107 * svg/graphics/SVGPaintServerPattern.h: 48108 (WebCore::SVGPaintServerPattern::create): 48109 * svg/graphics/SVGPaintServerRadialGradient.h: 48110 (WebCore::SVGPaintServerRadialGradient::create): 48111 * svg/graphics/SVGPaintServerSolid.h: 48112 (WebCore::SVGPaintServerSolid::create): 48113 * svg/graphics/SVGResource.cpp: 48114 (WebCore::SVGResource::SVGResource): 48115 * svg/graphics/SVGResource.h: 48116 * svg/graphics/SVGResourceClipper.h: 48117 (WebCore::SVGResourceClipper::create): 48118 * svg/graphics/SVGResourceMarker.h: 48119 (WebCore::SVGResourceMarker::create): 48120 * svg/graphics/SVGResourceMasker.h: 48121 (WebCore::SVGResourceMasker::create): 48122 * svg/graphics/cg/SVGPaintServerGradientCg.cpp: 48123 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache): 48124 48125 2008-02-20 Darin Adler <darin (a] apple.com> 48126 48127 Reviewed by Sam. 48128 48129 - make conversion from CSS ParseString to String and AtomicString 48130 automatic and remove all the explicit calls to do the conversion 48131 48132 - fix CSS parsing to do fewer allocations, mostly by using the 48133 equalIgnoringCase function in CSSParser 48134 48135 * css/CSSGrammar.y: Take out all the explicit atomicString and 48136 domString calls now that ParseString knows how to convert itself. 48137 48138 * css/CSSParser.cpp: 48139 (WebCore::equal): Added. 48140 (WebCore::equalIgnoringCase): Allow non-lettters. 48141 (WebCore::ParseString::lower): Used charactersAreAllASCII. 48142 (WebCore::unitFromString): Use equal. 48143 (WebCore::CSSParser::parseValue): Removed unneeded call to domString. 48144 (WebCore::CSSParser::parseContent): Use equalIgnoringCase. 48145 (WebCore::CSSParser::parseBackgroundImage): Removed unneeded call to domString. 48146 (WebCore::CSSParser::parseTransitionTimingFunction): Use equalIgnoringCase. 48147 (WebCore::CSSParser::parseDashboardRegions): More of the same. 48148 (WebCore::CSSParser::parseCounterContent): Ditto. 48149 (WebCore::CSSParser::parseShape): Use equalIgnoringCase. 48150 (WebCore::CSSParser::parseFontFamily): Removed unneeded calls to domString. 48151 (WebCore::CSSParser::parseFontFaceSrc): More. 48152 (WebCore::CSSParser::parseFontFaceUnicodeRange): More. 48153 (WebCore::CSSParser::parseColor): Don't lowercase here -- setNamedColor now 48154 handles the case folding. 48155 (WebCore::CSSParser::parseColorFromValue): More. 48156 (WebCore::CSSParser::parseBorderImage): More. 48157 (WebCore::CSSParser::parseCounter): More. 48158 (WebCore::TransformOperationInfo::TransformOperationInfo): More. 48159 (WebCore::CSSParser::parseTransform): More. 48160 (WebCore::CSSParser::createCharsetRule): More. 48161 (WebCore::CSSParser::createImportRule): More. 48162 48163 * css/CSSParser.h: Removed domString and atomicString functions. 48164 (WebCore::ParseString::operator String): Added. Allows conversion to String 48165 without an explicit function call. 48166 (WebCore::ParseString::operator AtomicString): Ditto. 48167 48168 * css/MediaQueryExp.cpp: 48169 (WebCore::MediaQueryExp::MediaQueryExp): Removed a call to domString. 48170 * css/SVGCSSParser.cpp: 48171 (WebCore::CSSParser::parseSVGValue): Removed calls to domString. 48172 48173 * platform/graphics/Color.cpp: 48174 (WebCore::findNamedColor): Call toASCIILower on each character as we copy 48175 it into the 8-bit character buffer to make the operation fold case. 48176 48177 2008-02-20 Justin Garcia <justin.garcia (a] apple.com> 48178 48179 Reviewed by Darin Adler. 48180 48181 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes 48182 48183 * editing/DeleteSelectionCommand.cpp: 48184 (WebCore::DeleteSelectionCommand::initializeStartEnd): The common case here 48185 is where there are no special elements. Avoid creating VisiblePositions in 48186 that case. Additionally, this change postpones the more expensive creation 48187 of an upstream VisiblePosition until the last possible moment. 48188 (WebCore::DeleteSelectionCommand::saveTypingStyleState): 48189 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Add an 48190 early return for a common case: deleting characters that are all inside the 48191 same text node. In that case the style at the start of the selection will 48192 not change during the delete, so there is no need to save/recompute it. 48193 (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): Early return 48194 before VisiblePosition creation if the ends of the selection aren't enclosed 48195 by an anchor. 48196 * editing/TypingCommand.cpp: 48197 (WebCore::TypingCommand::markMisspellingsAfterTyping): Early return if spell 48198 checking isn't enabled. 48199 48200 2008-02-20 Alexey Proskuryakov <ap (a] webkit.org> 48201 48202 Incorporates some improvements made by Dan Bernstein. 48203 48204 Reviewed by Darin. 48205 48206 http://bugs.webkit.org/show_bug.cgi?id=17106 48207 <rdar://problem/5750722> Debug build ASSERTs on page load 48208 48209 Test: fast/encoding/GBK/close-gbk-converter.html 48210 48211 * platform/text/TextCodecICU.cpp: 48212 (WebCore::getGbkEscape): Changed to use a switch instead of a HashMap, as there 48213 are only four values. 48214 (WebCore::gbkCallbackEscape): Check the reason why the function is called, and do not attempt 48215 getting an escape character if it's not UCNV_UNASSIGNED. 48216 (WebCore::gbkCallbackSubstitute): Ditto. 48217 48218 2008-02-20 Alexey Proskuryakov <ap (a] webkit.org> 48219 48220 Build fix. 48221 48222 * xml/XMLHttpRequest.cpp: 48223 (WebCore::isSafeRequestHeader): 48224 (WebCore::XMLHttpRequest::setRequestHeader): 48225 48226 2008-02-20 Alexey Proskuryakov <ap (a] webkit.org> 48227 48228 Reviewed by Darin. 48229 48230 <rdar://problem/5749455> Unable to set the Referer header in Dashboard using XMLHttpRequest 48231 48232 Cannot be tested in DRT. 48233 48234 * xml/XMLHttpRequest.cpp: (WebCore::canSetRequestHeader): Assume that a request that can load 48235 local files can also set any headers. 48236 48237 2008-02-19 Darin Adler <darin (a] apple.com> 48238 48239 Reviewed by Sam. 48240 48241 - removed use of DeprecatedString for font family names 48242 48243 * css/CSSFontSelector.cpp: 48244 (WebCore::CSSFontSelector::addFontFaceRule): Update for name change. 48245 * css/CSSParser.cpp: 48246 (WebCore::CSSParser::parseFontFamily): Update to use new appendSpaceSeparated 48247 function and String rather than DeprecatedString. 48248 * css/CSSStyleSelector.cpp: 48249 (WebCore::CSSStyleSelector::applyProperty): Updated for name change. 48250 * css/FontFamilyValue.cpp: 48251 (WebCore::FontFamilyValue::FontFamilyValue): Replaced code using a regular 48252 expression with code that does the same thing more efficiently. 48253 (WebCore::FontFamilyValue::appendSpaceSeparated): Added. 48254 (WebCore::FontFamilyValue::cssText): Updated for name change. 48255 * css/FontFamilyValue.h: Changed DeprecatedString to String. Renamed fontName 48256 to familyName and parsedFontName to m_familyName. Removed unused genericFamilyType 48257 and m_genericFamilyType. Added appendSpaceSeparated so that m_familyName can 48258 be private instead of public. 48259 48260 2008-02-19 Darin Adler <darin (a] apple.com> 48261 48262 - fix build when SVG is not enabled 48263 48264 * rendering/RenderTreeAsText.cpp: Added include of "TextStream.h". 48265 48266 2008-02-19 Anders Carlsson <andersca (a] apple.com> 48267 48268 Reviewed by Darin. 48269 48270 Change all classes in xml/ to start out with a ref count of 1. 48271 48272 * bindings/js/JSCustomXPathNSResolver.h: 48273 * bindings/js/JSXMLHttpRequest.cpp: 48274 (WebCore::JSXMLHttpRequest::JSXMLHttpRequest): 48275 * bindings/js/JSXSLTProcessor.cpp: 48276 (WebCore::JSXSLTProcessor::JSXSLTProcessor): 48277 * bindings/objc/DOMCustomXPathNSResolver.h: 48278 (WebCore::DOMCustomXPathNSResolver::create): 48279 * bindings/scripts/CodeGeneratorJS.pm: 48280 * bindings/scripts/CodeGeneratorObjC.pm: 48281 * dom/Document.cpp: 48282 (WebCore::Document::applyXSLTransform): 48283 (WebCore::Document::createExpression): 48284 (WebCore::Document::createNSResolver): 48285 (WebCore::Document::evaluate): 48286 * xml/DOMParser.h: 48287 (WebCore::DOMParser::create): 48288 (WebCore::DOMParser::DOMParser): 48289 * xml/NativeXPathNSResolver.h: 48290 (WebCore::NativeXPathNSResolver::create): 48291 * xml/XMLHttpRequest.cpp: 48292 (WebCore::XMLHttpRequest::XMLHttpRequest): 48293 * xml/XMLHttpRequest.h: 48294 (WebCore::XMLHttpRequest::create): 48295 * xml/XMLSerializer.h: 48296 (WebCore::XMLSerializer::create): 48297 (WebCore::XMLSerializer::XMLSerializer): 48298 * xml/XPathEvaluator.cpp: 48299 (WebCore::XPathEvaluator::createNSResolver): 48300 * xml/XPathEvaluator.h: 48301 (WebCore::XPathEvaluator::create): 48302 (WebCore::XPathEvaluator::XPathEvaluator): 48303 * xml/XPathExpression.cpp: 48304 (WebCore::XPathExpression::createExpression): 48305 (WebCore::XPathExpression::evaluate): 48306 * xml/XPathExpression.h: 48307 (WebCore::XPathExpression::create): 48308 (WebCore::XPathExpression::XPathExpression): 48309 * xml/XPathNSResolver.h: 48310 * xml/XPathResult.cpp: 48311 (WebCore::XPathResult::XPathResult): 48312 * xml/XPathResult.h: 48313 (WebCore::XPathResult::create): 48314 * xml/XPathValue.cpp: 48315 (WebCore::XPath::Value::modifiableNodeSet): 48316 * xml/XPathValue.h: 48317 (WebCore::XPath::ValueData::create): 48318 (WebCore::XPath::ValueData::ValueData): 48319 (WebCore::XPath::Value::Value): 48320 * xml/XSLTProcessor.h: 48321 (WebCore::XSLTProcessor::create): 48322 (WebCore::XSLTProcessor::XSLTProcessor): 48323 48324 2008-02-19 Darin Adler <darin (a] apple.com> 48325 48326 Reviewed by Sam. 48327 48328 - Trimmed down TextStream and weaned it from DeprecatedString. 48329 48330 * page/mac/WebCoreFrameBridge.mm: 48331 (-[WebCoreFrameBridge renderTreeAsExternalRepresentation]): 48332 Removed now-unneeded call to getNSString. 48333 48334 * platform/text/TextStream.cpp: Removed unused functions. 48335 Use snprintf instead of sprintf, for better security. 48336 (WebCore::TextStream::release): Added. 48337 * platform/text/TextStream.h: Removed lots of unneeded stuff. 48338 48339 * rendering/RenderTreeAsText.cpp: 48340 (WebCore::externalRepresentation): Changed to use String instead 48341 of DeprecatedString. 48342 * rendering/RenderTreeAsText.h: Ditto. 48343 48344 * rendering/SVGRenderTreeAsText.cpp: 48345 (WebCore::writeSVGInlineTextBox): Use "\n" instead of endl. 48346 (WebCore::write): Ditto. 48347 (WebCore::writeRenderResources): Ditto. 48348 48349 2008-02-19 Justin Garcia <justin.garcia (a] apple.com> 48350 48351 Reviewed by Darin Adler. 48352 48353 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes 48354 48355 This brings performance on the phone back to old levels. Andre and I are doing 48356 some formal testing to see exactly where we stand. 48357 48358 * dom/Position.cpp: 48359 (WebCore::enclosingBlockIgnoringEditability): Added. This is enclosingBlock 48360 without the expensive editability checks. upstream and downstream can avoid 48361 those because they do their own editability checking. 48362 (WebCore::Position::upstream): 48363 (WebCore::Position::downstream): 48364 48365 2008-02-19 Chris Fleizach <cfleizach (a] apple.com> 48366 48367 Reviewed by Darin. 48368 48369 <rdar://problem/3663560> AXLink for a "name" (anchor) on same page should include an AXLinkedUIElementAttribute 48370 48371 * bridge/mac/WebCoreAXObject.mm: 48372 (-[WebCoreAXObject linkedUIElement]): 48373 Returns the linked-to AX object (if the specified one is ignored by accessibility, returns the next un-ignored one by traversing the DOM). 48374 48375 (-[WebCoreAXObject accessibilityAttributeNames]): 48376 (-[WebCoreAXObject accessibilityAttributeValue:]): 48377 Support NSAccessibilityLinkedUIElementsAttribute. 48378 48379 2008-02-19 Darin Adler <darin (a] apple.com> 48380 48381 Reviewed by Sam. 48382 48383 - Removed old debugging aids, Node::dump, RenderObject::dump, and 48384 RenderObject::information, that used DeprecatedString. 48385 48386 * dom/CharacterData.cpp: Removed override of Node::dump. 48387 * dom/CharacterData.h: Ditto. 48388 * dom/Element.cpp: Ditto. 48389 * dom/Element.h: Ditto. 48390 * dom/EventTargetNode.cpp: Ditto. 48391 * dom/EventTargetNode.h: Ditto. 48392 * dom/Node.cpp: Removed Node::dump. 48393 * dom/Node.h: Ditto. 48394 48395 * rendering/RenderBlock.cpp: Removed override of RenderObject::dump. 48396 * rendering/RenderBlock.h: Ditto. 48397 * rendering/RenderFrameSet.cpp: Ditto. 48398 * rendering/RenderFrameSet.h: Ditto. 48399 * rendering/RenderObject.cpp: Removed RenderObject::dump and 48400 RenderObject::information. 48401 * rendering/RenderObject.h: Ditto. 48402 * rendering/RenderTable.cpp: Removed override of RenderObject::dump. 48403 * rendering/RenderTable.h: Ditto. 48404 * rendering/RenderTableCell.cpp: Ditto. 48405 * rendering/RenderTableCell.h: Ditto. 48406 * rendering/RenderTableCol.cpp: Ditto. 48407 * rendering/RenderTableCol.h: Ditto. 48408 * rendering/RenderTableSection.cpp: Ditto. 48409 * rendering/RenderTableSection.h: Ditto. 48410 48411 * rendering/RenderTreeAsText.h: Removed unneeded include of TextStream.h 48412 and added forward declarations as appropriate. 48413 48414 * svg/SVGSVGElement.cpp: Removed unneeded include of TextStream.h. 48415 * svg/graphics/SVGResourceClipper.cpp: And here. 48416 * svg/graphics/SVGResourceFilter.cpp: Ditto. 48417 * svg/graphics/filters/SVGFEBlend.cpp: Ditto. 48418 * svg/graphics/filters/SVGFEComponentTransfer.cpp: Ditto. 48419 * svg/graphics/filters/SVGFEComposite.cpp: Ditto. 48420 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto. 48421 * svg/graphics/filters/SVGFEGaussianBlur.cpp: Ditto. 48422 * svg/graphics/filters/SVGFEImage.cpp: Ditto. 48423 * svg/graphics/filters/SVGFEMerge.cpp: Ditto. 48424 * svg/graphics/filters/SVGFEMorphology.cpp: Ditto. 48425 * svg/graphics/filters/SVGFEOffset.cpp: Ditto. 48426 * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto. 48427 * svg/graphics/filters/SVGFETurbulence.cpp: Ditto. 48428 * svg/graphics/filters/SVGFilterEffect.cpp: Ditto. 48429 48430 2008-02-19 Beth Dakin <bdakin (a] apple.com> 48431 48432 Reviewed by Sam. 48433 48434 Fix for <rdar://problem/5729674> Seed: Crash in 48435 RenderButton::setStyle at http://www.dinorpg.com 48436 48437 Inputs should not honor first-letter. 48438 48439 * rendering/RenderBlock.cpp: 48440 (WebCore::RenderBlock::updateFirstLetter): 48441 48442 2008-02-19 Dan Bernstein <mitz (a] apple.com> 48443 48444 Reviewed by Darin Adler. 48445 48446 - fix <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15 48447 48448 Test: fast/text/wbr-styled.html 48449 48450 Changed RenderWordBreak to inherit from RenderText instead of 48451 RenderInline. 48452 48453 * rendering/RenderBlock.cpp: 48454 (WebCore::RenderBlock::calcInlinePrefWidths): 48455 * rendering/RenderFlow.h: 48456 * rendering/RenderText.cpp: 48457 (WebCore::RenderText::renderName): 48458 (WebCore::RenderText::isTextFragment): 48459 (WebCore::RenderText::isWordBreak): 48460 * rendering/RenderText.h: 48461 * rendering/RenderWordBreak.cpp: 48462 (WebCore::RenderWordBreak::RenderWordBreak): 48463 * rendering/RenderWordBreak.h: 48464 * rendering/bidi.cpp: 48465 (WebCore::RenderBlock::findNextLineBreak): 48466 48467 2008-02-19 Anders Carlsson <andersca (a] apple.com> 48468 48469 Reviewed by Darin. 48470 48471 * WebCore.base.exp: 48472 * loader/mac/LoaderNSURLExtras.h: 48473 * loader/mac/LoaderNSURLExtras.m: 48474 Move unused functions to WebKit (where they are used) 48475 48476 (vectorContainsString): 48477 Use const references. 48478 48479 * platform/mac/WebCoreSystemInterface.h: 48480 * platform/mac/WebCoreSystemInterface.mm: 48481 Remove wkNSURLProtocolClassForReqest. 48482 48483 2008-02-19 Justin Garcia <justin.garcia (a] apple.com> 48484 48485 Reviewed by Darin Adler. 48486 48487 <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore 48488 48489 These changes bring deleting performance back to old levels on the phone 48490 except for deleting the first space to the right of a word, which we are 48491 still working on. 48492 48493 * dom/Position.cpp: 48494 (WebCore::Position::upstream): Avoid the use of enclosingBlock when determining 48495 if we have left the original enclosing block or entered a new one, and avoid 48496 rootEditableElement for determining if we have changed editability. These 48497 operations are expensive. 48498 (WebCore::Position::downstream): Ditto. 48499 48500 2008-02-19 Darin Adler <darin (a] apple.com> 48501 48502 Rubber stamped by Anders. 48503 48504 - removed explicit initialization to 1 for RefCounted; that's now the default 48505 48506 * loader/ResourceLoader.cpp: 48507 (WebCore::ResourceLoader::ResourceLoader): Removed RefCounted initializer. 48508 * platform/network/ResourceHandle.cpp: 48509 (WebCore::ResourceHandle::ResourceHandle): Ditto. 48510 * platform/text/StringImpl.cpp: 48511 (WebCore::StringImpl::StringImpl): Ditto. 48512 48513 2008-02-18 Anders Carlsson <andersca (a] apple.com> 48514 48515 Reviewed by Darin. 48516 48517 Make ResourceLoader and ResourceHandle start out with a refcount of 1. 48518 48519 * loader/MainResourceLoader.cpp: 48520 (WebCore::MainResourceLoader::create): 48521 * loader/NetscapePlugInStreamLoader.cpp: 48522 (WebCore::NetscapePlugInStreamLoader::create): 48523 * loader/ResourceLoader.cpp: 48524 (WebCore::ResourceLoader::ResourceLoader): 48525 * loader/SubresourceLoader.cpp: 48526 (WebCore::SubresourceLoader::create): 48527 * platform/network/ResourceHandle.cpp: 48528 (WebCore::ResourceHandle::ResourceHandle): 48529 (WebCore::ResourceHandle::create): 48530 48531 2008-02-19 Alp Toker <alp (a] atoker.com> 48532 48533 Reviewed by Mark Rowe. 48534 48535 http://bugs.webkit.org/show_bug.cgi?id=16863 48536 [GTK] tab focusing doesn't work 48537 48538 GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify 48539 the meta key state. 48540 48541 Use GDK_META_MASK where available, otherwise do not support the meta 48542 key. This matches the behaviour of other applications. 48543 48544 Also add a comment noting that the platform event constructors need to 48545 be kept in sync (it's not obvious that there are multiple places that 48546 check the key state). 48547 48548 * platform/gtk/KeyEventGtk.cpp: 48549 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 48550 * platform/gtk/MouseEventGtk.cpp: 48551 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 48552 * platform/gtk/WheelEventGtk.cpp: 48553 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 48554 48555 2008-02-18 Brady Eidson <beidson (a] apple.com> 48556 48557 Reviewed by Sam Weinig's white rhino tusk stamp 48558 48559 SQLiteTransaction::stop() should also reset the transaction-in-progress flag in its parent SQLiteDatabase 48560 48561 * platform/sql/SQLiteTransaction.cpp: 48562 (WebCore::SQLiteTransaction::stop): 48563 48564 2008-02-18 Brady Eidson <beidson (a] apple.com> 48565 48566 Reviewed by Darin 48567 48568 Fix for <rdar://5747529> - ObjC Exception can cause JSLock to never be released 48569 48570 Test: platform/mac/plugins/webScriptObject-exception-deadlock.html 48571 48572 * bindings/objc/WebScriptObject.mm: 48573 (-[WebScriptObject valueForKey:]): The line `resultObj = [super valueForKey:key]; // defaults to throwing an exception` 48574 says it all - it throws an exception. This method also happens to hold the JSLock. Problematically, when the exeception 48575 is thrown and the method exited, the JSLock is never released. Fix that without otherwise changing behavior by holding the 48576 JSLock in two individual scopes - Right before the exception and right after. 48577 48578 2008-02-18 Darin Adler <darin (a] apple.com> 48579 48580 Reviewed by Sam. 48581 48582 - reduce use of DeprecatedString and memory allocations in processing of CSS 48583 - remove unnecessary double -> float -> double trip in the CSS parser 48584 - cleaned up names and structure in CSS grammar 48585 48586 * css/CSSGrammar.y: Remove getPropertyID and getValueID. Both are now in CSSParser.cpp 48587 instead, and they now work on ParseString and String objects and don't require the caller 48588 to put the string into a char*. Gave members of the %union more sensible names, removed 48589 duplicates, and sorted into a logical order. Put the %expect back in, rather than leaving 48590 it commented out. 48591 * css/CSSParser.cpp: 48592 (WebCore::equalIgnoringCase): Added. 48593 (WebCore::hasPrefix): Added. 48594 (WebCore::CSSParser::parseTransitionProperty): Changed to call the new cssPropertyID, 48595 which obviates the need to call lower() and utf8() or to allocate memory at all. Also 48596 used equalIgnoringCase rather than putting the value into a String just to compare it. 48597 (WebCore::CSSParser::lex): Replaced convertASCIIToFloat with charactersToDouble. This change 48598 along with the CSSGrammar.y change, removes the double -> float -> double round trip, and 48599 affects the result of one layout test. 48600 (WebCore::cssPropertyID): Added. Gets the property ID from the gperf hash table, but 48601 without allocating any memory. 48602 (WebCore::cssValueKeywordID): Ditto. 48603 * css/CSSParser.h: Removed declaration for deprecatedString function (now used only in 48604 CSSParser.cpp; soon to be deleted). Added cssPropertyID and cssValueKeywordID functions. 48605 48606 * css/CSSStyleDeclaration.cpp: 48607 (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Call cssPropertyID instead of propertyID. 48608 (WebCore::CSSStyleDeclaration::getPropertyValue): Ditto. 48609 (WebCore::CSSStyleDeclaration::getPropertyPriority): Ditto. 48610 (WebCore::CSSStyleDeclaration::getPropertyShorthand): Ditto. 48611 (WebCore::CSSStyleDeclaration::isPropertyImplicit): Ditto. 48612 (WebCore::CSSStyleDeclaration::setProperty): Ditto. 48613 (WebCore::CSSStyleDeclaration::removeProperty): Ditto. 48614 (WebCore::CSSStyleDeclaration::isPropertyName): Ditto. 48615 * css/CSSStyleDeclaration.h: Removed unnecessary includes, unnecessary Noncopyable boilerplate, 48616 and the getPropertyID function declaration along with its associated apology comment. 48617 48618 * css/makevalues.pl: Generate constants instead of macros for CSS value numbers (but not an 48619 enumeration, like properties, since you rarely have any reason to handle all values, but 48620 often have a reason to handle all properties). Renamed the constant for the number of CSS 48621 value keywords from CSS_VAL_TOTAL to numCSSValueKeywords, and added maxCSSValueKeywordLength. 48622 48623 * platform/text/String.cpp: 48624 (WebCore::charactersToDouble): Made this function more efficient by using a stack buffer 48625 rather than a CString. 48626 48627 2008-02-18 Dan Bernstein <mitz (a] apple.com> 48628 48629 Reviewed by Dave Hyatt. 48630 48631 - fix <rdar://problem/5736225> crash in svgFontAndFaceElementForFontData on digitalstrom.org/cms 48632 48633 Test: fast/css/font-face-multiple-remote-sources.html 48634 48635 * css/CSSFontFace.cpp: 48636 (WebCore::CSSFontFace::fontLoaded): 48637 * css/CSSSegmentedFontFace.cpp: 48638 (WebCore::CSSSegmentedFontFace::fontLoaded): 48639 48640 2008-02-18 Darin Adler <darin (a] apple.com> 48641 48642 Reviewed by Sam. 48643 48644 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 48645 (WebCore::hasCSSPropertyNamePrefix): Added. 48646 (WebCore::cssPropertyName): Reimplement to not use DeprecatedString. Also made faster 48647 by using a Vector<UChar> and eliminating all the string operations. 48648 48649 2008-02-18 Stephanie Lewis <slewis (a] apple.com> 48650 48651 Reviewed by Adam. 48652 48653 Remove workaround for <rdar://problem/5695848>. 48654 48655 * platform/network/cf/ResourceResponseCFNet.cpp: 48656 (WebCore::ResourceResponse::doUpdateResourceResponse): 48657 48658 2008-02-18 Samuel Weinig <sam (a] webkit.org> 48659 48660 Reviewed by Geoff Garen. 48661 48662 Fix for http://bugs.webkit.org/show_bug.cgi?id=17419 48663 Remove CompatMode from JavaScriptCore as it is never set to anything other than NativeMode 48664 48665 * bindings/js/kjs_proxy.cpp: 48666 (WebCore::KJSProxy::initScript): 48667 48668 2008-02-18 Alp Toker <alp (a] atoker.com> 48669 48670 Reviewed by Mark Rowe. 48671 48672 http://bugs.webkit.org/show_bug.cgi?id=17381 48673 [CURL] Regression: data URL parsing broken after DeprecatedString removal (Acid2) 48674 48675 This patch resolves the regression for the GTK+ port. 48676 48677 * platform/network/curl/ResourceHandleManager.cpp: 48678 (WebCore::parseDataUrl): 48679 48680 2008-02-18 Darin Adler <darin (a] apple.com> 48681 48682 Reviewed by Sam. 48683 48684 * platform/network/win/ResourceHandleWin.cpp: 48685 (WebCore::ResourceHandle::onHandleCreated): Use String instead of DeprecatedString. 48686 (WebCore::ResourceHandle::start): Ditto. 48687 48688 2008-02-18 Darin Adler <darin (a] apple.com> 48689 48690 Reviewed by Sam. 48691 48692 * platform/network/win/CookieJarWin.cpp: 48693 (WebCore::setCookies): Use String instead of DeprecatedString. 48694 (WebCore::cookies): Ditto. 48695 48696 2008-02-18 Darin Adler <darin (a] apple.com> 48697 48698 Reviewed by Sam. 48699 48700 - removed use of DeprecatedString in the Color class 48701 48702 * platform/graphics/Color.cpp: 48703 (WebCore::Color::parseHexColor): Streamlined logic a bit with early returns. 48704 Used toASCIIHexValue a character at a time rather than using toIntStrict 48705 in base 16 mode. 48706 (WebCore::findNamedColor): Added. Uses a fixed-size char buffer to look up 48707 a color using the gperf-generated findColor function. Saves a memory allocation 48708 vs. the old version that called DeprecatedString::latin1(). 48709 (WebCore::Color::setNamedColor): Changed to use findNamedColor. 48710 48711 2008-02-18 Darin Adler <darin (a] apple.com> 48712 48713 Reviewed by Sam. 48714 48715 * editing/htmlediting.cpp: 48716 (WebCore::stringWithRebalancedWhitespace): Changed to use String instead of 48717 DeprecatedString. 48718 48719 2008-02-18 Darin Adler <darin (a] apple.com> 48720 48721 Reviewed by Sam. 48722 48723 * editing/SelectionController.cpp: 48724 (WebCore::SelectionController::debugRenderer): Changed to use String instead of 48725 DeprecatedString. 48726 48727 2008-02-18 Darin Adler <darin (a] apple.com> 48728 48729 Reviewed and landed by Sam. 48730 48731 Remove DeprecatedStringList. 48732 48733 * GNUmakefile.am: 48734 * WebCore.pro: 48735 * WebCore.vcproj/WebCore.vcproj: 48736 * WebCore.xcodeproj/project.pbxproj: 48737 * WebCoreSources.bkl: 48738 * editing/markup.cpp: 48739 * platform/DeprecatedStringList.cpp: Removed. 48740 * platform/DeprecatedStringList.h: Removed. 48741 * platform/mac/DeprecatedStringListMac.mm: Removed. 48742 48743 2008-02-18 Darin Adler <darin (a] apple.com> 48744 48745 Reviewed by Sam. 48746 48747 * css/CSSPrimitiveValueMappings.h: Add default cases to all the switch statements. 48748 This will ease the way some day if we decide to use an enum instead of int; otherwise 48749 we'll have a ton of "unhandled enum value" warnings here. 48750 48751 2008-02-18 Alp Toker <alp (a] atoker.com> 48752 48753 Build fix for GTK+ < 2.10. Fall back to simple text clipboard copy 48754 with older GTK+ versions for now. 48755 48756 * platform/gtk/PasteboardGtk.cpp: 48757 (WebCore::Pasteboard::writeSelection): 48758 48759 2008-02-18 Darin Adler <darin (a] apple.com> 48760 48761 Reviewed by Sam. 48762 48763 * WebCore.base.exp: Export a couple of WebCore::String functions we plan to use 48764 in the future in WebKit. 48765 48766 2008-02-18 Darin Adler <darin (a] apple.com> 48767 48768 Reviewed by Sam. 48769 48770 * DerivedSources.make: Added the scripts to the ENABLE_SVG versions of the rules 48771 for CSSPropertyNames.h and CSSValueKeywords.h. Somehow that got left out, so the 48772 files would not be regenerated if the scripts were changed (but would if SVG was 48773 disabled). 48774 48775 2008-02-18 Alexey Proskuryakov <ap (a] webkit.org> 48776 48777 Suggested by Darin. 48778 48779 * platform/KURL.h: (WebCore::KURL::operator const String&): Added, to avoid unexpected 48780 conversion via UString (as in bug 17418). 48781 48782 2008-02-18 Jon Honeycutt <jhoneycutt (a] apple.com> 48783 48784 Reviewed by Darin. 48785 48786 <rdar://problem/5744899> Crash in Flash when clicking "Yes" to abort 48787 slow script Flash 9 dialog at http://www.kidzui.com 48788 48789 When navigating to a new page, we stop all outstanding PluginStreams. 48790 Flash hangs in the call to NPP_URLNotify. It eventually displays the 48791 "slow script" dialog, which relinquishes control to the system. While 48792 this dialog is running, the request we are in the process of cancelling 48793 completes, and we re-enter Flash to deliver the data. When the dialog 48794 is dismissed, the internal state of Flash has changed, and Flash 48795 crashes with a null dereference. 48796 48797 To work around this, we can defer loading before entering plug-in code, 48798 so that even if a plug-in yields to the system, we won't get callbacks 48799 while we're handling a callback. 48800 48801 * plugins/PluginStream.cpp: 48802 (WebCore::PluginStream::startStream): Defers loads while calling into 48803 plug-in. 48804 (WebCore::PluginStream::destroyStream): Same. 48805 (WebCore::PluginStream::deliverData): Same. 48806 (WebCore::PluginStream::didFail): Protect 'this' from deletion by 48807 destroyStream. Null out m_loader only after destroyStream returns. 48808 (WebCore::PluginStream::didFinishLoading): Same. 48809 48810 2008-02-18 Alexey Proskuryakov <ap (a] webkit.org> 48811 48812 Reviewed by Darin. 48813 48814 http://bugs.webkit.org/show_bug.cgi?id=17418 48815 REGRESSION: Assertion failure dragging image (JSLock::lockCount() > 0) 48816 48817 * platform/win/ClipboardWin.cpp: 48818 (WebCore::ClipboardWin::declareAndWriteDragImage): Explicitly convert from KURL to String, 48819 as an implicit conversion uses UString and thus needs a JSLock. 48820 48821 2008-02-17 Sam Weinig <sam (a] webkit.org> 48822 48823 Roll out r30360. 48824 48825 * loader/FrameLoader.cpp: 48826 (WebCore::FrameLoader::changeLocation): 48827 48828 2008-02-17 Sam Weinig <sam (a] webkit.org> 48829 48830 Mac build fix. 48831 48832 * WebCore.xcodeproj/project.pbxproj: 48833 48834 2008-02-17 Alp Toker <alp (a] atoker.com> 48835 48836 Attempt to fix the Wx build (has been broken all weekend). 48837 48838 Stub out some graphics functions. 48839 48840 * platform/graphics/wx/GraphicsContextWx.cpp: 48841 (WebCore::GraphicsContext::beginPath): 48842 (WebCore::GraphicsContext::addPath): 48843 * platform/graphics/wx/PathWx.cpp: 48844 (WebCore::Path::isEmpty): 48845 48846 2008-02-17 Julien Chaffraix <julien.chaffraix (a] gmail.com> 48847 48848 Reviewed by Alexey Proskuryakov. 48849 48850 http://bugs.webkit.org/show_bug.cgi?id=16989 48851 bug 16989 : Add send() flag checks in XmlHttpRequest 48852 48853 Splitted XmlHttpRequest::abort into abort (called from JavaScript) and internalAbort that 48854 perform the cancellation and is called mainly from internal methods. 48855 48856 Tests: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html 48857 http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldNotDispatchEvent.html 48858 http/tests/xmlhttprequest/xmlhttprequest-test-send-flag.html 48859 48860 * xml/XMLHttpRequest.cpp: 48861 (WebCore::XMLHttpRequest::open): Now call internalAbort() and moved readyState change into method 48862 (WebCore::XMLHttpRequest::send): Added m_loader check 48863 (WebCore::XMLHttpRequest::abort): Now update readyState and clear the request headers as specified 48864 in the spec 48865 48866 (WebCore::XMLHttpRequest::internalAbort): Perform cancellation internal operations (no readyState update) 48867 (WebCore::XMLHttpRequest::setRequestHeader): Added m_loader check 48868 48869 (WebCore::XMLHttpRequest::processSyncLoadResults): Now call internalAbort() instead of abort() 48870 (WebCore::XMLHttpRequest::willSendRequest): Ditto 48871 (WebCore::XMLHttpRequest::cancelRequests): Ditto 48872 (WebCore::XMLHttpRequest::detachRequests): Ditto 48873 * xml/XMLHttpRequest.h: Added the private internalAbort method 48874 48875 2008-02-17 Sam Weinig <sam (a] webkit.org> 48876 48877 Reviewed by Dan Bernstein. 48878 48879 Fix for http://bugs.webkit.org/show_bug.cgi?id=17365 48880 document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR 48881 48882 - Updated fast/events/event-instanceof.html to test document.createEvent("MessageEvent"). 48883 48884 * DerivedSources.make: 48885 Generate Objective-C binding for DOMProgressEvent which was missing. 48886 48887 * WebCore.xcodeproj/project.pbxproj: 48888 Add missing DOMProgressEvent files to the project. 48889 48890 * bindings/js/JSEventCustom.cpp: 48891 (WebCore::toJS): 48892 Clean up and add case for SVGZoomEvent that was missing. 48893 48894 * bindings/objc/DOMEvents.mm: 48895 (+[DOMEvent _wrapEvent:WebCore::]): 48896 Clean up and add cases for ProgressEvent and MessageEvent that were missing. 48897 48898 * dom/Document.cpp: 48899 (WebCore::Document::createEvent): 48900 Add case for MessageEvent. 48901 48902 2008-02-17 Adam Treat <treat (a] kde.org> 48903 48904 Reviewed by Eric Seidel. 48905 48906 http://bugs.webkit.org/show_bug.cgi?id=17008 48907 Meta refresh does not work with cache turned off 48908 48909 Fix for issue noticed on http://adserver.vivox.com/2 48910 48911 * loader/FrameLoader.cpp: 48912 (WebCore::FrameLoader::changeLocation): 48913 48914 2008-02-17 Alp Toker <alp (a] atoker.com> 48915 48916 Reviewed by Sam Weinig. 48917 48918 Fix for change made in r30355. Issue noticed by smail Dnmez. 48919 48920 Verify SSL certs by default, but allow checks to be disabled with an 48921 environment variable (WEBKIT_IGNORE_SSL_ERRORS) for now. 48922 48923 * platform/network/curl/ResourceHandleManager.cpp: 48924 (WebCore::ResourceHandleManager::startJob): 48925 48926 2008-02-17 Bin Chen <binary.chen (a] gmail.com> 48927 48928 Reviewed by Alp Toker. 48929 48930 http://bugs.webkit.org/show_bug.cgi?id=17404 48931 Bug 17404: curl certification problem 48932 48933 Disable SSL cert verification until we have a way of distributing 48934 certs and/or reporting SSL errors to the user. 48935 48936 * platform/network/curl/ResourceHandleManager.cpp: 48937 (WebCore::ResourceHandleManager::startJob): 48938 48939 2008-02-17 Alp Toker <alp (a] atoker.com> 48940 48941 Reviewed by Mark Rowe. 48942 48943 DevHelp fails to load local files; URL truncated by one character. 48944 48945 Fix a file:// URL regression introduced in KURL.cpp r30243. 48946 48947 * platform/KURL.cpp: 48948 (WebCore::KURL::KURL): 48949 48950 2008-02-17 Dan Bernstein <mitz (a] apple.com> 48951 48952 Reviewed by Darin Adler. 48953 48954 - fix http://bugs.webkit.org/show_bug.cgi?id=17033 48955 <rdar://problem/5709315> REGRESSION: Really long <option> causes unnecessary page scroll bars to accommodate content 48956 48957 Test: fast/forms/control-clip-overflow.html 48958 48959 * rendering/RenderFlow.cpp: 48960 (WebCore::RenderFlow::lowestPosition): Account for control clipping. 48961 (WebCore::RenderFlow::rightmostPosition): Ditto. 48962 (WebCore::RenderFlow::leftmostPosition): Ditto. 48963 48964 2008-02-16 Oliver Hunt <oliver (a] apple.com> 48965 48966 Reviewed by Eric S. 48967 48968 Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp 48969 48970 Use cross-platform code to determine the dirty rects for 48971 fill and stroke operations 48972 48973 * html/CanvasRenderingContext2D.cpp: 48974 (WebCore::CanvasRenderingContext2D::fill): 48975 (WebCore::CanvasRenderingContext2D::stroke): 48976 Added a FIXME as code inspection shows a trivial under-painting 48977 bug, although we currently ignore dirty rect tracking on canvas 48978 and repaint the whole thing anyway. 48979 (WebCore::CanvasRenderingContext2D::fillRect): 48980 48981 2008-02-16 Sam Weinig <sam (a] webkit.org> 48982 48983 Reviewed by Darin Adler. 48984 48985 Take another step in the direction of getting rid of DeprecatedString 48986 by moving all the to{NumericType} off of it. 48987 48988 - Create free functions that take a UChar* buffer and length to do 48989 the string-to-number conversions. This allows us to avoid two allocations 48990 if we don't already have a String and is consistent with the design we would 48991 like going forward. 48992 - Since the toInt (and family) functions on DeprecatedString were slightly 48993 different than the ones on String (they didn't allow trailing garbage), 48994 an extra set of 'Strict' toInt functions were added that have this behavior. 48995 48996 * platform/graphics/Color.cpp: 48997 (WebCore::Color::parseHexColor): 48998 * platform/text/PlatformString.h: 48999 * platform/text/String.cpp: 49000 (WebCore::String::percentage): 49001 (WebCore::String::toIntStrict): 49002 (WebCore::String::toUIntStrict): 49003 (WebCore::String::toInt64Strict): 49004 (WebCore::String::toUInt64Strict): 49005 (WebCore::String::toUInt): 49006 (WebCore::String::toDouble): 49007 (WebCore::isCharacterAllowedInBase): 49008 (WebCore::toIntegralType): 49009 (WebCore::lengthOfCharactersAsInteger): 49010 (WebCore::charactersToIntStrict): 49011 (WebCore::charactersToUIntStrict): 49012 (WebCore::charactersToInt64Strict): 49013 (WebCore::charactersToUInt64Strict): 49014 (WebCore::charactersToInt): 49015 (WebCore::charactersToUInt): 49016 (WebCore::charactersToInt64): 49017 (WebCore::charactersToUInt64): 49018 (WebCore::charactersToDouble): 49019 (WebCore::charactersToFloat): 49020 * platform/text/StringImpl.cpp: 49021 (WebCore::parseLength): 49022 (WebCore::StringImpl::toIntStrict): 49023 (WebCore::StringImpl::toUIntStrict): 49024 (WebCore::StringImpl::toInt64Strict): 49025 (WebCore::StringImpl::toUInt64Strict): 49026 (WebCore::StringImpl::toInt): 49027 (WebCore::StringImpl::toUInt): 49028 (WebCore::StringImpl::toInt64): 49029 (WebCore::StringImpl::toUInt64): 49030 (WebCore::StringImpl::toDouble): 49031 (WebCore::StringImpl::toFloat): 49032 * platform/text/StringImpl.h: 49033 * svg/SVGAnimationElement.cpp: 49034 (WebCore::SVGAnimationElement::parseClockValue): 49035 * svg/SVGFETurbulenceElement.cpp: 49036 (WebCore::SVGFETurbulenceElement::parseMappedAttribute): 49037 49038 2008-02-16 Dan Bernstein <mitz (a] apple.com> 49039 49040 Reviewed by Sam Weinig. 49041 49042 - fix fixed-pitch font measurement of control characters that render 49043 as zero-width space 49044 49045 Test: fast/text/fixed-pitch-control-characters.html 49046 49047 * rendering/RenderText.cpp: 49048 (WebCore::RenderText::widthFromCache): 49049 49050 2008-02-16 Kevin Ollivier <kevino (a] theolliviers.com> 49051 49052 wx build fix. 49053 49054 * platform/graphics/wx/GraphicsContextWx.cpp: 49055 (WebCore::GraphicsContext::drawImage): 49056 49057 2008-02-16 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 49058 49059 Reviewed by Alp Toker. 49060 49061 Cross document messaging GTK+/autotools build fix. 49062 49063 * GNUmakefile.am: 49064 49065 2008-02-15 Oliver Hunt <oliver (a] apple.com> 49066 49067 Build fix for Qt and Cairo builds 49068 49069 * platform/graphics/cairo/GraphicsContextCairo.cpp: 49070 (WebCore::GraphicsContext::drawImage): 49071 * platform/graphics/qt/GraphicsContextQt.cpp: 49072 49073 2008-02-15 Oliver Hunt <oliver (a] apple.com> 49074 49075 Reviewed by Dan B. 49076 49077 Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp 49078 Refactor CanvasRenderingContext2D::drawImage(HTMLCanvasElement) to remove evil ifdefs 49079 49080 Add logic draw(ImageBuffer*) method to GraphicsContext to handle 49081 painting the source canvas content. 49082 49083 * html/CanvasRenderingContext2D.cpp: 49084 (WebCore::CanvasRenderingContext2D::drawImage): 49085 * html/HTMLCanvasElement.cpp: 49086 (WebCore::HTMLCanvasElement::buffer): 49087 * html/HTMLCanvasElement.h: 49088 * platform/graphics/GraphicsContext.h: 49089 * platform/graphics/cairo/GraphicsContextCairo.cpp: 49090 (WebCore::GraphicsContext::drawImage): 49091 * platform/graphics/cg/GraphicsContextCG.cpp: 49092 (WebCore::GraphicsContext::paintBuffer): 49093 (WebCore::GraphicsContext::drawImage): 49094 * platform/graphics/qt/GraphicsContextQt.cpp: 49095 (WebCore::GraphicsContext::drawImage): 49096 49097 2008-02-15 Kevin Ollivier <kevino (a] theolliviers.com> 49098 49099 Reviewed by David Hyatt. 49100 49101 Using GetNativeFontInfoDesc() to generate the hash value was 49102 leading to duplicate entries in the HashMap. Use the font object's 49103 pointer instead. 49104 49105 http://bugs.webkit.org/show_bug.cgi?id=17371 49106 49107 * platform/graphics/wx/FontPlatformData.h: 49108 (WebCore::FontPlatformData::computeHash): 49109 49110 2008-02-15 Ada Chan <adachan (a] apple.com> 49111 49112 When parsing url we get from a CFURLRef, we need to null terminate 49113 the string for the case when url ends with a '/'. 49114 49115 Reviewed by Darin. 49116 49117 * platform/cf/KURLCFNet.cpp: 49118 (WebCore::KURL::KURL): 49119 49120 2008-02-15 Brady Eidson <beidson (a] apple.com> 49121 49122 Reviewed by Darin 49123 49124 Fix for <rdar://problem/5727175> and <rdar://problem/5740495> - Database threads and callback scripts can run after 49125 a page has closed or loaded a new document 49126 49127 Deciding to make the Database I/O semantic the same as loaders/XHR when a document is shut down, this patch implements 49128 a policy of shutting down the databases in a document at the same time. This includes removing all pending transactions 49129 in a database, cutting off an queued statements in the current transaction, and preventing further callbacks from being 49130 made. 49131 49132 No new layout tests with this patch as the current layout tests were catching this issue in a plethora of ways already 49133 (crashing, unexpected exceptions and output, etc) 49134 49135 * dom/Document.cpp: 49136 (WebCore::Document::~Document): Don't actually stop the database thread here - it better have been stopped already. 49137 Add an assertion to that effect. 49138 (WebCore::Document::addOpenDatabase): Add a new database handle to this Document's open database set 49139 (WebCore::Document::removeOpenDatabase): Remove such a handle 49140 (WebCore::Document:: stopDatabases): Call "close" on all open Database handles for this document 49141 * dom/Document.h: 49142 49143 * loader/FrameLoader.cpp: 49144 (WebCore::FrameLoader::stopLoading): In addition to canceling all resource loads and XHRs, stop all database I/O 49145 49146 * platform/MessageQueue.h: 49147 (WebCore::MessageQueue::killed): 49148 49149 * platform/sql/SQLiteTransaction.cpp: 49150 (WebCore::SQLiteTransaction::stop): Added. Explicit stop to cut off a transaction so it won't try anymore SQL activity 49151 * platform/sql/SQLiteTransaction.h: 49152 49153 * storage/Database.cpp: 49154 (WebCore::Database::Database): 49155 (WebCore::Database::~Database): 49156 (WebCore::Database::markAsDeletedAndClose): Check if the thread has terminated before committing to waiting on the 49157 thread. 49158 (WebCore::Database::stop): Stop this database, including all queued transactions and callbacks 49159 * storage/Database.h: 49160 (WebCore::Database::stopped): 49161 49162 * storage/DatabaseThread.cpp: 49163 (WebCore::DatabaseThread::terminationRequested): 49164 * storage/DatabaseThread.h: 49165 49166 * storage/SQLTransaction.cpp: 49167 (WebCore::SQLTransaction::executeSQL): Throw an exception if a new executeSQL comes in after a database is closed 49168 (WebCore::SQLTransaction::checkAndHandleClosedDatabase): Added. Clears queued statements and clear the next step 49169 when the database has been closed since the last step/callback was run. Also stops the current SQLite transaction, 49170 if any 49171 (WebCore::SQLTransaction::performNextStep): 49172 (WebCore::SQLTransaction::performPendingCallback): 49173 * storage/SQLTransaction.h: 49174 49175 2008-02-15 Adele Peterson <adele (a] apple.com> 49176 49177 Reviewed by Darin. 49178 49179 Fix for <rdar://problem/5745072> REGRESSION (r29348): Shift + Tab does not change indent level on Google Docs 49180 49181 The immediate cause of this bug was that we stopped sending keypress events for the tab key when it is used to advance focus. 49182 We had a special case for forward-tab in designMode, where the default behavior was to insert a tab key (or respect the keypress handler behavior). 49183 This change makes the shift-tab behavior match the forward-tab behavior. 49184 49185 If the site had put their event handler (which does the indenting) on the keydown event, then this problem would have been avoided. 49186 This is something we should look into and maybe advise the site on in the future. However, it's a low-risk change to just make tab and shift-tab uniform 49187 in this respect, so I think this is the way to go for right now. 49188 49189 * page/EventHandler.cpp: (WebCore::EventHandler::defaultTabEventHandler): 49190 49191 2008-02-15 Anders Carlsson <andersca (a] apple.com> 49192 49193 Reviewed by Alice. 49194 49195 <rdar://problem/5738678> 49196 REGRESSION: "Loading" status remains when uploading file to .Mac iDisk via Safari 49197 49198 Use the new CFNetwork functions for setting body parts. 49199 49200 * platform/network/cf/FormDataStreamCFNet.cpp: 49201 (WebCore::setHTTPBody): 49202 (WebCore::httpBodyFromRequest): 49203 49204 2008-02-15 Geoffrey Garen <ggaren (a] apple.com> 49205 49206 Reviewed by Anders Carlsson. 49207 49208 Fixed <rdar://problem/5725429> REGRESSION (r27898): Greenfield online 49209 surveys no longer work due to XMLHttpRequest exceptions 49210 49211 Reverted some exception throwing code from r12194. 49212 49213 To comply with the W3C draft spec, we used to throw an exception when 49214 trying to access responseText and responseXML at the wrong time, but 49215 that turned out to be a compatibility problem. 49216 49217 Now, matching Firefox and previous versions of WebKit, we never throw 49218 an exception when accessing responseText or responseXML. 49219 49220 See http://www.mail-archive.com/public-webapi@w3.org/msg02756.html. 49221 49222 * xml/XMLHttpRequest.cpp: 49223 (WebCore::XMLHttpRequest::getResponseText): 49224 (WebCore::XMLHttpRequest::getResponseXML): 49225 49226 2008-02-15 Justin Garcia <justin.garcia (a] apple.com> 49227 49228 Reviewed by Dan Bernstein. 49229 49230 <rdar://problem/5738768> REGRESSION (r30062): Crash in InlineTextBox::isLineBreak() when Undoing a replace 49231 49232 Rolled out <http://trac.webkit.org/projects/webkit/changeset/29667> 49233 49234 * editing/SelectionController.cpp: 49235 (WebCore::SelectionController::nodeWillBeRemoved): 49236 49237 2008-02-15 Alice Liu <alice.liu (a] apple.com> 49238 49239 Reviewed by Darin. 49240 49241 Fixed <rdar://problem/5741440> REGRESSION (r28496): After deactivating JavaScript, scripts embedded in the HTML page continue to run 49242 49243 Before this patch, Frame::scriptProxy() would only return null in the case that javascript was 49244 disabled and if the script proxy field wasn't set (which would only be the case if the window 49245 hasn't loaded anything yet). Not all callers of scriptProxy() always check for a non-null return 49246 value. Those that did check would effectively be checking if javascript was enabled before proceeding. 49247 This fix consists of 2 elements: first, make sure that scriptProxy() will never return null, regardless 49248 of whether javascript is disabled. This will mean that callers who don't check for null won't crash. 49249 Second, callers who did check for null now instead check for javascript being disabled. This means that 49250 code paths intended for preventing javascript from being run will be making the correct check. Another 49251 minor addition to this patch is that I added a function on KSJProxy to be a shortcut for checking if javascript 49252 is enabled. 49253 49254 * bindings/js/JSCustomSQLStatementCallback.cpp: 49255 (WebCore::JSCustomSQLStatementCallback::handleEvent): 49256 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 49257 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 49258 * bindings/js/JSCustomSQLTransactionCallback.cpp: 49259 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 49260 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 49261 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 49262 * bindings/js/JSCustomVoidCallback.cpp: 49263 (WebCore::JSCustomVoidCallback::handleEvent): 49264 * bindings/js/JSCustomXPathNSResolver.cpp: 49265 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 49266 * bindings/js/ScheduledAction.cpp: 49267 (WebCore::ScheduledAction::execute): 49268 * bindings/js/kjs_events.cpp: 49269 (WebCore::JSAbstractEventListener::handleEvent): 49270 (WebCore::JSLazyEventListener::parseCode): 49271 * bindings/js/kjs_html.cpp: 49272 (WebCore::runtimeObjectImplementsCall): 49273 * bindings/js/kjs_proxy.cpp: 49274 (WebCore::KJSProxy::isEnabled): 49275 * bindings/js/kjs_proxy.h: 49276 * bindings/js/kjs_window.cpp: 49277 (KJS::Window::retrieveWindow): 49278 (KJS::Window::retrieve): 49279 * dom/Document.cpp: 49280 (WebCore::Document::createHTMLEventListener): 49281 * dom/EventTarget.cpp: 49282 (WebCore::EventTarget::dispatchGenericEvent): 49283 * html/HTMLPlugInElement.cpp: 49284 (WebCore::HTMLPlugInElement::createNPObject): 49285 * html/HTMLScriptElement.cpp: 49286 (WebCore::HTMLScriptElement::evaluateScript): 49287 * html/HTMLTokenizer.cpp: 49288 (WebCore::HTMLTokenizer::parseTag): 49289 (WebCore::HTMLTokenizer::processToken): 49290 * loader/FrameLoader.cpp: 49291 (WebCore::FrameLoader::executeScript): 49292 (WebCore::FrameLoader::userGestureHint): 49293 (WebCore::FrameLoader::open): 49294 (WebCore::FrameLoader::dispatchWindowObjectAvailable): 49295 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): 49296 * manual-tests/disable-javascript-reload.html: Added. 49297 * page/Frame.cpp: 49298 (WebCore::Frame::scriptProxy): 49299 (WebCore::Frame::bindingRootObject): 49300 (WebCore::Frame::windowScriptNPObject): 49301 * page/Frame.h: 49302 * page/InspectorController.cpp: 49303 (WebCore::canPassNodeToJavaScript): 49304 * page/mac/FrameMac.mm: 49305 (WebCore::Frame::windowScriptObject): 49306 * svg/SVGDocumentExtensions.cpp: 49307 (WebCore::SVGDocumentExtensions::createSVGEventListener): 49308 49309 2008-02-15 Dan Bernstein <mitz (a] apple.com> 49310 49311 Reviewed by Alexey Proskuryakov. 49312 49313 - WebCore part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360 49314 <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html 49315 49316 Test: http/tests/loading/text-content-type-with-binary-extension.html 49317 49318 Refined the workaround for <rdar://problem/5321972> to exclude files 49319 with extensions that are known to be associated with binary MIME types. 49320 49321 * WebCore.xcodeproj/project.pbxproj: Added WebCoreURLResponse.{h,mm}. 49322 * platform/network/mac/ResourceResponseMac.mm: 49323 (WebCore::ResourceResponse::doUpdateResourceResponse): Moved the 49324 workaround logic into WebCoreURLResponse. 49325 * platform/network/mac/WebCoreURLResponse.h: Added. 49326 * platform/network/mac/WebCoreURLResponse.mm: Added. 49327 (createBinaryExtensionsSet): Returns a set of extensions known to 49328 belong to MIME types of binary data. 49329 (-[NSURLResponse _webcore_MIMEType]): 49330 (-[NSHTTPURLResponse _webcore_MIMEType]): Forces the MIME type from 49331 application/octet-stream to text/plain if that is the specified 49332 Content-Type, unless the extension is in the binary extensions set. 49333 49334 2008-02-15 Dan Bernstein <mitz (a] apple.com> 49335 49336 Reviewed by Dave Hyatt. 49337 49338 - fix http://bugs.webkit.org/show_bug.cgi?id=17306 49339 <rdar://problem/5737923> Transitions between styles that have different transition-* properties behave inconsistently 49340 49341 * manual-tests/transitions.html: Added. 49342 * page/AnimationController.cpp: 49343 (WebCore::CompositeImplicitAnimation::animate): Changed to use the 49344 transition properties of the current style rather than the target style. 49345 (WebCore::AnimationControllerPrivate::get): Changed to not create an 49346 animation if the style does not have transitions. 49347 (WebCore::AnimationController::updateImplicitAnimations): Added code to 49348 return the target style if the current style is not animating. 49349 * rendering/RenderObject.cpp: 49350 (WebCore::RenderObject::setAnimatableStyle): Changed to call 49351 updateImplicitAnimations() even if the current style does not have 49352 transitions, because we may be animating out of a style that had them. 49353 49354 2008-02-15 Alexey Proskuryakov <ap (a] webkit.org> 49355 49356 Rubber-stamped by Darin. 49357 49358 Remove an obsolete WebCore readme file. 49359 49360 * README: Removed. 49361 49362 2008-02-15 Sam Weinig <sam (a] webkit.org> 49363 49364 Reviewed by Darin Adler. 49365 49366 Remove more uses of DeprecatedString in preparation of getting rid of it. 49367 49368 * bridge/mac/WebCoreScriptDebugger.mm: 49369 * css/CSSCursorImageValue.cpp: 49370 (WebCore::isSVGCursorIdentifier): 49371 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): 49372 * css/CSSStyleSelector.h: 49373 * dom/Element.cpp: 49374 (WebCore::Element::dump): 49375 (WebCore::Element::formatForDebugger): 49376 * dom/Position.cpp: 49377 (WebCore::Position::debugPosition): 49378 (WebCore::Position::formatForDebugger): 49379 * dom/Range.cpp: 49380 (WebCore::Range::formatForDebugger): 49381 * dom/Text.cpp: 49382 (WebCore::Text::formatForDebugger): 49383 * editing/Selection.cpp: 49384 (WebCore::Selection::debugPosition): 49385 (WebCore::Selection::formatForDebugger): 49386 * editing/SelectionController.cpp: 49387 (WebCore::SelectionController::debugRenderer): 49388 * editing/VisiblePosition.cpp: 49389 (WebCore::VisiblePosition::debugPosition): 49390 * html/HTMLTokenizer.cpp: 49391 (WebCore::HTMLTokenizer::scriptHandler): 49392 (WebCore::HTMLTokenizer::parseTag): 49393 (WebCore::HTMLTokenizer::processToken): 49394 (WebCore::HTMLTokenizer::notifyFinished): 49395 * svg/SVGFontFaceElement.cpp: 49396 (WebCore::mapAttributeToCSSProperty): 49397 49398 2008-02-15 Adam Roben <aroben (a] apple.com> 49399 49400 * bindings/scripts/CodeGenerator.pm: Touch this to force bindings to 49401 regenerate. 49402 49403 2008-02-15 Adam Roben <aroben (a] apple.com> 49404 49405 Try to fix Qt/GTK+ builds 49406 49407 * WebCore.pro: Remove MessageEvent.{idl,cpp} from the unconditional 49408 parts of this file. 49409 49410 2008-02-15 Darin Adler <darin (a] apple.com> 49411 49412 - another Qt build fix 49413 49414 * platform/qt/KURLQt.cpp: 49415 (WebCore::KURL::operator QUrl): Use the characters directly, not ascii(). 49416 Eliminate references to urlString. 49417 49418 2008-02-15 Darin Adler <darin (a] apple.com> 49419 49420 - another Qt build fix 49421 49422 * platform/qt/ClipboardQt.cpp: 49423 (WebCore::ClipboardQt::declareAndWriteDragImage): Use KURL instead of String. 49424 49425 2008-02-14 Darin Adler <darin (a] apple.com> 49426 49427 - another round of build fixes 49428 49429 * platform/KURL.cpp: 49430 (WebCore::appendEncodedHostname): Fix spelling (strLen, not strlen). 49431 * platform/network/curl/ResourceHandleManager.cpp: 49432 (WebCore::parseDataUrl): Fix a ".." typo and call data instead of characters. 49433 49434 2008-02-14 Darin Adler <darin (a] apple.com> 49435 49436 - added back accidentally-removed files 49437 49438 * platform/DeprecatedStringList.cpp: Copied from platform/DeprecatedStringList.cpp. 49439 * platform/DeprecatedStringList.h: Copied from platform/DeprecatedStringList.h. 49440 * platform/mac/DeprecatedStringListMac.mm: Copied from platform/mac/DeprecatedStringListMac.mm. 49441 49442 2008-02-14 Darin Adler <darin (a] apple.com> 49443 49444 - more build fixes 49445 49446 * platform/KURL.cpp: 49447 (WebCore::appendEncodedHostname): Use String to make a QString. 49448 * platform/network/cf/ResourceRequest.h: 49449 (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call. 49450 * platform/network/curl/ResourceHandleManager.cpp: 49451 (WebCore::parseDataUrl): Updated to String rather than DeprecatedString functions. 49452 49453 2008-02-14 Darin Adler <darin (a] apple.com> 49454 49455 - next Qt build fix 49456 49457 * platform/network/qt/ResourceRequest.h: 49458 (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call. 49459 49460 2008-02-14 Darin Adler <darin (a] apple.com> 49461 49462 - another build fix 49463 49464 * platform/network/curl/ResourceRequest.h: 49465 (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call. 49466 49467 2008-02-14 Darin Adler <darin (a] apple.com> 49468 49469 - first Qt build fix 49470 49471 * dom/XMLTokenizer.cpp: 49472 (WebCore::XMLTokenizer::endElementNs): Added a missing string() call. 49473 49474 2008-02-14 Darin Adler <darin (a] apple.com> 49475 49476 Reviewed by Eric Seidel. 49477 49478 Based on work by Brett Wilson <brettw (a] chromium.org> 49479 49480 - fix http://bugs.webkit.org/show_bug.cgi?id=16538 49481 KURL should use String instead of DeprecatedString 49482 49483 - fix http://bugs.webkit.org/show_bug.cgi?id=16485 49484 DocLoader::checkForReload will crash if the URL isNull 49485 and a similar problem in IconDatabase 49486 49487 - fix http://bugs.webkit.org/show_bug.cgi?id=16487 49488 KURL doesn't preserve isNull when constructed with a DeprecatedString 49489 49490 - changed completeURL and various DOM getters to return KURL, to avoid 49491 conversion back and forth from KURL to String 49492 49493 - changed the conversion of KURL to NSURL or NSString to be automatic, 49494 to ease the use of KURL in Objective C DOM bindings, and eliminated 49495 the getNSURL function 49496 49497 - because I had to visit the DOM bindings anyway, eliminated almost all 49498 the use of the KJS namespace for things in WebCore 49499 49500 - fixed HTMLOptionElement constructor to check for undefined rather 49501 than size of the arguments array 49502 49503 - eliminated some other unnecessary uses of DeprecatedString 49504 49505 - changed String::split to take a Vector parameter instead of returning 49506 a Vector, for better performance 49507 49508 - added a couple of missing calls to do layout in SVG image handling; 49509 I was able to reproduce these only because I had broken URLs for a 49510 while -- not sure how to reproduce them now but the changes are 49511 clearly needed 49512 49513 Performance testing shows this to be at least a 1% speedup. 49514 49515 Added a new function protocols to efficiently compare protocols 49516 without case errors and a blankURL function so we don't have to 49517 code "about:blank" in multiple places in the code and don't have to 49518 construct a frash KURL each time. Moved decode_string and encode_string 49519 out of KURL and gave them clearer names. 49520 49521 Made KURL constructors explicit to highlight potentially-expensive 49522 operations and the poor semantics of KURL's constructor that takes 49523 a String. 49524 49525 * WebCore.base.exp: Updated. 49526 49527 * bindings/js/JSAttrCustom.cpp: 49528 (WebCore::JSAttr::setValue): Use protocolIs. 49529 * bindings/js/JSAudioConstructor.h: KJS namespace change. 49530 * bindings/js/JSCSSRuleCustom.cpp: 49531 (WebCore::toJS): Ditto. 49532 * bindings/js/JSCSSValueCustom.cpp: 49533 (WebCore::toJS): Ditto. 49534 * bindings/js/JSDocumentCustom.cpp: 49535 (WebCore::JSDocument::location): Ditto. 49536 (WebCore::JSDocument::setLocation): Updated for KURL change. 49537 (WebCore::toJS): KJS namespace change. 49538 * bindings/js/JSElementCustom.cpp: 49539 (WebCore::allowSettingSrcToJavascriptURL): Use protocolIs. 49540 (WebCore::JSElement::setAttribute): KJS namespace change. 49541 (WebCore::JSElement::setAttributeNode): Ditto. 49542 (WebCore::JSElement::setAttributeNS): Ditto. 49543 (WebCore::JSElement::setAttributeNodeNS): Ditto. 49544 * bindings/js/JSHTMLFrameElementCustom.cpp: 49545 (WebCore::allowSettingJavascriptURL): Use protocolIs. 49546 (WebCore::JSHTMLFrameElement::setSrc): KJS namespace change. 49547 (WebCore::JSHTMLFrameElement::setLocation): Ditto. 49548 * bindings/js/JSHTMLIFrameElementCustom.cpp: 49549 (WebCore::JSHTMLIFrameElement::setSrc): Use protocolIs. 49550 * bindings/js/JSHTMLOptionElementConstructor.cpp: 49551 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): 49552 (WebCore::JSHTMLOptionElementConstructor::construct): Cleaned up the 49553 structure a bit and changed checking to check for undefined rather than 49554 number of arguments. 49555 * bindings/js/JSHTMLOptionElementConstructor.h: KJS namespace change. 49556 * bindings/js/JSLocation.cpp: 49557 (WebCore::JSLocation::put): Eliminated some DeprecatedString use, 49558 and use protocolIs. 49559 (WebCore::jsLocationProtoFuncReplace): Ditto. 49560 (WebCore::jsLocationProtoFuncReload): Ditto. 49561 (WebCore::jsLocationProtoFuncAssign): Ditto. 49562 * bindings/js/JSLocation.h: KJS namespace change. 49563 * bindings/js/JSNamedNodeMapCustom.cpp: 49564 (WebCore::JSNamedNodeMap::canGetItemsForName): Ditto. 49565 (WebCore::JSNamedNodeMap::nameGetter): Ditto. 49566 * bindings/js/JSNamedNodesCollection.cpp: 49567 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Ditto. 49568 * bindings/js/JSNamedNodesCollection.h: Ditto. 49569 * bindings/js/JSXMLHttpRequest.cpp: 49570 (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Removed 49571 DeprecatedString use. 49572 (WebCore::jsXMLHttpRequestPrototypeFunctionSend): Ditto. 49573 * bindings/js/JSXMLHttpRequest.h: Moved this class into the WebCore 49574 namespace. 49575 * bindings/js/JSXSLTProcessor.cpp: Namespace change. 49576 * bindings/js/JSXSLTProcessor.h: Ditto. 49577 49578 * bindings/js/kjs_binding.cpp: Updated for namespace change. 49579 (WebCore::jsStringOrNull): Added an overload for KURL to allow DOM 49580 classes to return KURL even if the DOM expects a string. 49581 (WebCore::jsStringOrUndefined): Ditto. 49582 (WebCore::jsStringOrFalse): Ditto. 49583 * bindings/js/kjs_binding.h: Moved everything into the WebCore 49584 namespace. 49585 49586 * bindings/js/kjs_css.h: Namespace change. 49587 * bindings/js/kjs_events.cpp: Removed an include. 49588 * bindings/js/kjs_events.h: Namespace change. 49589 * bindings/js/kjs_html.h: Namespace change. 49590 49591 * bindings/js/kjs_navigator.cpp: Moved everything into the 49592 WebCore namespace. 49593 * bindings/js/kjs_navigator.h: Ditto. 49594 49595 * bindings/js/kjs_window.cpp: 49596 (KJS::parseModalDialogFeatures): Updated for String::split change. 49597 (KJS::createWindow): Use protocolIs and removed some DeprecatedString. 49598 (KJS::Window::put): Ditto. 49599 (KJS::Window::allowsAccessFrom): Ditto. 49600 (KJS::windowProtoFuncOpen): Ditto. 49601 49602 * bindings/objc/DOM.mm: 49603 (-[DOMElement _getURLAttribute:]): Removed getNSURL call. 49604 * bindings/objc/DOMHTML.mm: 49605 (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Ditto. 49606 49607 * bindings/scripts/CodeGeneratorCOM.pm: Updated includes so conversions from 49608 KURL will work. 49609 * bindings/scripts/CodeGeneratorJS.pm: Updated for namespace changes, and also 49610 updated includes so conversions from KURL will work. 49611 * bindings/scripts/CodeGeneratorObjC.pm: Updated includes so conversions from 49612 KURL will work. 49613 49614 * bridge/mac/WebCoreAXObject.mm: 49615 (-[WebCoreAXObject accessibilityAttributeValue:]): Removed getNSURL call. 49616 Also streamlined the logic. 49617 (AXAttributedStringAppendText): Ditto. 49618 49619 * bridge/mac/WebCoreScriptDebugger.mm: 49620 (toNSString): Tweaked. 49621 (toNSURL): Removed getNSURL call. 49622 49623 * css/CSSImageValue.cpp: 49624 (WebCore::CSSImageValue::image): Removed DeprecatedString use. 49625 * css/CSSImportRule.cpp: 49626 (WebCore::CSSImportRule::insertedIntoParent): Ditto. 49627 * css/CSSParser.cpp: 49628 (WebCore::CSSParser::parseValue): Ditto. 49629 (WebCore::CSSParser::parseContent): Ditto. 49630 (WebCore::CSSParser::parseBackgroundImage): Ditto. 49631 (WebCore::CSSParser::parseFontFaceSrc): Ditto. 49632 (WebCore::CSSParser::parseBorderImage): Ditto. 49633 * css/CSSStyleSelector.cpp: 49634 (WebCore::CSSStyleSelector::setEncodedURL): Ditto. 49635 (WebCore::checkPseudoState): Ditto. 49636 * css/CSSStyleSelector.h: Ditto. 49637 49638 * css/MediaList.cpp: 49639 (WebCore::MediaList::setMediaText): Updated for String::split change. 49640 49641 * css/StyleBase.cpp: 49642 (WebCore::StyleBase::baseURL): Return KURL. 49643 * css/StyleBase.h: DItto. 49644 49645 * dom/Document.cpp: 49646 (WebCore::Document::~Document): Updated for namespace change. 49647 (WebCore::Document::documentURI): Return KURL. 49648 (WebCore::Document::setDocumentURI): Removed DeprecatedString use. 49649 (WebCore::Document::baseURI): Return KURL. 49650 (WebCore::Document::open): Updated to use blankURL. 49651 (WebCore::Document::setURL): Take KURL. 49652 (WebCore::Document::shouldBeAllowedToLoadLocalResources): Updated for 49653 change to use KURL 49654 (WebCore::Document::setBaseURL): Take KURL. 49655 (WebCore::Document::elementSheet): Updated for KURL change. 49656 (WebCore::Document::mappedElementSheet): Ditto. 49657 (WebCore::Document::processHttpEquiv): Ditto. 49658 (WebCore::Document::recalcStyleSelector): Removed use of 49659 DeprecatedString -- also noticed some dead code here! 49660 (WebCore::Document::setCookie): Ditto. 49661 (WebCore::Document::completeURL): Return KURL. 49662 * dom/Document.h: Use KURL instead of String in a few places. 49663 49664 * dom/DocumentType.cpp: 49665 (WebCore::DocumentType::baseURI): Return KURL. 49666 * dom/DocumentType.h: Ditto. 49667 49668 * dom/Element.cpp: 49669 (WebCore::Element::baseURI): Return KURL. 49670 * dom/Element.h: Ditto. 49671 49672 * dom/Node.cpp: 49673 (WebCore::Node::setDocument): Namespace change. 49674 (WebCore::Node::baseURI): Return KURL. 49675 * dom/Node.h: Ditto. 49676 49677 * dom/ProcessingInstruction.cpp: 49678 (WebCore::ProcessingInstruction::checkStyleSheet): Updated for KURL change. 49679 * dom/StyleElement.cpp: 49680 (WebCore::StyleElement::process): Changed to use Vector<UChar> instead of 49681 String for better performance. 49682 (WebCore::StyleElement::createSheet): Removed use of DeprecateString. 49683 * dom/XMLTokenizer.cpp: 49684 (WebCore::XMLTokenizer::endElementNs): Updated for KURL change. 49685 (WebCore::XMLTokenizer::end): Ditto. 49686 (WebCore::xmlDocPtrForString): Removed use of DeprecateString. 49687 * dom/XMLTokenizer.h: Ditto. 49688 49689 * editing/markup.cpp: Moved appendString to PlatformString.h. 49690 (WebCore::appendQuotedURLAttributeValue): Use protocolIs. 49691 (WebCore::completeURLs): Removed DeprecatedString use. 49692 (WebCore::createFragmentFromMarkup): Use blankURL. 49693 (WebCore::fillContainerFromString): Removed DeprecatedString use. 49694 (WebCore::createFragmentFromText): Ditto. 49695 49696 * history/HistoryItem.cpp: 49697 (WebCore::HistoryItem::url): Removed DeprecatedString use. 49698 (WebCore::HistoryItem::originalURL): Ditto. 49699 * history/HistoryItem.h: Removed include. 49700 49701 * html/HTMLAnchorElement.cpp: 49702 (WebCore::HTMLAnchorElement::defaultEventHandler): Removed use of 49703 DeprecatedString. 49704 (WebCore::HTMLAnchorElement::href): Return KURL. 49705 (WebCore::HTMLAnchorElement::hash): Removed DeprecatedString use. 49706 (WebCore::HTMLAnchorElement::host): Ditto. 49707 (WebCore::HTMLAnchorElement::hostname): Ditto. 49708 (WebCore::HTMLAnchorElement::pathname): Ditto. 49709 (WebCore::HTMLAnchorElement::port): Ditto. 49710 (WebCore::HTMLAnchorElement::protocol): Ditto. 49711 (WebCore::HTMLAnchorElement::search): Ditto. 49712 (WebCore::HTMLAnchorElement::toString): Ditto. 49713 * html/HTMLAnchorElement.h: Ditto. 49714 * html/HTMLAppletElement.cpp: 49715 (WebCore::HTMLAppletElement::createRenderer): Updated for KURL change. 49716 * html/HTMLAreaElement.cpp: 49717 (WebCore::HTMLAreaElement::href): Return KURL. 49718 * html/HTMLAreaElement.h: Ditto. 49719 * html/HTMLBaseElement.cpp: 49720 (WebCore::HTMLBaseElement::removedFromDocument): Updated for KURL change. 49721 (WebCore::HTMLBaseElement::process): Removed DeprecatedString use. 49722 * html/HTMLBodyElement.cpp: 49723 (WebCore::HTMLBodyElement::parseMappedAttribute): Updated for KURL change. 49724 * html/HTMLEmbedElement.cpp: 49725 (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed use of 49726 DeprecatedString. 49727 * html/HTMLEmbedElement.h: Removed DeprecatedString use. 49728 * html/HTMLFormElement.cpp: 49729 (WebCore::HTMLFormElement::formWouldHaveSecureSubmission): Use protocolIs. 49730 (WebCore::encodeCString): Updated for change to String::split. 49731 (WebCore::HTMLFormElement::dataEncoding): Ditto. 49732 (WebCore::HTMLFormElement::formData): Removed DeprecatedString use. 49733 (WebCore::HTMLFormElement::isMailtoForm): Use protocolIs. 49734 (WebCore::HTMLFormElement::submit): Updated for KURL change. 49735 (WebCore::HTMLFormElement::reset): Ditto. 49736 * html/HTMLFrameElementBase.cpp: 49737 (WebCore::HTMLFrameElementBase::isURLAllowed): Updated for KURL change 49738 and use equalIgnoringRef instead of doing a setRef to get the same effect. 49739 (WebCore::HTMLFrameElementBase::openURL): Use blankURL. 49740 (WebCore::HTMLFrameElementBase::location): Return KURL. 49741 (WebCore::HTMLFrameElementBase::src): Return KURL. 49742 * html/HTMLFrameElementBase.h: Ditto. 49743 * html/HTMLImageElement.cpp: 49744 (WebCore::HTMLImageElement::parseMappedAttribute): Updated for KURL change. 49745 (WebCore::HTMLImageElement::longDesc): Return KURL. 49746 (WebCore::HTMLImageElement::lowsrc): Return KURL. 49747 (WebCore::HTMLImageElement::src): Return KURL. 49748 * html/HTMLImageElement.h: Ditto. Also removed imageMap() function. 49749 * html/HTMLInputElement.cpp: 49750 (WebCore::HTMLInputElement::src): Return KURL. 49751 * html/HTMLInputElement.h: Ditto. 49752 * html/HTMLLinkElement.cpp: 49753 (WebCore::HTMLLinkElement::parseMappedAttribute): Updated for KURL change. 49754 (WebCore::HTMLLinkElement::tokenizeRelAttribute): Updated for String::split change. 49755 (WebCore::HTMLLinkElement::href): Return KURL. 49756 * html/HTMLLinkElement.h: Ditto. 49757 * html/HTMLMediaElement.cpp: 49758 (WebCore::HTMLMediaElement::src): Return KURL. 49759 (WebCore::HTMLMediaElement::pickMedia): Updated for KURL change. 49760 * html/HTMLMediaElement.h: Ditto. 49761 * html/HTMLObjectElement.cpp: 49762 (WebCore::HTMLObjectElement::isImageType): Use protocolIs. 49763 (WebCore::HTMLObjectElement::data): Return KURL. 49764 * html/HTMLObjectElement.h: Ditto. 49765 * html/HTMLOptGroupElement.cpp: 49766 (WebCore::HTMLOptGroupElement::groupLabelText): Removed DeprecatedString use. 49767 * html/HTMLParser.cpp: 49768 (WebCore::HTMLParser::reportErrorToConsole): Updated for KURL change. 49769 * html/HTMLScriptElement.cpp: 49770 (WebCore::HTMLScriptElement::insertedIntoDocument): Ditto. 49771 (WebCore::HTMLScriptElement::text): Changed to use Vector<UChar> instead of 49772 String for better performance. 49773 (WebCore::HTMLScriptElement::src): Return KURL. 49774 * html/HTMLScriptElement.h: Ditto. 49775 * html/HTMLSourceElement.cpp: 49776 (WebCore::HTMLSourceElement::src): Return KURL. 49777 * html/HTMLSourceElement.h: Ditto. 49778 * html/HTMLTableElement.cpp: 49779 (WebCore::HTMLTableElement::parseMappedAttribute): Updated for KURL change. 49780 * html/HTMLTablePartElement.cpp: 49781 (WebCore::HTMLTablePartElement::parseMappedAttribute): Updated for KURL change. 49782 * html/HTMLTextAreaElement.cpp: 49783 (WebCore::HTMLTextAreaElement::setValue): Removed DeprecatedString use. 49784 * html/HTMLTokenizer.cpp: 49785 (WebCore::HTMLTokenizer::scriptExecution): Ditto. 49786 (WebCore::HTMLTokenizer::notifyFinished): Use protocolIs. 49787 * html/HTMLVideoElement.cpp: 49788 (WebCore::HTMLVideoElement::poster): Return KURL. 49789 * html/HTMLVideoElement.h: Ditto. 49790 * html/HTMLViewSourceDocument.cpp: 49791 (WebCore::HTMLViewSourceDocument::addText): Updated for String::split change. 49792 49793 * loader/DocLoader.cpp: 49794 (WebCore::DocLoader::checkForReload): Add an explicit check for an empty URL 49795 here to avoid problems using its string as a hash table key later. 49796 (WebCore::DocLoader::requestResource): Removed DeprecatedString use. 49797 49798 * loader/FTPDirectoryDocument.cpp: 49799 (WebCore::FTPDirectoryTokenizer::createTDForFilename): Updated for KURL change. 49800 (WebCore::FTPDirectoryTokenizer::parseAndAppendOneLine): Removed use of 49801 DeprecatedString. 49802 49803 * loader/FrameLoader.cpp: 49804 (WebCore::FrameLoader::requestFrame): Use protocolIs. 49805 (WebCore::FrameLoader::loadSubframe): Use blankURL. 49806 (WebCore::FrameLoader::submitForm): Use protocolIs and removed use of 49807 DeprecatedString. 49808 (WebCore::FrameLoader::iconURL): Return KURL. Use protcolIs. 49809 (WebCore::FrameLoader::didOpenURL): Use protocolIs. 49810 (WebCore::FrameLoader::didExplicitOpen): Use blankURL. 49811 (WebCore::FrameLoader::executeIfJavaScriptURL): Use protocolIs. 49812 Update for name change to decodeURLEscapeSequences. 49813 (WebCore::FrameLoader::receivedFirstData): Updated for KURL changes. 49814 (WebCore::FrameLoader::begin): Removed DeprecatedString use. 49815 Renamed baseurl to baseURL. Updated to use KURL more. 49816 (WebCore::FrameLoader::gotoAnchor): Removed use of encodedHtmlRef 49817 function, which is no different from ref. 49818 (WebCore::FrameLoader::completeURL): Updated for KURL change. 49819 (WebCore::FrameLoader::scheduleLocationChange): Ditto. 49820 (WebCore::FrameLoader::canCachePage): Use protocolIs. 49821 (WebCore::FrameLoader::updatePolicyBaseURL): Update for KURL change. 49822 (WebCore::FrameLoader::setPolicyBaseURL): Take KURL. 49823 (WebCore::FrameLoader::startRedirectionTimer): Removed use of 49824 DeprecatedString. 49825 (WebCore::FrameLoader::load): Use protocolIs. 49826 (WebCore::FrameLoader::shouldHideReferrer): Use protocolIs. 49827 (WebCore::FrameLoader::shouldAllowNavigation): Updated for KURL change. 49828 (WebCore::FrameLoader::commitProvisionalLoad): Use blankURL. 49829 (WebCore::FrameLoader::open): Use protcolIs. 49830 (WebCore::FrameLoader::createHistoryItem): Use blankURL. 49831 (WebCore::FrameLoader::createJavaAppletWidget): Updated for KURL change. 49832 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): Removed 49833 DeprecatedString use. 49834 * loader/FrameLoader.h: Ditto. 49835 49836 * loader/ImageDocument.cpp: 49837 (WebCore::ImageDocument::createDocumentStructure): Updated for KURL change. 49838 * loader/PluginDocument.cpp: 49839 (WebCore::PluginTokenizer::createDocumentStructure): Ditto. 49840 49841 * loader/icon/IconDatabase.cpp: 49842 (WebCore::IconDatabase::iconForPageURL): Added a check for an empty URL 49843 before trying to use it as a hash table key. 49844 49845 * loader/icon/IconLoader.h: Tweaked includes. 49846 49847 * loader/loader.cpp: 49848 (WebCore::Loader::servePendingRequests): Use protcolIs. Also removed some 49849 code to set up a local variable that is never used (and a DeprecatedString 49850 on to boot!). 49851 49852 * loader/mac/LoaderNSURLExtras.m: 49853 (suggestedFilenameWithMIMEType): Removed unnecessary typecast. 49854 49855 * page/ContextMenuController.cpp: Removed include. 49856 49857 * page/mac/EventHandlerMac.mm: 49858 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): 49859 Use protocolIs. 49860 49861 * page/mac/WebCoreFrameBridge.mm: 49862 (-[WebCoreFrameBridge URLWithAttributeString:]): Removed getNSURL call. 49863 (-[WebCoreFrameBridge baseURL]): Ditto. 49864 49865 * platform/KURL.cpp: 49866 (WebCore::isSchemeFirstChar): Fixed bug in handling of values >= 0x80. 49867 (WebCore::isSchemeChar): Ditto. 49868 (WebCore::isPathSegmentEndChar): Ditto. 49869 (WebCore::hexDigitValue): Changed parameter type to UChar. 49870 (WebCore::copyASCII): Added. 49871 (WebCore::findFirstOf): Added. 49872 (WebCore::KURL::protocolIs): Added. 49873 (WebCore::KURL::KURL): Tightened logic up quite a bit. Changed parameter 49874 types from DeprecatedString to String. 49875 (WebCore::KURL::init): Changed parameter type to String. Preserved the 49876 passed-in string even if the base is invalid. Cleaned up logic to determine 49877 if the originalString should be pased in to the parse function. Simplified 49878 by calling the new parse overload that takes String in many cases. 49879 (WebCore::KURL::lastPathComponent): Return String. 49880 (WebCore::KURL::protocol): Ditto. 49881 (WebCore::KURL::host): Ditto. 49882 (WebCore::KURL::port): Changed logic to use early return for clarity. 49883 (WebCore::KURL::pass): Return String. 49884 (WebCore::KURL::user): Ditto. 49885 (WebCore::KURL::ref): Ditto. 49886 (WebCore::assertProtocolIsGood): Added. 49887 (WebCore::KURL::protocolIs): Added. 49888 (WebCore::KURL::query): Return String. 49889 (WebCore::KURL::path): Ditto. 49890 (WebCore::KURL::setProtocol): Take String. 49891 (WebCore::KURL::setHost): Ditto. 49892 (WebCore::KURL::setPort): Use String. 49893 (WebCore::KURL::setHostAndPort): Take String. 49894 (WebCore::KURL::setUser): Ditto. 49895 (WebCore::KURL::setPass): Ditto. 49896 (WebCore::KURL::setRef): Ditto. 49897 (WebCore::KURL::setQuery): Ditto. 49898 (WebCore::KURL::setPath): Ditto. 49899 (WebCore::KURL::prettyURL): Return String. Use Vector<UChar> to build it. 49900 (WebCore::decodeURLEscapeSequences): Renamed from KURL::decode_string. 49901 Return String. Use Vector<UChar> to build it. 49902 (WebCore::KURL::isLocalFile): Use protocolIs. 49903 (WebCore::KURL::parse): Added an overload that takes a String to replace 49904 the use of DeprecatedString::ascii at various call sites. Updated for 49905 name change (urlString -> m_string). 49906 (WebCore::equalIgnoringRef): Wrote a new implementation that doesn't 49907 do any allocation. 49908 (WebCore::encodeWithURLEscapeSequences): Renamed from KURL::encode_string. 49909 Return String. 49910 (WebCore::appendEncodedHostname): Added. Replaces encodeHostname and 49911 avoids the need to allocate a string. 49912 (WebCore::findHostnamesInMailToURL): Update to use findFirstOf instead of 49913 regular expressions. 49914 (WebCore::findHostnameInHierarchicalURL): Ditto. 49915 (WebCore::encodeHostnames): Use protocolIs and the other helpers above. 49916 (WebCore::encodeRelativeString): Changed to put result into a CharBuffer. 49917 (WebCore::substituteBackslashes): Updated to use String. 49918 (WebCore::KURL::copyToBuffer): Added. 49919 (WebCore::protocolIs): Added. 49920 (WebCore::blankURL): Added. 49921 (WebCore::KURL::print): Updated. 49922 * platform/KURL.h: Added a number of comments. Reorganized the header a bit. 49923 Made the string constructors explicit. Changed to use String instead of 49924 DeprecatedString. Removed encodedHTMLRef. Renamed and added a few functions. 49925 49926 * platform/cf/KURLCFNet.cpp: 49927 (WebCore::KURL::KURL): Streamlined the logic a bit. 49928 (WebCore::KURL::createCFURL): Changed to use copyToBuffer. 49929 49930 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 49931 (WebCore::MediaPlayerPrivate::createQTMovie): Removed getNSURL call. 49932 Use protocolIs. 49933 * platform/mac/ClipboardMac.mm: 49934 (WebCore::ClipboardMac::declareAndWriteDragImage): Removed getNSURL call. 49935 * platform/mac/CookieJar.mm: 49936 (WebCore::cookies): Removed getNSURL call. 49937 (WebCore::setCookies): Removed getNSURL call. 49938 * platform/mac/KURLMac.mm: 49939 (WebCore::KURL::KURL): Streamlined the logic a bit. 49940 * platform/mac/PasteboardMac.mm: 49941 (WebCore::Pasteboard::writeURL): Removed getNSURL call. 49942 (WebCore::Pasteboard::writeImage): Ditto. 49943 * platform/mac/SSLKeyGeneratorMac.mm: 49944 (WebCore::signedPublicKeyAndChallengeString): Ditto. 49945 49946 * platform/network/HTTPParsers.cpp: 49947 (WebCore::filenameFromHTTPContentDisposition): Updated for String::split. 49948 * platform/network/ResourceHandle.cpp: 49949 (WebCore::ResourceHandle::portAllowed): Use protocolIs. 49950 49951 * platform/network/cf/ResourceErrorCF.cpp: 49952 (WebCore::ResourceError::operator CFErrorRef): Removed deprecatedString call. 49953 * platform/network/curl/ResourceHandleManager.cpp: 49954 (WebCore::headerCallback): Ditto. 49955 (WebCore::parseDataUrl): Use String instead of DeprecatedString. 49956 (WebCore::ResourceHandleManager::startJob): Updated for KURL changes. 49957 * platform/network/mac/ResourceErrorMac.mm: 49958 (WebCore::ResourceError::operator NSError*): Removed getNSURL call. 49959 * platform/network/mac/ResourceRequest.h: 49960 (WebCore::ResourceRequest::ResourceRequest): Removed DeprecatedString use. 49961 * platform/network/mac/ResourceRequestMac.mm: 49962 (WebCore::ResourceRequest::doUpdatePlatformRequest): Removed getNSURL call. 49963 * platform/network/mac/ResourceResponseMac.mm: 49964 (WebCore::ResourceResponse::nsURLResponse): Removed getNSURL call. 49965 49966 * platform/qt/ClipboardQt.cpp: 49967 (WebCore::ClipboardQt::writeURL): Removed deprecatedString call. 49968 49969 * platform/text/CString.h: 49970 (WebCore::CStringBuffer::length): Fixed size_t/unsigned mismatch to make it 49971 possible to compile this on Windows with higher warning level 49972 49973 * platform/text/PlatformString.h: Updated split to modify a result parameter 49974 rather than returning a Vector. Added charactersAreAllASCII and an append 49975 function that appends a String to a Vector<UChar>. 49976 * platform/text/String.cpp: 49977 (WebCore::String::split): Updated. 49978 49979 * platform/win/BString.cpp: 49980 (WebCore::BString::BString): Added conversion from KURL. 49981 * platform/win/BString.h: Ditto. 49982 49983 * platform/win/ClipboardUtilitiesWin.cpp: 49984 (WebCore::markupToCF_HTML): Removed use of deprecatedString. 49985 * platform/win/ClipboardWin.cpp: 49986 (WebCore::filesystemPathFromUrlOrTitle): Ditto. 49987 (WebCore::createGlobalHDropContent): Ditto. 49988 (WebCore::ClipboardWin::setData): Ditto. 49989 (WebCore::ClipboardWin::writeRange): Ditto. 49990 * platform/win/PasteboardWin.cpp: 49991 (WebCore::Pasteboard::writeSelection): Ditto. 49992 * plugins/PluginStream.cpp: 49993 (WebCore::PluginStream::startStream): Ditto. 49994 (WebCore::PluginStream::destroyStream): Ditto. 49995 * plugins/win/PluginViewWin.cpp: 49996 (WebCore::scriptStringIfJavaScriptURL): Ditto. 49997 (WebCore::PluginView::performRequest): Ditto. 49998 (WebCore::PluginView::PluginView): Ditto. 49999 50000 * rendering/HitTestResult.cpp: 50001 (WebCore::HitTestResult::absoluteImageURL): Removed DeprecatedString use. 50002 (WebCore::HitTestResult::absoluteLinkURL): Ditto. 50003 50004 * rendering/RenderFrameSet.cpp: 50005 (WebCore::RenderFrameSet::layOutAxis): Fixed comment wording. 50006 * rendering/RenderImage.cpp: 50007 (WebCore::RenderImage::paintReplaced): Removed use of DeperecatedString, 50008 (WebCore::RenderImage::imageMap): Changed to call useMap instead of imageMap; 50009 both do the same thing, and the first is standard DOM. 50010 50011 * rendering/RenderObject.cpp: 50012 (WebCore::RenderObject::addPDFURLRect): Rewrote and streamlined to remove 50013 DeprecatedString use. 50014 * rendering/RenderObject.h: Changed addPDFURLRect to take const IntRect&. 50015 50016 * rendering/RenderPartObject.cpp: 50017 (WebCore::isURLAllowed): Updated for KURL change and use equalIgnoringRef 50018 instead of doing a setRef to get the same effect. 50019 (WebCore::RenderPartObject::updateWidget): Updated for KURL change. 50020 50021 * rendering/RenderText.cpp: 50022 (WebCore::charactersAreAllASCII): Moved the guts to PlatformString.h. 50023 50024 * rendering/SVGRenderSupport.cpp: 50025 (WebCore::renderSubtreeToImage): Added missing call to do layout. I ran 50026 into this while doing some layout tests while URL processing was broken. 50027 50028 * rendering/SVGRenderTreeAsText.h: Removed include. 50029 50030 * svg/SVGImageLoader.cpp: 50031 (WebCore::SVGImageLoader::updateFromElement): Removed DeprecatedString use. 50032 50033 * svg/graphics/SVGImage.cpp: 50034 (WebCore::SVGImage::draw): Added missing call to do layout. I ran 50035 into this while doing some layout tests while URL processing was broken. 50036 (WebCore::SVGImage::dataChanged): Use a null URL rather than an arbitrary 50037 string for the document. 50038 50039 * xml/XMLHttpRequest.cpp: 50040 (WebCore::XMLHttpRequest::getResponseXML): Removed DeprecatedString use. 50041 (WebCore::XMLHttpRequest::urlMatchesDocumentDomain): Ditto. 50042 (WebCore::XMLHttpRequest::open): Ditto. 50043 (WebCore::XMLHttpRequest::send): Namespace change. 50044 (WebCore::XMLHttpRequest::dropProtection): Ditto. 50045 * xml/XMLHttpRequest.h: Removed DeprecatedString use. 50046 50047 * xml/XSLImportRule.cpp: 50048 (WebCore::XSLImportRule::loadSheet): Removed DeprecatedString use. 50049 * xml/XSLStyleSheet.cpp: 50050 (WebCore::XSLStyleSheet::loadChildSheets): Ditto. 50051 (WebCore::XSLStyleSheet::loadChildSheet): Ditto. 50052 * xml/XSLStyleSheet.h: Ditto. 50053 * xml/XSLTProcessor.cpp: 50054 (WebCore::docLoaderFunc): Ditto. 50055 (WebCore::xsltStylesheetPointer): Ditto. 50056 (WebCore::xmlDocPtrFromNode): Ditto. 50057 50058 2008-02-14 Ada Chan <adachan (a] apple.com> 50059 50060 <rdar://problem/5744728> Fix leaks of RegularExpression objects in Frame.cpp. 50061 50062 Reviewed by Jon and Darin. 50063 50064 * page/Frame.cpp: 50065 (WebCore::createRegExpForLabels): 50066 (WebCore::Frame::searchForLabelsBeforeElement): 50067 (WebCore::Frame::matchLabelsAgainstElement): 50068 50069 2008-02-14 Stephanie Lewis <slewis (a] apple.com> 50070 50071 Reviewed by Geoff. 50072 50073 Update order files. 50074 50075 * WebCore.order: 50076 50077 2008-02-14 Oliver Hunt <oliver (a] apple.com> 50078 50079 Reviewed by Geoff G and Weinig. 50080 50081 <rdar://problem/5726608> REGRESSION (r29428): Assigning to window.status does not update status bar 50082 50083 Revert the portions of r29428 responsible for breaking the ability to 50084 set window.status 50085 50086 * page/DOMWindow.cpp: 50087 (WebCore::DOMWindow::setStatus): 50088 (WebCore::DOMWindow::defaultStatus): 50089 (WebCore::DOMWindow::setDefaultStatus): 50090 * page/DOMWindow.h: 50091 * page/DOMWindow.idl: 50092 50093 2008-02-14 Anders Carlsson <andersca (a] apple.com> 50094 50095 Reviewed by Darin. 50096 50097 <rdar://problem/5721790> 50098 Crash in WebCore::DeprecatedString::operator= + 31 at news.google.com 50099 50100 Use pointers in the cache map tables. Otherwise when we rehash, 50101 we will end up destroying Cache objects that node lists might point to. 50102 50103 * dom/Node.cpp: 50104 (WebCore::NodeListsNodeData::~NodeListsNodeData): 50105 (WebCore::Node::getElementsByName): 50106 (WebCore::Node::getElementsByClassName): 50107 50108 2008-02-14 Alp Toker <alp (a] atoker.com> 50109 50110 Reviewed by Darin. 50111 50112 http://bugs.webkit.org/show_bug.cgi?id=17353 50113 XMLTokenizer installs global libxml2 callbacks that can break client applications 50114 50115 Patch by Mark Rowe (with a few changes). 50116 50117 The xmlRegisterInputCallbacks/xmlRegisterOutputCallbacks done at 50118 init are global so we need to make sure these callbacks only get used 50119 by XMLTokenizer and never by libxml2 calls in user applications. 50120 50121 This patch modifies the match and open functions to only apply when we 50122 are certain the caller is XMLTokenizer by checking globalDocLoader and 50123 ensuring we're on the correct thread. 50124 50125 Some possible issues remain. See the bug report for details. 50126 50127 * dom/XMLTokenizer.cpp: 50128 (WebCore::matchFunc): 50129 (WebCore::openFunc): 50130 (WebCore::createStringParser): 50131 50132 2008-02-14 Timothy Hatcher <timothy (a] apple.com> 50133 50134 Reviewed by Darin Adler. 50135 50136 <rdar://problem/5743768> A deadlock during storage layout tests 50137 50138 Make sure not to hold the m_openDatabaseMapGuard mutex when calling 50139 Database::markAsDeletedAndClose(), since that can cause a deadlock 50140 during the synchronous DatabaseThread call it triggers. 50141 50142 * storage/DatabaseTracker.cpp: 50143 (WebCore::DatabaseTracker::deleteDatabaseFile): 50144 50145 2008-02-14 Adam Roben <aroben (a] apple.com> 50146 50147 Turn on cross-document messaging support by default 50148 50149 Reviewed by Darin. 50150 50151 * Configurations/WebCore.xcconfig: 50152 * WebCore.pro: 50153 * WebCore.vcproj/WebCore.vcproj: 50154 50155 2008-02-14 Adam Roben <aroben (a] apple.com> 50156 50157 Conditionalize cross-document messaging support 50158 50159 The cross-document messaging parts of HTML 5 are in flux and we want 50160 ports to be able to turn off the support as needed. 50161 50162 Note that the support is turned off by default right now. A subsequent 50163 commit will turn it on by default. 50164 50165 Reviewed by Darin. 50166 50167 * GNUmakefile.am: 50168 * WebCore.vcproj/build-generated-files.sh: 50169 * bindings/js/JSDOMWindowCustom.cpp: 50170 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 50171 * bindings/js/JSEventCustom.cpp: 50172 (WebCore::toJS): 50173 * dom/Event.cpp: 50174 (WebCore::Event::isMessageEvent): 50175 * dom/Event.h: 50176 * dom/MessageEvent.cpp: 50177 * dom/MessageEvent.h: 50178 * dom/MessageEvent.idl: 50179 * page/DOMWindow.cpp: 50180 (WebCore::DOMWindow::postMessage): 50181 * page/DOMWindow.h: 50182 * page/DOMWindow.idl: 50183 50184 2008-02-14 Adam Roben <aroben (a] apple.com> 50185 50186 Improve the efficiency of SecurityOriginHash 50187 50188 Reviewed by Alexey. 50189 50190 * platform/SecurityOriginHash.h: 50191 (WebCore::SecurityOriginHash::hash): Now takes a const 50192 RefPtr<SecurityOrigin>& to reduce ref-count churn. 50193 (WebCore::SecurityOriginHash::equal): Ditto. 50194 50195 2008-02-13 Justin Garcia <justin.garcia (a] apple.com> 50196 50197 Reviewed by Oliver Hunt. 50198 50199 Fixes the editing/deleting/5729680.html failure. It succeeds when run by itself 50200 but fails when run with other tests because FramePrivate's m_selectionGranularity 50201 isn't reset when a Frame receives a new document. It was also uninitialized in 50202 the constructor. 50203 50204 * loader/FrameLoader.cpp: 50205 (WebCore::FrameLoader::clear): Initialize m_selectionGranularity. 50206 * page/Frame.cpp: 50207 (WebCore::FramePrivate::FramePrivate): Ditto. 50208 50209 2008-02-13 Jon Honeycutt <jhoneycutt (a] apple.com> 50210 50211 Reviewed by Anders. 50212 50213 <rdar://problem/5739282> Hangs after closing video trailer popup with 50214 VLC plugin 50215 50216 VLC hangs on NPP_Destroy if we call NPP_SetWindow with a null window 50217 handle. 50218 50219 * plugins/PluginQuirkSet.h: Added new quirk 50220 PluginQuirkDontSetNullWindowHandleOnDestroy. 50221 * plugins/win/PluginViewWin.cpp: 50222 (WebCore::PluginView::stop): Selectively call NPP_SetWindow. 50223 (WebCore::PluginView::determineQuirks): Set new quirk for VLC plug-in. 50224 50225 2008-02-13 Rodney Dawes <dobey (a] wayofthemonkey.com> 50226 50227 Reviewed by Alp Toker. 50228 50229 Fix non-SVG builds. 50230 50231 * css/CSSCursorImageValue.cpp: 50232 50233 2008-02-13 Justin Garcia <justin.garcia (a] apple.com> 50234 50235 Reviewed by Adam Roben. 50236 50237 <rdar://problem/5729680> REGRESSION (r27873): Removing the last character of a word in Mail or Safari also removes the following space 50238 50239 * editing/Editor.cpp: 50240 (WebCore::Editor::deleteWithDirection): Fixed a typo. 50241 50242 2008-02-13 Nikolas Zimmermann <zimmermann (a] kde.org> 50243 50244 Reviewed by Oliver. 50245 50246 Actually fix the manual-tests/svg-cursor-changes.svg testcase. 50247 I only reran layout tests when fixing the last issues with the patch, 50248 instead of trying the manual-test :( Fixed. 50249 50250 * css/CSSCursorImageValue.cpp: 50251 (WebCore::CSSCursorImageValue::CSSCursorImageValue): 50252 (WebCore::CSSCursorImageValue::~CSSCursorImageValue): 50253 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): 50254 * css/CSSCursorImageValue.h: 50255 50256 2008-02-13 Adam Roben <aroben (a] apple.com> 50257 50258 Windows build fix 50259 50260 * css/CSSCursorImageValue.cpp: #include MathExtras.h to get roundf. 50261 50262 2008-02-13 Nikolas Zimmermann <zimmermann (a] kde.org> 50263 50264 Reviewed by Darin & Eric. 50265 50266 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17258 (SVG uses erroneous cursor implementation) 50267 50268 SVG cursors are not well-integrated within the CSS(3) cursor support in WebCore. 50269 SVGCursorElement duplicates CSSCursorImageValue functionality and inherits from 50270 CachedResourceClient itself, handling remote-image acquisation on its own. 50271 50272 RenderStyle's CursorData class holds "IntPoint hotSpot", "CachedImage* image" 50273 and just for SVG a 'String cursorFragmentId' (a reference to a SVG <cursor> element, by id). 50274 50275 SVG stores a reference to a SVGCursorElement, which holds a CachedImage pointer itself - 50276 instead of storing the CachedImage in the CursorData class, as it's supposed to be. 50277 Because of that several places in WebCore contain special SVG cursor handling - which 50278 is unneeded. 50279 50280 Fix all issues by integrating within CSSCursorImageValue, remove 'String cursorFragmentId' 50281 from RenderStyle, kill any special SVG cursor handling in WebCore and fix dynamic attribute 50282 changes through DOM / SVG DOM (scripting of 'x' / 'y' / 'xlink:href' attribute). Now you 50283 can script the mouse cursor location using SVG - the feature anyone has waited for. 50284 50285 Added manual test case: manual-tests/svg-cursor-changes.svg (no support for cursors in DRT) 50286 50287 * css/CSSCursorImageValue.cpp: 50288 (WebCore::isSVGCursorIdentifier): 50289 (WebCore::resourceReferencedByCursorElement): 50290 (WebCore::CSSCursorImageValue::~CSSCursorImageValue): 50291 (WebCore::CSSCursorImageValue::updateIfNeeded): 50292 (WebCore::CSSCursorImageValue::image): 50293 * css/CSSCursorImageValue.h: 50294 * css/CSSImageValue.cpp: 50295 (WebCore::CSSImageValue::image): 50296 * css/CSSImageValue.h: 50297 * css/CSSParser.cpp: 50298 (WebCore::CSSParser::parseValue): 50299 * css/CSSStyleSelector.cpp: 50300 (WebCore::CSSStyleSelector::applyProperty): 50301 * manual-tests/svg-cursor-changes.svg: Added. 50302 * page/EventHandler.cpp: 50303 (WebCore::EventHandler::selectCursor): 50304 * rendering/RenderStyle.cpp: 50305 * rendering/RenderStyle.h: 50306 (WebCore::CursorData::operator==): 50307 * svg/SVGCursorElement.cpp: 50308 (WebCore::SVGCursorElement::SVGCursorElement): 50309 (WebCore::SVGCursorElement::~SVGCursorElement): 50310 (WebCore::SVGCursorElement::parseMappedAttribute): 50311 (WebCore::SVGCursorElement::addClient): 50312 (WebCore::SVGCursorElement::removeClient): 50313 (WebCore::SVGCursorElement::svgAttributeChanged): 50314 * svg/SVGCursorElement.h: 50315 (WebCore::SVGCursorElement::isValid): 50316 50317 2008-02-13 Alp Toker <alp (a] atoker.com> 50318 50319 Reviewed by Adam Roben. 50320 50321 Split out pure-cairo Font code to FontCairo.cpp. 50322 50323 Part of the ongoing work to share code with the Win port. 50324 50325 * GNUmakefile.am: 50326 * WebCore.pro: 50327 * platform/graphics/cairo/FontCairo.cpp: Added. 50328 (WebCore::Font::drawGlyphs): 50329 * platform/graphics/gtk/FontGtk.cpp: 50330 50331 2008-02-13 Kevin Ollivier <kevino (a] theolliviers.com> 50332 50333 Reviewed by Darin Adler. 50334 50335 Import wx/defs.h to keep windows.h from using ANSI functions 50336 (see note in file for more info) and use the 8-bit string friendly 50337 version of StringImpl::computeHash since we're passing it un UTF8 50338 string. Also, don't cache the hash result. 50339 50340 http://bugs.webkit.org/show_bug.cgi?id=17321 50341 50342 * config.h: 50343 * platform/graphics/wx/FontPlatformData.h: 50344 (WebCore::FontPlatformData::hash): 50345 (WebCore::FontPlatformData::computeHash): 50346 50347 2008-02-13 Rodney Dawes <dobey (a] wayofthemonkey.com> 50348 50349 Fix Bug 17220: Illogical dependency between PluginView and 50350 PluginDatabase 50351 50352 <http://bugs.webkit.org/show_bug.cgi?id=17220> 50353 50354 Reviewed by Adam and Darin. 50355 50356 Rename PluginDatabase::createPluginView to PluginView::create, to make 50357 the illogical dependency between the two, logical 50358 Make PluginDatabase::findPlugin a public method 50359 Update the includes in PluginView and PluginDatabase for the change 50360 50361 * plugins/PluginDatabase.h: 50362 * plugins/PluginView.h: 50363 * plugins/win/PluginDatabaseWin.cpp: 50364 * plugins/win/PluginViewWin.cpp: 50365 50366 2008-02-13 Adam Roben <aroben (a] apple.com> 50367 50368 Build fix 50369 50370 * platform/graphics/cg/GraphicsContextCG.cpp: Added missing #include. 50371 50372 2008-02-13 Matt Lilek <webkit (a] mattlilek.com> 50373 50374 Not reviewed, build fix. 50375 50376 * platform/graphics/cg/GraphicsContextCG.cpp: 50377 (WebCore::GraphicsContext::paintBuffer): 50378 50379 2008-02-13 Darin Adler <darin (a] apple.com> 50380 50381 - try to fix Wx build 50382 50383 * platform/graphics/wx/GraphicsContextWx.cpp: 50384 (WebCore::GraphicsContext::paintBuffer): Added. 50385 50386 * platform/graphics/cairo/GraphicsContextCairo.cpp: 50387 (WebCore::GraphicsContext::paintBuffer): Added missing paintingDisabled() check. 50388 * platform/graphics/cg/GraphicsContextCG.cpp: 50389 (WebCore::GraphicsContext::paintBuffer): Ditto. 50390 * platform/graphics/qt/GraphicsContextQt.cpp: 50391 (WebCore::GraphicsContext::paintBuffer): Ditto. 50392 50393 2008-02-13 Darin Adler <darin (a] apple.com> 50394 50395 - try to fix Wx build 50396 50397 * platform/wx/LocalizedStringsWx.cpp: Add missing include. 50398 50399 2008-02-11 Darin Adler <darin (a] apple.com> 50400 50401 - roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders 50402 incorrectly due to visibility fix 50403 50404 Removed the Xcode-specific quirk at the request of some folks on the Xcode team. 50405 50406 * WebCore.base.exp: Rolled out change. 50407 * css/CSSMutableStyleDeclaration.cpp: 50408 (WebCore::CSSMutableStyleDeclaration::setProperty): Ditto. 50409 * page/Settings.cpp: 50410 (WebCore::Settings::Settings): Ditto. But keep the initialization of 50411 m_fontRenderingMode. 50412 (WebCore::Settings::setNeedsXcodeVisibilityQuirk): Removed. 50413 * page/Settings.h: 50414 (WebCore::Settings::needsXcodeVisibilityQuirk): Removed. 50415 50416 2008-02-13 Alexey Proskuryakov <ap (a] webkit.org> 50417 50418 Reviewed by Darin. 50419 50420 <rdar://problem/5740042> Database termination issues 50421 50422 Test: storage/close-during-stress-test.html 50423 50424 * dom/Document.cpp: 50425 (WebCore::Document::databaseThread): 50426 * dom/Document.h: 50427 Don't re-create the database thread if it has been already terminated. 50428 50429 * storage/Database.h: (WebCore::Database::document): Changed m_database to a RefPtr to avoid 50430 having a hanging reference. 50431 50432 * storage/DatabaseThread.cpp: 50433 (WebCore::DatabaseThread::requestTermination): 50434 50435 * storage/SQLTransaction.cpp: (WebCore::SQLTransaction::~SQLTransaction): Removed logging. 50436 Transactions are deleted during GC, so it's usually not importatnt to know when it happens. 50437 50438 2008-02-12 Bernhard Rosenkraenzer <bero (a] arklinux.org> 50439 50440 Reviewed by Darin. 50441 50442 - fix http://bugs.webkit.org/show_bug.cgi?id=17340 50443 WebCore/platform/Timer.cpp fails to build with gcc 4.3 50444 50445 * platform/Timer.cpp: Add include of <limits.h> since this file uses UINT_MAX. 50446 50447 2008-02-12 Timothy Hatcher <timothy (a] apple.com> 50448 50449 Reviewed by Brady Eidson. 50450 50451 <rdar://problem/5652560> Can't delete database if the website that 50452 uses it has been opened in this session 50453 50454 Close the Database on the database thread before deleting the file. 50455 Tested and works on Windows and Mac. 50456 50457 * platform/sql/SQLiteDatabase.cpp: 50458 (WebCore::SQLiteDatabase::close): Assert we are on the opening thread. 50459 * storage/Database.cpp: 50460 (WebCore::Database::markAsDeletedAndClose): Unschedule any pending 50461 Database tasks, and start and imediate DatabaseCloseTask. 50462 (WebCore::Database::close): Close the SQLDatabase. 50463 * storage/Database.h: Renamed markAsDeleted to markAsDeletedAndClose. 50464 * storage/DatabaseTask.cpp: 50465 (WebCore::DatabaseCloseTask::DatabaseCloseTask): New task. 50466 (WebCore::DatabaseCloseTask::doPerformTask): Call close on the Database. 50467 (WebCore::DatabaseCloseTask::debugTaskName): Return "DatabaseCloseTask". 50468 * storage/DatabaseTask.h: Add DatabaseCloseTask. 50469 * storage/DatabaseTracker.cpp: 50470 (WebCore::DatabaseTracker::deleteDatabaseFile): Call the renamed 50471 markAsDeletedAndClose. 50472 50473 2008-02-12 Oliver Hunt <oliver (a] apple.com> 50474 50475 Endeavour to fix qt and gtk builds 50476 50477 * platform/graphics/cairo/GraphicsContextCairo.cpp: 50478 * platform/graphics/qt/GraphicsContextQt.cpp: 50479 50480 2008-02-12 Oliver Hunt <oliver (a] apple.com> 50481 50482 Reviewed by Eric S. 50483 50484 Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp 50485 Remove ifdef's from canvas paint code 50486 50487 By making GraphicsContext aware of the crossplatform ImageBuffer 50488 type we can migrate the ifdef-ified paint code in HTMLCanvasElement 50489 into platform implementations of GraphicsContext. 50490 50491 * html/HTMLCanvasElement.cpp: 50492 (WebCore::HTMLCanvasElement::paint): 50493 * platform/graphics/GraphicsContext.h: 50494 * platform/graphics/cairo/GraphicsContextCairo.cpp: 50495 (WebCore::GraphicsContext::paintBuffer): 50496 * platform/graphics/cg/GraphicsContextCG.cpp: 50497 (WebCore::GraphicsContext::paintBuffer): 50498 * platform/graphics/qt/GraphicsContextQt.cpp: 50499 (WebCore::GraphicsContext::paintBuffer): 50500 50501 2008-02-12 Brady Eidson <beidson (a] apple.com> 50502 50503 Reviewed by Darin Adler 50504 50505 Fix for <rdar://problem/5737692> - Database API needs to support SuccessCallback 50506 50507 Layout tests will come shortly with a mess of DRT changes 50508 50509 * platform/SecurityOrigin.cpp: 50510 (WebCore::SecurityOrigin::SecurityOrigin): Standardize on "empty string" instead of null string 50511 as different paths of constructing a SecurityOrigin were causing different hashes for the "same" 50512 SecurityOrigin 50513 50514 * storage/Database.cpp: 50515 (WebCore::Database::changeVersion): Pass in the successCallback 50516 (WebCore::Database::transaction): Ditto 50517 50518 * storage/SQLTransaction.cpp: 50519 (WebCore::SQLTransaction::SQLTransaction): 50520 (WebCore::SQLTransaction::debugStepName): 50521 (WebCore::SQLTransaction::performNextStep): Update ASSERTs for the new valid steps 50522 (WebCore::SQLTransaction::performPendingCallback): Ditto 50523 (WebCore::SQLTransaction::postflightAndCommit): Schedule the success callback if it exists - otherwise 50524 skip straight to cleanupAfterSuccessCallback() 50525 (WebCore::SQLTransaction::deliverSuccessCallback): Deliver success callback on the main thread, then 50526 schedule cleanupAfterSuccessCallback() 50527 (WebCore::SQLTransaction::cleanupAfterSuccessCallback): Cleanup and end the transaction 50528 (WebCore::SQLTransaction::handleTransactionError): 50529 (WebCore::SQLTransaction::deliverTransactionErrorCallback): 50530 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): 50531 * storage/SQLTransaction.h: 50532 50533 2008-02-12 Steve Falkenburg <sfalken (a] apple.com> 50534 50535 Changes to support merged MIDL output. 50536 50537 All COM interfaces are now generated to WebKit.h. 50538 50539 Reviewed by Sam, Ada. 50540 50541 * bindings/scripts/CodeGeneratorCOM.pm: 50542 50543 2008-02-12 Dan Bernstein <mitz (a] apple.com> 50544 50545 Reviewed by Adam Roben. 50546 50547 - fix http://bugs.webkit.org/show_bug.cgi?id=17041 50548 <rdar://problem/5709660> Eastern Asian fonts do not display without specific box in Control Panel 50549 50550 Revised the system fallback font lookup logic to use MLang font linking 50551 again. To avoid reintroducing bug 16548 and <rdar://problem/5280188>, 50552 for CJK characters, try linking based on a single code page at a time, 50553 starting with the user's default code page (if it is one of the CJK 50554 code pages) followed by the other CJK code pages in a prescribed order 50555 that matches what Firefox does. 50556 50557 * platform/graphics/win/FontCacheWin.cpp: 50558 (WebCore::getCJKCodePageMasks): Added. Returns the search order for CJK 50559 code pages, with the user's default code page first. 50560 (WebCore::currentFontContainsCharacter): Factored out of 50561 getFontDataForCharacters(). 50562 (WebCore::createMLangFont): Ditto. 50563 (WebCore::FontCache::getFontDataForCharacters): 50564 50565 2008-02-12 Rodney Dawes <dobey (a] wayofthemonkey.com> 50566 50567 Reviewed by Alp Toker. 50568 50569 Add -DMAEMO_CHANGES when the hildon CONFIG option is specified 50570 Add hildon-1 to PKGCONFIG when hildon CONFIG option is specified 50571 50572 * WebCore.pro: 50573 50574 2008-02-12 Dan Bernstein <mitz (a] apple.com> 50575 50576 Reviewed by Timothy Hatcher. 50577 50578 - <rdar://problem/5738175> Remove workaround for <rdar://problem/5539388> from post-Tiger builds 50579 50580 * platform/graphics/cg/GraphicsContextCG.cpp: 50581 (WebCore::GraphicsContext::setShadow): 50582 50583 2008-02-12 Brady Eidson <beidson (a] apple.com> 50584 50585 Release build fix 50586 50587 * storage/DatabaseTask.cpp: 50588 50589 2008-02-12 Alexey Proskuryakov <ap (a] webkit.org> and Brady Eidson <beidson (a] apple.com> 50590 50591 Reviewed by Brady. 50592 50593 http://bugs.webkit.org/show_bug.cgi?id=17177 50594 <rdar://problem/5729619> Storage tasks are getting lost 50595 50596 <rdar://problem/5729445> REGRESSION: Cannot schedule more than one transaction at a time 50597 50598 <rdar://problem/5729446> Major thread safety issue in Database code 50599 50600 * platform/MessageQueue.h: Added a thread-safe queue abstraction. 50601 50602 * WebCore.vcproj/WebCore.vcproj: 50603 * WebCore.xcodeproj/project.pbxproj: 50604 Added MessageQueue.h. 50605 50606 * dom/Document.cpp: 50607 (WebCore::Document::~Document): Fixed a race condition resulting in a hanging reference. 50608 50609 * storage/Database.idl: Fixed parameter declarations to actually match implementation 50610 (which is custom, so it got out of sync). 50611 50612 * storage/DatabaseTask.h: 50613 (WebCore::DatabaseTask::database): 50614 (WebCore::DatabaseTransactionTask::transaction): 50615 Changed tasks to hold more information internally. Added helpers for better debug logging. 50616 50617 * storage/DatabaseTask.cpp: 50618 (WebCore::DatabaseTask::DatabaseTask): 50619 (WebCore::DatabaseTask::performTask): 50620 (WebCore::DatabaseOpenTask::DatabaseOpenTask): 50621 (WebCore::DatabaseOpenTask::doPerformTask): 50622 (WebCore::DatabaseOpenTask::debugTaskName): 50623 (WebCore::DatabaseTransactionTask::DatabaseTransactionTask): 50624 (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask): 50625 (WebCore::DatabaseTransactionTask::doPerformTask): 50626 (WebCore::DatabaseTransactionTask::debugTaskName): 50627 (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask): 50628 (WebCore::DatabaseTableNamesTask::doPerformTask): 50629 (WebCore::DatabaseTableNamesTask::debugTaskName): 50630 Implementation for the above. 50631 50632 (WebCore::DatabaseTask::lockForSynchronousScheduling): 50633 (WebCore::DatabaseTask::waitForSynchronousCompletion): 50634 Fixed a potential race condition: if the task completed before we entered a wait, we'd never 50635 wake up. There was an assertion guarding against this, but no actual guarantee that I could see. 50636 50637 * storage/DatabaseThread.cpp: 50638 (WebCore::DatabaseThread::DatabaseThread): 50639 (WebCore::DatabaseThread::requestTermination): 50640 (WebCore::DatabaseThread::databaseThread): 50641 (WebCore::DatabaseThread::scheduleTask): 50642 (WebCore::DatabaseThread::scheduleImmediateTask): 50643 (WebCore::DatabaseThread::unscheduleDatabaseTasks): 50644 * storage/DatabaseThread.h: 50645 Changed to use MessageQueue. 50646 50647 * storage/Database.cpp: 50648 (WebCore::guidMutex): 50649 (WebCore::guidToVersionMap): 50650 (WebCore::guidToDatabaseMap): 50651 (WebCore::Database::openDatabase): 50652 (WebCore::Database::Database): 50653 (WebCore::Database::~Database): 50654 (WebCore::Database::openAndVerifyVersion): 50655 (WebCore::guidForOriginAndName): 50656 (WebCore::Database::changeVersion): 50657 (WebCore::Database::transaction): 50658 (WebCore::Database::scheduleTransaction): 50659 (WebCore::Database::scheduleTransactionStep): 50660 (WebCore::Database::scheduleTransactionCallback): 50661 (WebCore::Database::version): 50662 (WebCore::Database::deliverPendingCallback): 50663 (WebCore::Database::tableNames): 50664 * storage/Database.h: 50665 Changed m_transactionQueue to a MessageQueue. 50666 Got rid of callback tracking - these can take care of themselves. 50667 Got rid of a DatabaseThread member, as the Document can be asked for it. 50668 Moved private static members and helpers out of the header. 50669 Lost CurrentThreadSetter debug helper on the way. We may need to re-add something like that later. 50670 50671 * storage/SQLTransaction.h: 50672 * storage/SQLTransaction.cpp: Added a lot of debug logging. 50673 (WebCore::SQLTransaction::scheduleToRunStatements): Removed "m_currentStatement = 0" assignment, 50674 as it created a race condition. Everything seems to work better without it, although a real fix 50675 would be to get rid of this variable - it's evil shared data that isn't even protected in any way. 50676 50677 * manual-tests/database-threading-stress-test-2.html: Added. 50678 * manual-tests/database-threading-stress-test.html: Added. 50679 50680 2008-02-12 Adam Roben <aroben (a] apple.com> 50681 50682 Fix Bug 17328: REGRESSION (r30147): Inspector is unstyled on Windows 50683 50684 <http://bugs.webkit.org/show_bug.cgi?id=17328> 50685 <rdar://5737946> 50686 50687 Reviewed by Mitz. 50688 50689 Test: fast/loader/local-css-allowed-in-strict-mode.html 50690 50691 * platform/network/cf/ResourceResponseCFNet.cpp: 50692 (WebCore::ResourceResponse::doUpdateResourceResponse): Add a case for 50693 .css files. 50694 50695 2008-02-12 Anders Carlsson <andersca (a] apple.com> 50696 50697 Build fix. 50698 50699 * loader/ImageDocument.cpp: 50700 50701 2008-02-12 Anders Carlsson <andersca (a] apple.com> 50702 50703 Reviewed by Mitz. 50704 50705 Make the code that sets the image title cross platform. 50706 50707 * WebCore.xcodeproj/project.pbxproj: 50708 Remove ImageDocumentMac. 50709 50710 * loader/ImageDocument.cpp: 50711 (WebCore::ImageTokenizer::finish): 50712 50713 * loader/mac/ImageDocumentMac.h: Removed. 50714 * loader/mac/ImageDocumentMac.mm: Removed. 50715 50716 * page/mac/WebCoreFrameBridge.h: 50717 * page/mac/WebCoreViewFactory.h: 50718 Move imageTitleForFilename:size from the bridge to 50719 the view factory. 50720 50721 * platform/LocalizedStrings.h: 50722 Add imageTitle. 50723 50724 * platform/mac/LocalizedStringsMac.mm: 50725 (WebCore::imageTitle): 50726 Have imageTitle call the view factory. 50727 50728 * platform/qt/Localizations.cpp: 50729 (WebCore::imageTitle): 50730 * platform/wx/LocalizedStringsWx.cpp: 50731 (WebCore::imageTitle): 50732 * platform/gtk/LocalizedStringsGtk.cpp: 50733 (WebCore::imageTitle): 50734 Add stubs. 50735 50736 2008-02-12 Oliver Hunt <oliver (a] apple.com> 50737 50738 more Qt fixes 50739 50740 * html/HTMLCanvasElement.cpp: 50741 (WebCore::HTMLCanvasElement::paint): 50742 50743 2008-02-12 Oliver Hunt <oliver (a] apple.com> 50744 50745 And another attempt to fixerate Qt 50746 50747 * html/HTMLCanvasElement.cpp: 50748 (WebCore::HTMLCanvasElement::paint): 50749 50750 2008-02-12 Oliver Hunt <oliver (a] apple.com> 50751 50752 Attempt to fix Qt build 50753 50754 * html/HTMLCanvasElement.h: 50755 50756 2008-02-11 Oliver Hunt <oliver (a] apple.com> 50757 50758 Reviewed by Alp Toker. 50759 50760 Make canvas use an ImageBuffer for its backing store 50761 50762 In order to make the canvas implementation less platform dependent 50763 (and thus reduce the current quagmire of ifdefs) we now use an 50764 ImageBuffer to provide the backing buffer, an immediate consequence 50765 of this is to remove multiple ifdefs in the construction of the 50766 buffer. This patch allows us to further reduce the platform 50767 dependencies in later patches. 50768 50769 50770 * html/CanvasRenderingContext2D.cpp: 50771 (WebCore::CanvasRenderingContext2D::drawImage): 50772 * html/HTMLCanvasElement.cpp: 50773 (WebCore::HTMLCanvasElement::HTMLCanvasElement): 50774 (WebCore::HTMLCanvasElement::~HTMLCanvasElement): 50775 (WebCore::HTMLCanvasElement::reset): 50776 (WebCore::HTMLCanvasElement::paint): 50777 (WebCore::HTMLCanvasElement::createDrawingContext): 50778 (WebCore::HTMLCanvasElement::drawingContext): 50779 (WebCore::HTMLCanvasElement::createPlatformImage): 50780 * html/HTMLCanvasElement.h: 50781 50782 2008-02-11 Dan Bernstein <mitz (a] apple.com> 50783 50784 Reviewed by Dave Hyatt. 50785 50786 - fix http://bugs.webkit.org/show_bug.cgi?id=17320 50787 <rdar://problem/5736953> :last-child does not set the "uses sibling rules" flag 50788 50789 Test: fast/css/last-child-style-sharing.html 50790 50791 * css/CSSGrammar.y: Changed to call setUsesSiblingRules(true) for all 50792 CSS3 selectors that require it. 50793 50794 2008-02-11 Sam Weinig <sam (a] webkit.org> 50795 50796 Reviewed by Darin Adler. 50797 50798 Make the cross-domain security model more closely match Firefox by always returning the 50799 native built-in functions when accessing functions cross-domain. 50800 50801 Fixes for: 50802 <rdar://problem/5735497> Match Firefox's cross-domain model more accurately by return the built-in version of functions even if they have been overridden 50803 <rdar://problem/5735443> Crash when setting the Window objects prototype to a custom Object and then calling a method on it 50804 50805 Tests: fast/dom/Window/window-custom-prototype-crash.html 50806 fast/dom/Window/window-function-frame-getter-precedence.html 50807 http/tests/security/cross-frame-access-get-override.html 50808 http/tests/security/cross-frame-access-location-get-override.html 50809 http/tests/security/cross-frame-access-location-get.html 50810 http/tests/security/cross-frame-access-location-put.html 50811 50812 * bindings/js/JSDOMWindowCustom.cpp: 50813 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 50814 - Return the native-built in version of an cross-domain allowed function (eg. window.focus) whether or 50815 not it has been overridden, instead of undefined. 50816 - When doing findEntry lookup, use the the tables directly (JSDOMWindowPrototype::info.propHashTable) 50817 instead of calling the virtual classInfo() method to avoid the unnecessary overhead. 50818 - Allow access to the native toString function cross-domain. It always returns "[object Window]". 50819 - Use the new nonCachingStaticFunctionGetter when return allowed functions cross-frame so that 50820 the function an overridden function is not inadvertantly returned from the PropertyMap.\ 50821 50822 * bindings/js/JSHistoryCustom.cpp: 50823 (WebCore::JSHistory::customGetOwnPropertySlot): 50824 - Implement the same model as described above for the History object, always returning the 50825 native built-in function cross-domain. 50826 - Allow access to the native toString function cross-domain. 50827 - Clean up the code to make it clear that the custom functionality is only there for cross-domain 50828 access. 50829 50830 * bindings/js/JSLocation.cpp: 50831 (WebCore::JSLocation::getOwnPropertySlot): 50832 - Match the generated classes by moving all the custom logic into a separate customGetOwnPropertySlot 50833 function. This will help moving to a generated class in the future. 50834 (WebCore::JSLocation::customGetOwnPropertySlot): 50835 - Implement the same model as described above for the Location object, always returning the 50836 native built-in function cross-domain. 50837 - Clean up the code to make it clear that the custom functionality is only there for cross-domain 50838 access. 50839 (WebCore::JSLocation::put): 50840 (WebCore::JSLocation::deleteProperty): 50841 (WebCore::JSLocation::getPropertyNames): 50842 * bindings/js/JSLocation.h: 50843 - Clean up to match the rest of the file a little better. 50844 50845 * bindings/js/kjs_binding.cpp: 50846 (WebCore::allowsAccessFromFrame): 50847 (WebCore::printErrorMessageForFrame): 50848 (WebCore::nonCachingStaticFunctionGetter): 50849 (WebCore::objectToStringFunctionGetter): 50850 * bindings/js/kjs_binding.h: 50851 - Put common functionality related to cross-domain access here to serve as a central shared point. 50852 This includes moving and augmenting the allowsAccessFromFrame method that was in both JSHistoryCustom.cpp 50853 and JSLocation.cpp. 50854 50855 * bindings/js/kjs_dom.cpp: 50856 (WebCore::checkNodeSecurity): 50857 - Use the new allowsAccessFromFrame method. 50858 50859 * bindings/js/kjs_window.cpp: 50860 (KJS::Window::childFrameGetter): Cleanup. 50861 (KJS::Window::namedItemGetter): Cleanup. 50862 (KJS::Window::getOwnPropertySlot): 50863 - Do the prototype lookup early to match Firefox in having function lookup have a higher precedence 50864 than the index or shortcut name getters. 50865 - Cleanup function to make it more understandable and slightly more efficient. 50866 (KJS::Window::allowsAccessFrom): 50867 - Add a new variant of this method that takes a reference to a String, which, on failure, will 50868 contain the error message to print out. The caller can then pass this to printErrorMessage. 50869 This allows for code to check allowsAccessFrom and act on the result without printing out the 50870 error message. For convenience, a version with out the String parameter has been left which 50871 prints out the message automatically. 50872 (KJS::Window::printErrorMessage): 50873 * bindings/js/kjs_window.h: 50874 50875 2008-02-11 Darin Adler <darin (a] apple.com> 50876 50877 Reviewed by Mitz. 50878 50879 - fix <rdar://problem/5726016> REGRESSION: Xcode News window renders 50880 incorrectly due to visibility fix 50881 50882 Added an Xcode-specific quirk. 50883 50884 * WebCore.base.exp: Added export for new Settings function. 50885 * css/CSSMutableStyleDeclaration.cpp: 50886 (WebCore::CSSMutableStyleDeclaration::setProperty): Here's the crazy quirk. 50887 If you try to change the visibilty on a node with the class name tab_content, 50888 instead it will use display:none. 50889 * page/Settings.cpp: 50890 (WebCore::Settings::Settings): Initialize m_needsXcodeVisibilityQuirk. Also 50891 initialize m_fontRenderingMode! This seems like it was a bug before, but we 50892 probably were getting lucky and always getting 0 on Windows, which is the 50893 only place the setting matters. 50894 (WebCore::Settings::setNeedsXcodeVisibilityQuirk): Added. 50895 * page/Settings.h: 50896 (WebCore::Settings::needsXcodeVisibilityQuirk): Added. 50897 50898 2008-02-11 Timothy Hatcher <timothy (a] apple.com> 50899 50900 Reviewed by Brady Eidson. 50901 50902 <rdar://problem/5733069> Many m_quotaMap uses do not hold the m_quotaMapGuard 50903 50904 * storage/DatabaseTracker.cpp: 50905 (WebCore::DatabaseTracker::hasEntryForOrigin): Hold m_quotaMapGuard when using m_quotaMap. 50906 (WebCore::DatabaseTracker::origins): Ditto. 50907 (WebCore::DatabaseTracker::setQuota): Ditto. 50908 (WebCore::DatabaseTracker::deleteAllDatabases): Call origins() and itterate over the 50909 origins to call deleteOrigin(). 50910 (WebCore::DatabaseTracker::deleteOrigin): Hold m_quotaMapGuard when using m_quotaMap. 50911 50912 2008-02-11 David Hyatt <hyatt (a] apple.com> 50913 50914 Fix for bug 17286, crash accessing a null RenderStyle. Add a simple null check. 50915 50916 Reviewed by aroben 50917 50918 Added fast/css/empty-generated-content.html 50919 50920 * css/CSSStyleSelector.cpp: 50921 (WebCore::CSSStyleSelector::checkOneSelector): 50922 50923 2008-02-11 Rob Buis <buis (a] kde.org> 50924 50925 Reviewed by David Kilzer. 50926 50927 http://bugs.webkit.org/show_bug.cgi?id=17201 50928 Bug 17201: Use RefPtr in CSSParser::parseFont() to get rid of goto silliness 50929 50930 Gets rid of goto usage in parseFont. 50931 50932 * css/CSSParser.cpp: 50933 (WebCore::CSSParser::parseFont): 50934 50935 2008-02-11 David Hyatt <hyatt (a] apple.com> 50936 50937 Fix for bug 17298, Acid3 text should be black and not red. Make sure stylesheets with the wrong MIME type 50938 are not accepted in strict mode. 50939 50940 Reviewed by darin 50941 50942 Added http/tests/misc/css-reject-in-strict-mode.html 50943 50944 * css/CSSImportRule.cpp: 50945 (WebCore::CSSImportRule::setCSSStyleSheet): 50946 * css/CSSImportRule.h: 50947 * dom/Document.cpp: 50948 (WebCore::Document::setCSSStyleSheet): 50949 * dom/Document.h: 50950 * dom/ProcessingInstruction.cpp: 50951 (WebCore::ProcessingInstruction::setCSSStyleSheet): 50952 * dom/ProcessingInstruction.h: 50953 * html/HTMLLinkElement.cpp: 50954 (WebCore::HTMLLinkElement::setCSSStyleSheet): 50955 * html/HTMLLinkElement.h: 50956 * html/HTMLMediaElement.cpp: 50957 (WebCore::HTMLMediaElement::pickMedia): 50958 * loader/CachedCSSStyleSheet.cpp: 50959 (WebCore::CachedCSSStyleSheet::ref): 50960 (WebCore::CachedCSSStyleSheet::checkNotify): 50961 (WebCore::CachedCSSStyleSheet::canUseSheet): 50962 * loader/CachedCSSStyleSheet.h: 50963 (WebCore::CachedCSSStyleSheet::sheetText): 50964 * loader/CachedResourceClient.h: 50965 (WebCore::CachedResourceClient::setCSSStyleSheet): 50966 * loader/mac/UserStyleSheetLoader.cpp: 50967 (UserStyleSheetLoader::setCSSStyleSheet): 50968 * loader/mac/UserStyleSheetLoader.h: 50969 50970 2008-02-11 Adam Roben <aroben (a] apple.com> 50971 50972 Fix Bug 14316: Inspector's Console truncates long strings 50973 50974 <http://bugs.webkit.org/show_bug.cgi?id=14316> 50975 <rdar://5357695> 50976 50977 We no longer call Object.describe to format all the output of commands 50978 enetered into the Console. The ConsolePanel object now has a set of 50979 formatting functions that append a formatted representation of the 50980 passed-in object to the passed-in container node. 50981 50982 Reviewed by Sam. 50983 50984 * page/inspector/ConsolePanel.js: 50985 (WebInspector.ConsolePanel._onEnterPressed): Updated for rename of 50986 _outputToNode to _format. 50987 (WebInspector.ConsolePanel._format): Renamed from _outputToNode. Use 50988 Object.type to get the type of the object, then call the appropriate 50989 formatting function. 50990 (WebInspector.ConsolePanel._formatvalue): Added. 50991 (WebInspector.ConsolePanel._formatstring): Added. This function 50992 contains the actual fix for the bug, since it doesn't truncate the 50993 string no matter how long it is. 50994 (WebInspector.ConsolePanel._formatregexp): Added. 50995 (WebInspector.ConsolePanel._formatarray): Added. This is a bit more 50996 functional than Object.describe for arrays, since it recursively 50997 formats each item in the array. One advantage of this is that Nodes in 50998 arrays will be linkified instead of just turning into "[Object 50999 HTMLBodyElement]" or similar. 51000 (WebInspector.ConsolePanel._formatnode): Added. 51001 (WebInspector.ConsolePanel._formatobject): Added. 51002 (WebInspector.ConsolePanel. 51003 * page/inspector/utilities.js: 51004 (Object.type): Added. Code was pulled out of Object.describe and 51005 reorganized slightly. 51006 (Object.describe): Call Object.type. There should be no change in 51007 behavior of this function. 51008 51009 2008-02-11 Alp Toker <alp (a] atoker.com> 51010 51011 Wx build fix for breakage introduced in r30142. Spotted by Darin. 51012 51013 * platform/network/curl/ResourceHandleManager.cpp: 51014 (WebCore::parseDataUrl): 51015 51016 2008-02-11 Brent Fulgham <bfulgham (a] gmail.com> 51017 51018 Reviewed and tweaked by Darin 51019 51020 - http://bugs.webkit.org/show_bug.cgi?id=17299 51021 a couple compilation fixes for Cairo/Win32 configuration 51022 51023 * platform/graphics/cairo/ImageSourceCairo.cpp: 51024 (WebCore::createDecoder): Turn off XBMImageDecoder for PLATFORM(WIN) configuration. 51025 * rendering/RenderThemeWin.cpp: 51026 (WebCore::prepareForDrawing): Added IntRect parameter. 51027 (WebCore::doneDrawing): Ditto. 51028 (WebCore::RenderThemeWin::paintButton): Ditto. 51029 (WebCore::RenderThemeWin::paintTextField): Ditto. 51030 (WebCore::RenderThemeWin::paintMenuListButton): Ditto. 51031 (WebCore::RenderThemeWin::systemFont): Added. 51032 51033 2008-02-11 Alp Toker <alp (a] atoker.com> 51034 51035 Reviewed by Alexey. 51036 51037 Acid3 data URL parsing fix for the GTK+ port. 51038 51039 Avoid WebCore's base64Decode() when possible since it's not a 51040 general-purpose Base64 decoder and fails on newlines. 51041 51042 * platform/network/curl/ResourceHandleManager.cpp: 51043 (WebCore::parseDataUrl): 51044 51045 2008-02-11 Darin Adler <darin (a] apple.com> 51046 51047 - another Qt build fix 51048 51049 * platform/qt/PopupMenuQt.cpp: 51050 (WebCore::PopupMenu::PopupMenu): Added explicit RefCounted constructor. 51051 51052 2008-02-10 Darin Adler <darin (a] apple.com> 51053 51054 - another Qt build fix (wish the Qt bot wouldn't stop on the first error) 51055 51056 * platform/qt/FileChooserQt.cpp: 51057 (WebCore::FileChooser::FileChooser): Added explicit RefCounted constructor. 51058 51059 2008-02-10 Darin Adler <darin (a] apple.com> 51060 51061 - another Qt build fix 51062 51063 * platform/graphics/qt/IconQt.cpp: 51064 (WebCore::Icon::Icon): Added explicit RefCounted constructor. 51065 51066 2008-02-10 Alp Toker <alp (a] atoker.com> 51067 51068 Another Win build fix for r30133 breakage. 51069 51070 * plugins/win/PluginPackageWin.cpp: 51071 (WebCore::PluginPackage::PluginPackage): 51072 51073 2008-02-10 Alp Toker <alp (a] atoker.com> 51074 51075 Build fix GTK+ and prospective build fix for Win breakage introduced 51076 in r30133. 51077 51078 * platform/Cursor.h: 51079 (WebCore::SharedCursor::SharedCursor): 51080 * platform/graphics/gtk/IconGtk.cpp: 51081 (WebCore::Icon::Icon): 51082 * platform/gtk/FileChooserGtk.cpp: 51083 (WebCore::FileChooser::FileChooser): 51084 * platform/gtk/PopupMenuGtk.cpp: 51085 (WebCore::PopupMenu::PopupMenu): 51086 51087 2008-02-10 Darin Adler <darin (a] apple.com> 51088 51089 - try to fix Win, Qt, GTK, and WX builds 51090 51091 * platform/Cursor.h: 51092 (WebCore::SharedCursor::SharedCursor): Added explicit RefCounted constructor. 51093 * platform/graphics/win/IconWin.cpp: 51094 (WebCore::Icon::Icon): Ditto. 51095 * platform/win/FileChooserWin.cpp: 51096 (WebCore::FileChooser::FileChooser): Ditto. 51097 * platform/win/PopupMenuWin.cpp: 51098 (WebCore::PopupMenu::PopupMenu): Ditto. 51099 * platform/wx/TemporaryLinkStubs.cpp: 51100 (FileChooser::FileChooser): Ditto. 51101 (PopupMenu::PopupMenu): Ditto. 51102 (Icon::Icon): Ditto. 51103 * plugins/PluginStream.cpp: 51104 (WebCore::PluginStream::PluginStream): Ditto. 51105 51106 2008-02-10 David Hyatt <hyatt (a] apple.com> 51107 51108 Fix for bug 17082, cssRules should be live. 51109 51110 Reviewed by olliej 51111 51112 Added fast/css/live-cssrules.html 51113 51114 * css/CSSRuleList.cpp: 51115 (WebCore::CSSRuleList::CSSRuleList): 51116 (WebCore::CSSRuleList::length): 51117 (WebCore::CSSRuleList::item): 51118 (WebCore::CSSRuleList::deleteRule): 51119 (WebCore::CSSRuleList::insertRule): 51120 * css/CSSRuleList.h: 51121 51122 2008-02-10 David Hyatt <hyatt (a] apple.com> 51123 51124 Fix for bug 17253. <iframe> contents need to be reflected into the DOM as a single text node. 51125 51126 Reviewed by olliej 51127 51128 fast/frames/iframe-text-contents.html 51129 51130 * html/HTMLParser.cpp: 51131 (WebCore::HTMLParser::getNode): 51132 * html/HTMLTokenizer.cpp: 51133 (WebCore::HTMLTokenizer::parseSpecial): 51134 (WebCore::HTMLTokenizer::parseComment): 51135 (WebCore::HTMLTokenizer::parseTag): 51136 * html/HTMLTokenizer.h: 51137 (WebCore::HTMLTokenizer::State::inIFrame): 51138 (WebCore::HTMLTokenizer::State::setInIFrame): 51139 (WebCore::HTMLTokenizer::State::inAnySpecial): 51140 (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling): 51141 (WebCore::HTMLTokenizer::State::): 51142 51143 2008-02-10 Andrew Wellington <proton (a] wiretapped.net> 51144 51145 Reviewed and tweaked by Darin. 51146 51147 DOMRange.surroundContents throws wrong exception (Acid3 bug) 51148 http://bugs.webkit.org/show_bug.cgi?id=16749 51149 51150 Throw BAD_BOUNDARYPOINTS_ERR if attempting to split a non-text node that 51151 has offsets in characters. 51152 51153 * dom/Range.cpp: 51154 (WebCore::Range::surroundContents): 51155 51156 2008-02-10 Darin Adler <darin (a] apple.com> 51157 51158 Reviewed by Eric. 51159 51160 - http://bugs.webkit.org/show_bug.cgi?id=17256 51161 Make clients of RefCounted explicitly set the count to 0. 51162 51163 * bindings/js/JSSVGPODTypeWrapper.h: 51164 (WebCore::JSSVGPODTypeWrapper::JSSVGPODTypeWrapper): 51165 * css/CSSFontFace.h: 51166 (WebCore::CSSFontFace::CSSFontFace): 51167 * css/CSSRuleList.cpp: 51168 (WebCore::CSSRuleList::CSSRuleList): 51169 * css/CSSSegmentedFontFace.cpp: 51170 (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace): 51171 * css/Counter.h: 51172 (WebCore::Counter::Counter): 51173 * css/Pair.h: 51174 (WebCore::Pair::Pair): 51175 * css/Rect.h: 51176 (WebCore::Rect::Rect): 51177 * css/StyleBase.h: 51178 (WebCore::StyleBase::StyleBase): 51179 * css/StyleSheetList.cpp: 51180 (WebCore::StyleSheetList::StyleSheetList): 51181 * dom/Attr.cpp: 51182 (WebCore::Attr::Attr): 51183 * dom/Attr.h: 51184 * dom/Attribute.h: 51185 (WebCore::Attribute::Attribute): 51186 * dom/Clipboard.cpp: 51187 (WebCore::Clipboard::Clipboard): 51188 * dom/DOMImplementation.h: 51189 (WebCore::DOMImplementation::DOMImplementation): 51190 * dom/Event.cpp: 51191 (WebCore::Event::Event): 51192 * dom/EventListener.h: 51193 (WebCore::EventListener::EventListener): 51194 * dom/ExceptionBase.cpp: 51195 (WebCore::ExceptionBase::ExceptionBase): 51196 * dom/NamedAttrMap.h: 51197 (WebCore::NamedAttrMap::insertAttribute): 51198 * dom/NamedNodeMap.h: 51199 (WebCore::NamedNodeMap::NamedNodeMap): 51200 * dom/NodeFilter.h: 51201 (WebCore::NodeFilter::NodeFilter): 51202 * dom/NodeFilterCondition.h: 51203 (WebCore::NodeFilterCondition::NodeFilterCondition): 51204 * dom/NodeList.h: 51205 (WebCore::NodeList::NodeList): 51206 * dom/QualifiedName.h: 51207 (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl): 51208 (WebCore::QualifiedName::ref): 51209 * dom/Range.cpp: 51210 (WebCore::Range::Range): 51211 * dom/RegisteredEventListener.cpp: 51212 (WebCore::RegisteredEventListener::RegisteredEventListener): 51213 * dom/StyledElement.h: 51214 * dom/Traversal.cpp: 51215 (WebCore::Traversal::Traversal): 51216 * editing/EditCommand.cpp: 51217 (WebCore::EditCommand::EditCommand): 51218 * history/BackForwardList.cpp: 51219 (WebCore::BackForwardList::BackForwardList): 51220 * history/CachedPage.cpp: 51221 (WebCore::CachedPage::CachedPage): 51222 * history/HistoryItem.cpp: 51223 (WebCore::HistoryItem::HistoryItem): 51224 * html/CanvasGradient.cpp: 51225 (WebCore::CanvasGradient::CanvasGradient): 51226 * html/CanvasPattern.cpp: 51227 (WebCore::CanvasPattern::CanvasPattern): 51228 * html/CanvasRenderingContext2D.cpp: 51229 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): 51230 * html/CanvasStyle.cpp: 51231 (WebCore::CanvasStyle::CanvasStyle): 51232 * html/HTMLCollection.cpp: 51233 (WebCore::HTMLCollection::HTMLCollection): 51234 * html/MediaError.h: 51235 (WebCore::MediaError::MediaError): 51236 * html/TimeRanges.cpp: 51237 (TimeRanges::TimeRanges): 51238 * html/TimeRanges.h: 51239 (WebCore::TimeRanges::TimeRanges): 51240 * html/VoidCallback.h: 51241 (WebCore::VoidCallback::VoidCallback): 51242 * loader/DocumentLoader.cpp: 51243 (WebCore::DocumentLoader::DocumentLoader): 51244 * loader/FormState.cpp: 51245 (WebCore::FormState::FormState): 51246 * loader/ResourceLoader.cpp: 51247 (WebCore::ResourceLoader::ResourceLoader): 51248 * loader/TextResourceDecoder.cpp: 51249 (WebCore::TextResourceDecoder::TextResourceDecoder): 51250 * loader/icon/IconRecord.cpp: 51251 (WebCore::IconRecord::IconRecord): 51252 * page/BarInfo.cpp: 51253 (WebCore::BarInfo::BarInfo): 51254 * page/Console.cpp: 51255 (WebCore::Console::Console): 51256 * page/DOMSelection.cpp: 51257 (WebCore::DOMSelection::DOMSelection): 51258 * page/DOMWindow.cpp: 51259 (WebCore::DOMWindow::DOMWindow): 51260 * page/Frame.cpp: 51261 (WebCore::Frame::Frame): 51262 * page/History.cpp: 51263 (WebCore::History::History): 51264 * page/InspectorController.cpp: 51265 (WebCore::InspectorResource::InspectorResource): 51266 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): 51267 * page/Plugin.h: 51268 (WebCore::Plugin::Plugin): 51269 * page/Screen.cpp: 51270 (WebCore::Screen::Screen): 51271 * platform/ArrayImpl.cpp: 51272 (WebCore::ArrayImpl::ArrayPrivate::ArrayPrivate): 51273 * platform/DeprecatedValueListImpl.cpp: 51274 (WebCore::DeprecatedValueListImpl::Private::Private): 51275 * platform/ScrollBar.cpp: 51276 (WebCore::Scrollbar::Scrollbar): 51277 * platform/SharedBuffer.cpp: 51278 (WebCore::SharedBuffer::SharedBuffer): 51279 * platform/graphics/FontFallbackList.cpp: 51280 (WebCore::FontFallbackList::FontFallbackList): 51281 * platform/graphics/FontFamily.cpp: 51282 (WebCore::FontFamily::FontFamily): 51283 * platform/graphics/FontFamily.h: 51284 (WebCore::FontFamily::FontFamily): 51285 * platform/graphics/FontSelector.h: 51286 (WebCore::FontSelector::FontSelector): 51287 (WebCore::FontSelector::~FontSelector): 51288 * platform/graphics/GlyphPageTreeNode.h: 51289 (WebCore::GlyphPage::GlyphPage): 51290 * platform/graphics/mac/IconMac.mm: 51291 (WebCore::Icon::Icon): 51292 * platform/mac/FileChooserMac.mm: 51293 (WebCore::FileChooser::FileChooser): 51294 * platform/mac/PopupMenuMac.mm: 51295 (WebCore::PopupMenu::PopupMenu): 51296 * platform/mac/SharedBufferMac.mm: 51297 (WebCore::SharedBuffer::SharedBuffer): 51298 * platform/network/FormData.cpp: 51299 (WebCore::FormData::FormData): 51300 * platform/network/FormData.h: 51301 (WebCore::FormData::FormData): 51302 * platform/network/ResourceHandle.cpp: 51303 (WebCore::ResourceHandle::ResourceHandle): 51304 * platform/text/CString.h: 51305 (WebCore::CStringBuffer::CStringBuffer): 51306 * platform/text/RegularExpression.cpp: 51307 (WebCore::RegularExpression::Private::Private): 51308 * rendering/RenderStyle.cpp: 51309 (WebCore::StyleSurroundData::StyleSurroundData): 51310 (WebCore::StyleBoxData::StyleBoxData): 51311 (WebCore::StyleVisualData::StyleVisualData): 51312 (WebCore::StyleBackgroundData::StyleBackgroundData): 51313 (WebCore::StyleMarqueeData::StyleMarqueeData): 51314 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData): 51315 (WebCore::StyleMultiColData::StyleMultiColData): 51316 (WebCore::StyleTransformData::StyleTransformData): 51317 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 51318 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 51319 (WebCore::StyleInheritedData::StyleInheritedData): 51320 * rendering/RenderStyle.h: 51321 (WebCore::TransformOperation::TransformOperation): 51322 (WebCore::CursorList::CursorList): 51323 * rendering/SVGCharacterLayoutInfo.h: 51324 (WebCore::SVGCharOnPath::SVGCharOnPath): 51325 * rendering/SVGRenderStyle.cpp: 51326 (WebCore::SVGRenderStyle::SVGRenderStyle): 51327 * rendering/SVGRenderStyle.h: 51328 (WebCore::SVGRenderStyle::SVGRenderStyle): 51329 * rendering/SVGRenderStyleDefs.cpp: 51330 (StyleFillData::StyleFillData): 51331 (StyleStrokeData::StyleStrokeData): 51332 (StyleStopData::StyleStopData): 51333 (StyleTextData::StyleTextData): 51334 (StyleClipData::StyleClipData): 51335 (StyleMaskData::StyleMaskData): 51336 (StyleMarkerData::StyleMarkerData): 51337 (StyleMiscData::StyleMiscData): 51338 * storage/SQLResultSetRowList.h: 51339 (WebCore::SQLResultSetRowList::SQLResultSetRowList): 51340 * svg/SVGAngle.cpp: 51341 (WebCore::SVGAngle::SVGAngle): 51342 * svg/SVGAnimatedTemplate.h: 51343 (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate): 51344 * svg/SVGElementInstanceList.cpp: 51345 (WebCore::SVGElementInstanceList::SVGElementInstanceList): 51346 * svg/SVGList.h: 51347 (WebCore::SVGList::SVGList): 51348 (WebCore::SVGPODListItem::SVGPODListItem): 51349 * svg/SVGPathSeg.h: 51350 (WebCore::SVGPathSeg::SVGPathSeg): 51351 * svg/SVGPreserveAspectRatio.cpp: 51352 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio): 51353 * svg/SVGRenderingIntent.h: 51354 (WebCore::SVGRenderingIntent::SVGRenderingIntent): 51355 * svg/SVGUnitTypes.h: 51356 (WebCore::SVGUnitTypes::SVGUnitTypes): 51357 * svg/graphics/SVGPaintServerGradient.h: 51358 (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache): 51359 * svg/graphics/SVGResource.cpp: 51360 (WebCore::SVGResource::SVGResource): 51361 * xml/DOMParser.h: 51362 (WebCore::DOMParser::DOMParser): 51363 * xml/XMLHttpRequest.cpp: 51364 (WebCore::XMLHttpRequest::XMLHttpRequest): 51365 * xml/XMLSerializer.h: 51366 (WebCore::XMLSerializer::XMLSerializer): 51367 * xml/XPathEvaluator.h: 51368 (WebCore::XPathEvaluator::XPathEvaluator): 51369 * xml/XPathExpression.h: 51370 (WebCore::XPathExpression::XPathExpression): 51371 * xml/XPathNSResolver.h: 51372 (WebCore::XPathNSResolver::XPathNSResolver): 51373 * xml/XPathResult.cpp: 51374 (WebCore::XPathResult::XPathResult): 51375 * xml/XPathValue.h: 51376 (WebCore::XPath::ValueData::ValueData): 51377 * xml/XSLTProcessor.h: 51378 (WebCore::XSLTProcessor::XSLTProcessor): 51379 51380 2008-02-09 Kevin Ollivier <kevino (a] theolliviers.com> 51381 51382 Reviewed by Eric Seidel. 51383 51384 Calling select() when all the file descriptors are NULL 51385 stops the file download on Windows. As a result, do not 51386 call select() when there are no valid descriptors. 51387 51388 http://bugs.webkit.org/show_bug.cgi?id=17178 51389 51390 * platform/network/curl/ResourceHandleManager.cpp: 51391 (WebCore::ResourceHandleManager::downloadTimerCallback): 51392 51393 2008-02-09 Dan Bernstein <mitz (a] apple.com> 51394 51395 Reviewed by Sam Weinig. 51396 51397 - fix http://bugs.webkit.org/show_bug.cgi?id=17259 51398 Element::recalcStyle() needlessly null-checks the result of styleForElement() 51399 51400 * dom/Element.cpp: 51401 (WebCore::Element::recalcStyle): Removed unneeded null checks. 51402 styleForElement() can never return null. 51403 51404 2008-02-09 David Hyatt <hyatt (a] apple.com> 51405 51406 Fix for bug 17254, nth-* selectors do not work with negative coefficients. 51407 51408 Reviewed by Mitz. 51409 51410 fast/css/negative-nth-child.html 51411 51412 * css/CSSStyleSelector.cpp: 51413 (WebCore::parseNth): 51414 51415 2008-02-09 David Hyatt <hyatt (a] apple.com> 51416 51417 Fix for bug 17203, high CPU usage loading HTML5 spec. This patch significantly improves the performance 51418 of CSS3 selectors. 51419 51420 (1) Split the notion of being affected by positional rules into "forward" and "backward." The "forward" 51421 selectors do not need to re-resolve during parsing, since children are appended on the end. Only the 51422 "backward" selectors like last-child or nth-last-child have to re-resolve when a close tag is encountered. 51423 51424 (2) Extend childrenChanged to specify whether the children were changed by the parser or not. This allows 51425 Element::childrenChanged to know when the parser is adding children so that it can ignore those adds when 51426 possible. 51427 51428 (3) Make sure all Elements now know whether or not their children are currently parsing. Backwards selectors 51429 like last-child will always return false when children are still being parsed. When an Element finishes 51430 parsing its children, finishParsingChildren() gets called and will make sure the children re-resolve properly. 51431 51432 (4) Added a beginParsingChildren method and renamed finishParsing to finishedParsingChildren. 51433 51434 (5) Eliminated one-off hacks that did the same thing in HTMLObjectElement and HTMLAppletElement. 51435 51436 (6) Patched many incorrect implementations of finishedParsingChildren that did not properly call into their 51437 base class (mostly new SVG elements that got added for SVG fonts around the time this became a requirement). 51438 51439 Reviewed by Eric 51440 51441 * css/CSSStyleSelector.cpp: 51442 (WebCore::CSSStyleSelector::checkSelector): 51443 (WebCore::CSSStyleSelector::checkOneSelector): 51444 * dom/Attr.cpp: 51445 (WebCore::Attr::childrenChanged): 51446 * dom/Attr.h: 51447 * dom/ContainerNode.cpp: 51448 (WebCore::ContainerNode::addChild): 51449 * dom/Document.cpp: 51450 (WebCore::Document::childrenChanged): 51451 * dom/Document.h: 51452 * dom/Element.cpp: 51453 (WebCore::Element::Element): 51454 (WebCore::Element::recalcStyle): 51455 (WebCore::checkFirstChildRules): 51456 (WebCore::checkLastChildRules): 51457 (WebCore::checkEmptyRules): 51458 (WebCore::checkStyleRules): 51459 (WebCore::Element::childrenChanged): 51460 (WebCore::Element::finishParsingChildren): 51461 * dom/Element.h: 51462 (WebCore::Element::finishedParsingChildren): 51463 (WebCore::Element::beginParsingChildren): 51464 * dom/Node.cpp: 51465 * dom/Node.h: 51466 (WebCore::Node::finishParsingChildren): 51467 (WebCore::Node::beginParsingChildren): 51468 (WebCore::Node::childrenChanged): 51469 * dom/StyledElement.cpp: 51470 (WebCore::StyledElement::StyledElement): 51471 * dom/StyledElement.h: 51472 * dom/XMLTokenizer.cpp: 51473 (WebCore::XMLTokenizer::startElementNs): 51474 (WebCore::XMLTokenizer::endElementNs): 51475 * html/HTMLAppletElement.cpp: 51476 (WebCore::HTMLAppletElement::HTMLAppletElement): 51477 (WebCore::HTMLAppletElement::finishParsingChildren): 51478 * html/HTMLAppletElement.h: 51479 * html/HTMLElementFactory.cpp: 51480 (WebCore::objectConstructor): 51481 * html/HTMLGenericFormElement.cpp: 51482 (WebCore::HTMLFormControlElementWithState::finishParsingChildren): 51483 * html/HTMLGenericFormElement.h: 51484 * html/HTMLObjectElement.cpp: 51485 (WebCore::HTMLObjectElement::HTMLObjectElement): 51486 (WebCore::HTMLObjectElement::finishParsingChildren): 51487 (WebCore::HTMLObjectElement::childrenChanged): 51488 * html/HTMLObjectElement.h: 51489 * html/HTMLOptGroupElement.cpp: 51490 (WebCore::HTMLOptGroupElement::childrenChanged): 51491 * html/HTMLOptGroupElement.h: 51492 * html/HTMLOptionElement.cpp: 51493 (WebCore::HTMLOptionElement::childrenChanged): 51494 * html/HTMLOptionElement.h: 51495 * html/HTMLParser.cpp: 51496 (WebCore::HTMLParser::insertNode): 51497 (WebCore::HTMLParser::pushBlock): 51498 (WebCore::HTMLParser::popOneBlockCommon): 51499 * html/HTMLScriptElement.cpp: 51500 (WebCore::HTMLScriptElement::childrenChanged): 51501 (WebCore::HTMLScriptElement::finishParsingChildren): 51502 * html/HTMLScriptElement.h: 51503 * html/HTMLSelectElement.cpp: 51504 (WebCore::HTMLSelectElement::childrenChanged): 51505 * html/HTMLSelectElement.h: 51506 * html/HTMLStyleElement.cpp: 51507 (WebCore::HTMLStyleElement::finishParsingChildren): 51508 (WebCore::HTMLStyleElement::childrenChanged): 51509 * html/HTMLStyleElement.h: 51510 * html/HTMLTextAreaElement.cpp: 51511 (WebCore::HTMLTextAreaElement::childrenChanged): 51512 * html/HTMLTextAreaElement.h: 51513 * html/HTMLTitleElement.cpp: 51514 (WebCore::HTMLTitleElement::childrenChanged): 51515 * html/HTMLTitleElement.h: 51516 * rendering/RenderApplet.cpp: 51517 (WebCore::RenderApplet::createWidgetIfNecessary): 51518 * rendering/RenderPartObject.cpp: 51519 (WebCore::RenderPartObject::updateWidget): 51520 * rendering/RenderStyle.cpp: 51521 (WebCore::RenderStyle::RenderStyle): 51522 * rendering/RenderStyle.h: 51523 (WebCore::RenderStyle::childrenAffectedByForwardPositionalRules): 51524 (WebCore::RenderStyle::setChildrenAffectedByForwardPositionalRules): 51525 (WebCore::RenderStyle::childrenAffectedByBackwardPositionalRules): 51526 (WebCore::RenderStyle::setChildrenAffectedByBackwardPositionalRules): 51527 * svg/SVGAnimationElement.cpp: 51528 (WebCore::SVGAnimationElement::finishParsingChildren): 51529 * svg/SVGAnimationElement.h: 51530 * svg/SVGClipPathElement.cpp: 51531 (WebCore::SVGClipPathElement::childrenChanged): 51532 * svg/SVGClipPathElement.h: 51533 * svg/SVGDefinitionSrcElement.cpp: 51534 (WebCore::SVGDefinitionSrcElement::childrenChanged): 51535 * svg/SVGDefinitionSrcElement.h: 51536 * svg/SVGElement.cpp: 51537 (WebCore::SVGElement::finishParsingChildren): 51538 * svg/SVGElement.h: 51539 * svg/SVGFontFaceElement.cpp: 51540 (WebCore::SVGFontFaceElement::childrenChanged): 51541 * svg/SVGFontFaceElement.h: 51542 * svg/SVGFontFaceFormatElement.cpp: 51543 (WebCore::SVGFontFaceFormatElement::childrenChanged): 51544 * svg/SVGFontFaceFormatElement.h: 51545 * svg/SVGFontFaceSrcElement.cpp: 51546 (WebCore::SVGFontFaceSrcElement::childrenChanged): 51547 * svg/SVGFontFaceSrcElement.h: 51548 * svg/SVGFontFaceUriElement.cpp: 51549 (WebCore::SVGFontFaceUriElement::childrenChanged): 51550 * svg/SVGFontFaceUriElement.h: 51551 * svg/SVGGElement.cpp: 51552 (WebCore::SVGGElement::childrenChanged): 51553 * svg/SVGGElement.h: 51554 * svg/SVGGradientElement.cpp: 51555 (WebCore::SVGGradientElement::childrenChanged): 51556 * svg/SVGGradientElement.h: 51557 * svg/SVGMarkerElement.cpp: 51558 (WebCore::SVGMarkerElement::childrenChanged): 51559 * svg/SVGMarkerElement.h: 51560 * svg/SVGMaskElement.cpp: 51561 (WebCore::SVGMaskElement::childrenChanged): 51562 * svg/SVGMaskElement.h: 51563 * svg/SVGPatternElement.cpp: 51564 (WebCore::SVGPatternElement::childrenChanged): 51565 * svg/SVGPatternElement.h: 51566 * svg/SVGStyleElement.cpp: 51567 (WebCore::SVGStyleElement::finishParsingChildren): 51568 (WebCore::SVGStyleElement::childrenChanged): 51569 * svg/SVGStyleElement.h: 51570 * svg/SVGStyledElement.cpp: 51571 (WebCore::SVGStyledElement::childrenChanged): 51572 * svg/SVGStyledElement.h: 51573 * svg/SVGTitleElement.cpp: 51574 (WebCore::SVGTitleElement::childrenChanged): 51575 * svg/SVGTitleElement.h: 51576 * svg/SVGUseElement.cpp: 51577 (WebCore::SVGUseElement::childrenChanged): 51578 * svg/SVGUseElement.h: 51579 51580 2008-02-09 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 51581 51582 Unreviewed build fix 51583 51584 Somehow the removal of adjustSliderThumbSize(RenderObject*) sneaked 51585 into the patch. 51586 51587 * platform/qt/RenderThemeQt.h: 51588 51589 2008-02-09 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 51590 51591 Reviewed by Adele. 51592 51593 paintResizeControl is dead, remove the code. This painting 51594 is done by the RenderLayer. 51595 51596 * platform/qt/RenderThemeQt.cpp: 51597 * platform/qt/RenderThemeQt.h: 51598 * rendering/RenderThemeMac.h: 51599 * rendering/RenderThemeMac.mm: 51600 51601 2008-02-07 Kevin Ollivier <kevino (a] theolliviers.com> 51602 51603 Reviewed by Eric Seidel, Adam Roben. 51604 51605 MSVC7 fixes. 51606 http://bugs.webkit.org/show_bug.cgi?id=17211 51607 51608 * platform/Threading.h: 51609 - On MSVC7, when the Interlocked* functions are used, the ref count gets out of sync. 51610 (MSVC8 seems not to have this problem.) Use the old implementation which works correctly. 51611 * platform/win/SharedTimerWin.cpp: 51612 - USER_TIMER_MINIMUM/MAXIMUM aren't defined in winuser.h for the MSVC 2003 Platform SDK 51613 so define them if they are not already defined. 51614 51615 2008-02-08 Brent Fulgham <bfulgham (a] gmail.com> 51616 51617 Reviewed by Adam Roben. 51618 51619 Bug 17226: Fix Windows (Cairo) build of image-decoders 51620 http://bugs.webkit.org/show_bug.cgi?id=17226 51621 51622 * platform/image-decoders/gif/GIFImageDecoder.cpp: 51623 * platform/image-decoders/png/PNGImageDecoder.cpp: 51624 51625 2008-02-08 Timothy Hatcher <timothy (a] apple.com> 51626 51627 Reviewed by Brady Eidson. 51628 51629 <rdar://problem/5640896> Removing database then trying 51630 to recreate it causes trouble 51631 51632 Added open Database support to DatabaseTracker. So any Database that 51633 is deleted will be marked as deleted and will fail to open any transaction 51634 or execute any new SQL queries. 51635 51636 * storage/Database.cpp: 51637 (WebCore::Database::Database): Call DatabaseTracker::addOpenDatabase. 51638 (WebCore::Database::~Database): Call DatabaseTracker::removeOpenDatabase. 51639 (WebCore::Database::markAsDeleted): Set the m_deleted flag. 51640 (WebCore::Database::version): Return a null String if m_deleted is true. 51641 * storage/Database.h: 51642 (WebCore::Database::deleted): Return m_deleted. 51643 * storage/DatabaseTracker.cpp: 51644 (WebCore::DatabaseTracker::addOpenDatabase): Add the Database to a map of origins and names. 51645 (WebCore::DatabaseTracker::removeOpenDatabase): Remove the Database from the map. 51646 (WebCore::DatabaseTracker::deleteDatabaseFile): Call markAsDeleted on all the open Databases 51647 matching the origin/name. 51648 * storage/DatabaseTracker.h: 51649 * storage/SQLStatement.cpp: 51650 (WebCore::SQLStatement::setDatabaseDeletedError): Set the error about the user deleting the database. 51651 * storage/SQLStatement.h: 51652 * storage/SQLTransaction.cpp: 51653 (WebCore::SQLTransaction::executeSQL): If the Database is deleted, call setDatabaseDeletedError. 51654 (WebCore::SQLTransaction::openTransactionAndPreflight): Set the error about the user deleting the database 51655 if the Database was marked as deleted. 51656 51657 2008-02-08 Darin Adler <darin (a] apple.com> 51658 51659 Reviewed by Eric. 51660 51661 - fix http://bugs.webkit.org/show_bug.cgi?id=15003 51662 Function.prototype.constructor should not be DontDelete/ReadOnly (Acid3 bug) 51663 51664 Test: fast/js/constructor-attributes.html 51665 51666 * bindings/scripts/CodeGeneratorJS.pm: Remove unwanted attributes from "constructor". 51667 51668 2008-02-08 Anders Carlsson <andersca (a] apple.com> 51669 51670 Reviewed by Mitz. 51671 51672 <rdar://problem/5650446> 51673 http://bugs.webkit.org/show_bug.cgi?id=16102 51674 Crash in FrameLoader::stopLoadingSubframes() on IMDB page 51675 51676 Store the child frame in a RefPtr to prevent it from being deleted when the 51677 frame tree changes while calling stopAllLoaders(). 51678 51679 * loader/FrameLoader.cpp: 51680 (WebCore::FrameLoader::stopLoadingSubframes): 51681 51682 2008-02-08 Kevin Ollivier <kevino (a] theolliviers.com> 51683 51684 wx port build fix. Add time.h to define time_t. 51685 51686 * platform/FileSystem.h: 51687 51688 2008-02-08 Alp Toker <alp (a] atoker.com> 51689 51690 Reviewed by Adam Roben. 51691 51692 Avoid null-dereference crasher noticed in the GTK+ port and also 51693 affecting the Win debug build. 51694 51695 Covered by existing tests. 51696 51697 * dom/Document.cpp: 51698 (WebCore::Document::userStyleSheet): 51699 51700 2008-02-08 Anders Carlsson <andersca (a] apple.com> 51701 51702 Reviewed by Adam. 51703 51704 <rdar://problem/5724188> 51705 REGRESSION: PLT 0.7% slower due to 29926 (change Text::createWithLengthLimit to take a UChar pointer) 51706 51707 Revert r29926 which caused the regression. 51708 51709 * dom/Text.cpp: 51710 (WebCore::Text::createWithLengthLimit): 51711 * dom/Text.h: 51712 * html/HTMLParser.cpp: 51713 (WebCore::HTMLParser::parseToken): 51714 * loader/TextDocument.cpp: 51715 (WebCore::TextTokenizer::write): 51716 51717 2008-02-08 Sam Weinig <sam (a] webkit.org> 51718 51719 Reviewed by Hyatt. 51720 51721 Fix for <rdar://problem/5732491> 51722 http://bugs.webkit.org/show_bug.cgi?id=17213 51723 The querySelectorAll method on an element node does not search only the element's descendants 51724 51725 Test: fast/dom/SelectorAPI/elementRoot.html 51726 51727 * dom/Node.cpp: 51728 (WebCore::Node::querySelector): Make sure to stay within the root node when traversing the tree. 51729 * dom/SelectorNodeList.cpp: 51730 (WebCore::SelectorNodeList::SelectorNodeList): ditto. 51731 51732 51733 51734 2008-02-08 David Hyatt <hyatt (a] apple.com> 51735 51736 Fix for bug 16798, button should default to type=submit. 51737 51738 Reviewed by darin 51739 51740 * html/HTMLButtonElement.cpp: 51741 (WebCore::HTMLButtonElement::type): 51742 (WebCore::HTMLButtonElement::parseMappedAttribute): 51743 51744 2008-02-08 Rodney Dawes <dobey (a] wayofthemonkey.com> 51745 51746 Reviewed by Jon Honeycutt. 51747 51748 Redefine some platform-specific types as cross-platform types 51749 Add pathGetFileName method to get the filename from a path string 51750 Add unloadModule method to unload a loadable module from the process 51751 Implement new methods for GTK+ and Windows 51752 Implement missing homeDirectoryPath method for GTK+ 51753 Add stub methods for new and missing methods for Wx and Qt 51754 51755 * platform/FileSystem.h: 51756 * platform/gtk/FileSystemGtk.cpp: 51757 * platform/qt/FileSystemQt.cpp: 51758 * platform/win/FileSystemWin.cpp: 51759 * platform/wx/FileSystemWx.cpp: 51760 51761 2008-02-08 Adam Roben <aroben (a] apple.com> 51762 51763 Windows build fix after r30088 51764 51765 * bindings/scripts/CodeGeneratorCOM.pm: Touch this to force the COM 51766 bindings to rebuild. 51767 51768 2008-02-08 Pierre-Luc Beaudoin <pierre-luc.beaudoin (a] collabora.co.uk> 51769 51770 Reviewed by Alp Toker. 51771 51772 http://bugs.webkit.org/show_bug.cgi?id=17009 51773 [Gtk] Webkit strips accents from some dead-key combinations 51774 51775 KeyEvents have to go through the gtk input method. 51776 51777 Also implement the isKeypad check and make disambiguateKeyDownEvent 51778 behave more like other ports. 51779 51780 * platform/PlatformKeyboardEvent.h: 51781 * platform/gtk/KeyEventGtk.cpp: 51782 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 51783 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 51784 (WebCore::PlatformKeyboardEvent::gdkEventKey): 51785 51786 2008-02-08 Darin Adler <darin (a] apple.com> 51787 51788 Reviewed by Eric. 51789 51790 - fix http://bugs.webkit.org/show_bug.cgi?id=3492 51791 TreeWalker implementation needs to be fixed (affects Acid3) 51792 - fix http://bugs.webkit.org/show_bug.cgi?id=4714 51793 NodeIterator does not handle exceptions from the filter function (affects Acid3) 51794 - fix http://bugs.webkit.org/show_bug.cgi?id=4716 51795 NodeIterator will crash if the filter function removes the current node from the document 51796 51797 Test: traversal/exception-forwarding.html 51798 51799 This turned into a near-rewrite of NodeIterator and TreeWalker. 51800 51801 * bindings/js/JSNodeFilterCondition.h: 51802 * bindings/js/JSNodeFilterCondition.cpp: 51803 (WebCore::takeException): Added. 51804 (WebCore::JSNodeFilterCondition::acceptNode): Added an out parameter to return 51805 a JavaScript exception. 51806 51807 * bindings/js/JSNodeFilterCustom.cpp: 51808 (WebCore::JSNodeFilter::acceptNode): Wrote a custom binding for this that raises 51809 a JavaScript exception if the out parameter is set. 51810 51811 * bindings/js/JSNodeIteratorCustom.cpp: 51812 (WebCore::JSNodeIterator::nextNode): Wrote a custom binding for this that raises 51813 a JavaScript exception if the out parameter is set. 51814 (WebCore::JSNodeIterator::previousNode): Ditto. 51815 51816 * bindings/js/JSTreeWalkerCustom.cpp: 51817 (WebCore::JSTreeWalker::parentNode): Wrote a custom binding for this that raises 51818 a JavaScript exception if the out parameter is set. 51819 (WebCore::JSTreeWalker::firstChild): Ditto. 51820 (WebCore::JSTreeWalker::lastChild): Ditto. 51821 (WebCore::JSTreeWalker::nextSibling): Ditto. 51822 (WebCore::JSTreeWalker::previousSibling): Ditto. 51823 (WebCore::JSTreeWalker::previousNode): Ditto. 51824 (WebCore::JSTreeWalker::nextNode): Ditto. 51825 51826 * bindings/objc/DOM.mm: 51827 (WebCore::ObjCNodeFilterCondition::acceptNode): Updated to include new exception 51828 out parameter. 51829 (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): 51830 Use RefPtr to make object lifetimes clearer. 51831 (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]): 51832 Ditto. 51833 51834 * bindings/scripts/CodeGeneratorJS.pm: Added include of NodeFilter.h for 51835 JSDocument.cpp. 51836 51837 * dom/Document.h: 51838 * dom/Document.cpp: 51839 (WebCore::Document::createNodeIterator): Changed to use PassRefPtr. 51840 (WebCore::Document::createTreeWalker): Ditto. 51841 51842 * dom/NodeFilter.h: 51843 * dom/NodeFilter.cpp: 51844 (WebCore::NodeFilter::NodeFilter): Changed to use PassRefPtr. 51845 (WebCore::NodeFilter::acceptNode): Added an out parameter to return 51846 a JavaScript exception. 51847 * dom/NodeFilter.idl: Custom binding for acceptNode. 51848 51849 * dom/NodeFilterCondition.h: 51850 * dom/NodeFilterCondition.cpp: 51851 (WebCore::NodeFilterCondition::acceptNode): Added an out parameter to return 51852 a JavaScript exception. 51853 51854 * dom/NodeIterator.cpp: 51855 (WebCore::NodeIterator::NodeIterator): Changed to use PassRefPtr more. 51856 Eliminated m_doc, using the root node instead, and unnecessary check for 51857 null -- rootNode must be non-null and all nodes have a non-null document. 51858 (WebCore::NodeIterator::~NodeIterator): Changed to get document from root. 51859 (WebCore::NodeIterator::nextNode): Rewrote to use a RefPtr since the 51860 acceptNode function could do anything, including removing the last 51861 reference to the current node. Also folded findNextNode into this function 51862 since it's the only one that needs to call it. 51863 (WebCore::NodeIterator::previousNode): Same thing, but the other direction. 51864 (WebCore::NodeIterator::detach): Changed to use the root node as the indication 51865 that we're detached rather than a separate boolean. 51866 (WebCore::NodeIterator::notifyBeforeNodeRemoval): Removed some unnneeded 51867 checks. Removed incorrect use of findNextNode/findPreviousNode -- those 51868 functions call acceptNode and the DOM standard is quite clear that these 51869 functions do not take that into account, allowing the current node to become 51870 one that's not accepted. 51871 51872 * dom/NodeIterator.h: Changed constructor to use PassRefPtr more. Changed 51873 nextNode and previousNode to have an out parameter with a JavaScript exception. 51874 Removed helper functions setReferenceNode, setPointerBeforeReferenceNode, 51875 detached, setDetached, document, findNextNode, and findPreviousNode. All were 51876 unnecessary. Removed data member m_doc which was just rootNode()->document(). 51877 51878 * dom/NodeIterator.idl: Custom binding for nextNode and previousNode. 51879 51880 * dom/Traversal.cpp: 51881 (WebCore::Traversal::Traversal): Use PassRefPtr more. 51882 (WebCore::Traversal::acceptNode): Added out parameter for JavaScript exception. 51883 Also rearranged the function a little bit for clarity. 51884 51885 * dom/Traversal.h: Changed acceptNode to have an out parameter with a JavaScript 51886 exception and made it protected, since it's only for use by the derived classes. 51887 51888 * dom/TreeWalker.cpp: 51889 (WebCore::TreeWalker::TreeWalker): Updated to use PassRefPtr. 51890 (WebCore::TreeWalker::setCurrentNode): Updated to use PassRefPtr and deleted 51891 the overloaded version since it's not needed. 51892 (WebCore::TreeWalker::parentNode): Rewrote to propagate the exception and also 51893 to implement rules about when to check things like whether we're in the tree. 51894 The previous fix where we called isDescendantOf was not entirely correct, because 51895 the specification allows you to walk outside the tree if you get there somehow. 51896 What it doesn't allow is walking outside the tree from inside. The new 51897 implementation handles this correctly. 51898 (WebCore::TreeWalker::firstChild): Ditto. 51899 (WebCore::TreeWalker::lastChild): Ditto. 51900 (WebCore::TreeWalker::previousSibling): Ditto. 51901 (WebCore::TreeWalker::nextSibling): Ditto. 51902 (WebCore::TreeWalker::previousNode): Ditto. Because of the need to check the 51903 acceptNode function on parents, this can't use traversePreviousNode (more's the 51904 pity, because it's a bit complicated). 51905 (WebCore::TreeWalker::nextNode): Ditto. 51906 51907 * dom/TreeWalker.h: Changed constructor and setCurrentNode to use PassRefPtr 51908 more. Changed the navigation functions to have an out parameter with a JavaScript 51909 exception. Removed helper functions setCurrentNode and ancestorRejected. 51910 51911 * dom/TreeWalker.idl: Custom binding for navigation functions. 51912 51913 2008-02-08 Eric Seidel <eric (a] webkit.org> 51914 51915 Reviewed by darin. 51916 51917 Add support for Text.wholeText and Text.replaceWholeText 51918 http://bugs.webkit.org/show_bug.cgi?id=17125 51919 51920 Test EntityReferences to make sure they're always treated as read-only 51921 In doing so I discovered a bug in document.adoptNode(readonlyNode) (and fixed it) 51922 51923 * dom/Document.cpp: 51924 (WebCore::Document::adoptNode): throw NO_MODIFICATION_ALLOWED_ERR when passed a readonly node 51925 * dom/Node.cpp: 51926 * dom/Node.cpp: 51927 (WebCore::Node::textContent): 51928 * dom/Text.cpp: 51929 (WebCore::earliestLogicallyAdjacentTextNode): 51930 (WebCore::latestLogicallyAdjacentTextNode): 51931 (WebCore::Text::wholeText): 51932 (WebCore::Text::replaceWholeText): 51933 * dom/Text.h: 51934 * dom/Text.idl: 51935 51936 2008-02-06 Kimmo Kinnunen <kimmok (a] iki.fi> 51937 51938 Reviewed by Tim Hatcher. 51939 51940 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17191 51941 HTML5: Client-side database queries should return values of type number 51942 Test: storage/sql-data-types.html 51943 51944 Make the DB queries return a value as a number if it was inserted 51945 as a number to the database. 51946 * platform/sql/SQLiteStatement.cpp: 51947 (WebCore::SQLiteStatement::getColumnValue): new member function to return SQLValues 51948 * platform/sql/SQLiteStatement.h: 51949 * storage/SQLStatement.cpp: 51950 (WebCore::SQLStatement::execute): use getColumnValue instead of getColumnText 51951 51952 2008-02-07 Ada Chan <adachan (a] apple.com> 51953 51954 <rdar://problem/5292433> certificate authentication support broken in Safari 3.0 51955 Added mechanism to communicate client certificate info back to CFNetwork. 51956 51957 Reviewed by Adam. 51958 51959 * platform/network/ResourceHandle.h: 51960 * platform/network/cf/ResourceHandleCFNet.cpp: 51961 (WebCore::clientCerts): Keep a mapping of hosts to client certificates. 51962 (WebCore::makeFinalRequest): If we have a client certificate for the host, pass it 51963 to CFNetwork by setting it in the SSL properties. 51964 (WebCore::ResourceHandle::setClientCertificate): Map client certificate to the host. 51965 51966 2008-02-07 Adam Roben <aroben (a] apple.com> 51967 51968 Qt build fix 51969 51970 * platform/SharedBuffer.cpp: Removed a stub implementation of 51971 createWithContentsOfFile, now that each platform has its own stub. 51972 51973 2008-02-07 Adam Roben <aroben (a] apple.com> 51974 51975 Fix Bug 17138: REGRESSION: Node highlight not updated properly 51976 51977 <http://bugs.webkit.org/show_bug.cgi?id=17138> 51978 <rdar://problem/5719869> 51979 51980 Reviewed by Darin. 51981 51982 No test possible. 51983 51984 * page/InspectorController.cpp: 51985 (WebCore::InspectorController::drawNodeHighlight): Update the 51986 overlayRect after scrolling to make sure that we translate the context 51987 by the correct amount. 51988 51989 2008-02-07 Adam Roben <aroben (a] apple.com> 51990 51991 Qt and GTK+ build fixes 51992 51993 * platform/gtk/FileSystemGtk.cpp: Added a missing #include. 51994 * platform/qt/FileSystemQt.cpp: Ditto. 51995 51996 2008-02-07 Adam Roben <aroben (a] apple.com> 51997 51998 Some cleanup of Mac-only user stylesheet code 51999 52000 I moved UserStyleSheetLoader out of Frame.cpp into its own files, and 52001 moved some Mac-only Frame methods to FrameMac.mm. 52002 52003 Reviewed by Darin. 52004 52005 * WebCore.xcodeproj/project.pbxproj: Added new files to project. 52006 * loader/mac/UserStyleSheetLoader.cpp: Added. 52007 (UserStyleSheetLoader::UserStyleSheetLoader): 52008 (UserStyleSheetLoader::~UserStyleSheetLoader): 52009 * loader/mac/UserStyleSheetLoader.h: Added. 52010 * page/Frame.cpp: Removed setUserStyleSheet[Location] 52011 * page/mac/FrameMac.mm: 52012 (WebCore::Frame::setUserStyleSheetLocation): Moved here from 52013 Frame.cpp. 52014 (WebCore::Frame::setUserStyleSheet): Ditto. 52015 52016 2008-02-07 Adam Roben <aroben (a] apple.com> 52017 52018 Fix <rdar://5555260> GMail never loads when a user stylesheet is 52019 specified 52020 52021 The fix in r29841 did not guarantee that the user stylesheet would not 52022 still be loading by the time GMail called document.write, and so was 52023 not a complete fix. 52024 52025 This change reworks the user stylesheet loading mechanism on non-Mac 52026 platforms to load the stylesheet synchronously from disk, and then 52027 keeps it in memory. This obsoletes the issue of what our behavior 52028 should be before the user stylesheet has loaded and what should happen 52029 when it finishes loading, as the user stylesheet will always be 52030 available when the Document first asks for it. Note, however, that 52031 this removes the ability to specify a non-file: URL for the user 52032 stylesheet. This change was not made for the Mac platform because it's 52033 possible that WebKit clients are relying on non-file: URLs for user 52034 stylesheets. It would also be nice to move back to an asynchronous 52035 loading model someday, but that is not currently possible since we 52036 don't have an asynchronous loading mechanism that is not tied to a 52037 particular Frame. 52038 52039 The responsibility of loading and storing the user stylesheet has 52040 moved from Frame to Page, since the user stylesheet URL is set on the 52041 Page-level Settings object. 52042 52043 Reviewed by Darin. 52044 52045 * dom/Document.cpp: 52046 (WebCore::Document::Document): Changed to call userStyleSheet(). 52047 (WebCore::Document::setUserStyleSheet): Made Mac-only. 52048 (WebCore::Document::userStyleSheet): Changed to call up to Page on 52049 non-Mac platforms. 52050 (WebCore::Document::recalcStyleSelector): Changed to call 52051 userStyleSheet(). 52052 * dom/Document.h: 52053 - Made setUserStyleSheet and the m_usersheet member Mac-only 52054 - Changed userStyleSheet to return a String instance instead of a 52055 String reference, since we now might return a new null String. 52056 * loader/FrameLoader.cpp: 52057 (WebCore::FrameLoader::begin): Made the call to 52058 Frame::setUserStyleSheetLocation Mac-only. 52059 * page/Frame.cpp: Made UserStyleSheetLoader and related code Mac-only. 52060 (WebCore::Frame::~Frame): Ditto. 52061 (WebCore::Frame::reapplyStyles): Made the call to 52062 setUserStyleSheet[Location] Mac-only. On non-Mac platforms the 52063 Document will pick up the new stylesheet in Document::reapplyStyles. 52064 (WebCore::FramePrivate::FramePrivate): Made m_userStyleSheetLoader 52065 Mac-only. 52066 * page/Frame.h: Made setUserStyleSheet[Location] Mac-only. 52067 * page/FramePrivate.h: Made m_userStyleSheetLoader Mac-only. 52068 * page/Page.cpp: 52069 (WebCore::Page::Page): Initialize new members. 52070 (WebCore::Page::userStyleSheetLocationChanged): Added. Does nothing on 52071 Mac. On non-Mac, resets all members relating to the user stylesheet so 52072 we'll know to load it again the next time it's asked for. 52073 (WebCore::Page::userStyleSheet): Added. Loads the user stylesheet if 52074 the user stylesheet location has changed since the last time we loaded 52075 it, or if the file has been modified since we last loaded it, then 52076 returns the contents of the user stylesheet as a String. 52077 * page/Page.h: Added new methods/members. 52078 * page/Settings.cpp: 52079 (WebCore::Settings::setUserStyleSheetLocation): Changed to call 52080 Page::userStyleSheetLocationChanged. 52081 * page/Settings.h: Changed userStyleSheetLocation to return the KURL 52082 by reference instead of making a copy. 52083 * platform/FileSystem.h: Added declaration for getFileModificationTime. 52084 * platform/KURL.h: Added declaration for fileSystemPath method. 52085 * platform/cf/KURLCFNet.cpp: 52086 (WebCore::KURL::fileSystemPath): Added. 52087 * platform/posix/FileSystemPOSIX.cpp: 52088 (WebCore::getFileModificationTime): Added. 52089 * platform/qt/KURLQt.cpp: 52090 (WebCore::KURL::fileSystemPath): Stubbed out. 52091 * platform/win/FileSystemWin.cpp: 52092 (WebCore::getFileModificationTime): Added. 52093 * platform/qt/FileSystemQt.cpp: Stubbed out getFileModificationTime. 52094 * platform/gtk/FileSystemGtk.cpp: Ditto. 52095 * platform/wx/FileSystemWx.cpp: Ditto. 52096 * platform/qt/TemporaryLinkStubs.cpp: Stubbed out 52097 SharedBuffer::createWithContentsOfFile. 52098 * platform/gtk/TemporaryLinkStubs.cpp: Ditto, along with 52099 KURL::fileSystemPath. 52100 * platform/wx/TemporaryLinkStubs.cpp: Ditto. 52101 52102 2008-02-07 Adam Roben <aroben (a] apple.com> 52103 52104 Clean up FileSystemWin.cpp 52105 52106 This cleanup also makes us call _wstat64 instead of _wstat32i64. The 52107 only difference between these two functions is that _wstat64 gives 52108 64-bit time values, while _wstat32i64 only gives 32-bit time values. 52109 52110 Reviewed by Darin. 52111 52112 All tests pass. 52113 52114 * platform/win/FileSystemWin.cpp: 52115 (WebCore::statFile): New static helper that wraps _wstat64. 52116 (WebCore::getFileSize): Changed to call statFile. 52117 (WebCore::fileExists): Ditto. 52118 52119 2008-02-07 Adam Roben <aroben (a] apple.com> 52120 52121 Rename fileSize to getFileSize 52122 52123 Rubberstamped by Darin. 52124 52125 * platform/FileSystem.h: 52126 * platform/gtk/FileSystemGtk.cpp: 52127 * platform/network/cf/FormDataStreamCFNet.cpp: 52128 (WebCore::setHTTPBody): 52129 * platform/network/curl/ResourceHandleManager.cpp: 52130 (WebCore::ResourceHandleManager::setupPOST): 52131 * platform/posix/FileSystemPOSIX.cpp: 52132 * platform/qt/FileSystemQt.cpp: 52133 * platform/win/FileSystemWin.cpp: 52134 * platform/wx/FileSystemWx.cpp: 52135 * storage/Database.cpp: 52136 (WebCore::Database::databaseSize): 52137 * storage/DatabaseTracker.cpp: 52138 (WebCore::DatabaseTracker::usageForDatabase): 52139 * storage/OriginUsageRecord.cpp: 52140 (WebCore::OriginUsageRecord::diskUsage): 52141 52142 2008-02-06 Adam Roben <aroben (a] apple.com> 52143 52144 Make KURL::isLocalFile treat the URL's protocol case-insensitively 52145 52146 Reviewed by Darin. 52147 52148 * platform/KURL.cpp: 52149 (WebCore::KURL::isLocalFile): Use equalIgnoringCase instead of ==. 52150 52151 2008-02-07 David Hyatt <hyatt (a] apple.com> 52152 52153 Fix for bug 6248, implement the nth-* CSS3 selectors. Patch based on original KHTML work from Allan Jensen 52154 and improved upon by Nick Shanks. 52155 52156 Reviewed by Eric 52157 52158 * css/CSSGrammar.y: 52159 * css/CSSParser.cpp: 52160 (WebCore::CSSParser::lex): 52161 * css/CSSSelector.cpp: 52162 (WebCore::CSSSelector::extractPseudoType): 52163 * css/CSSSelector.h: 52164 (WebCore::CSSSelector::): 52165 * css/CSSStyleSelector.cpp: 52166 (WebCore::parseNth): 52167 (WebCore::matchNth): 52168 (WebCore::CSSStyleSelector::checkOneSelector): 52169 * css/tokenizer.flex: 52170 * rendering/RenderStyle.cpp: 52171 (WebCore::RenderStyle::RenderStyle): 52172 * rendering/RenderStyle.h: 52173 (WebCore::RenderStyle::childIndex): 52174 (WebCore::RenderStyle::setChildIndex): 52175 52176 2008-02-07 Dan Bernstein <mitz (a] apple.com> 52177 52178 Reviewed by Dave Hyatt. 52179 52180 - fix <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice 52181 52182 Test: fast/block/float/relative-painted-twice.html 52183 52184 * rendering/RenderBlock.cpp: 52185 (WebCore::RenderBlock::addOverhangingFloats): Added another case where 52186 the child should not take over painting the float: when they do not have 52187 the same enclosing layer. In that case, the float is already being 52188 painted by one of its closer ancestors. 52189 52190 2008-02-07 Dan Bernstein <mitz (a] apple.com> 52191 52192 Reviewed by Darin Adler. 52193 52194 - fix http://bugs.webkit.org/show_bug.cgi?id=17194 52195 Changing text to bold changes font family 52196 52197 Test: platform/mac/fast/text/family-for-font-matched-by-name.html 52198 52199 * platform/mac/WebFontCache.mm: 52200 (+[WebFontCache internalFontWithFamily:traits:size:]): Changed to use 52201 the family of the font whose name matches the desired family if there 52202 is no exact family match. 52203 52204 2008-02-07 Beth Dakin <bdakin (a] apple.com> 52205 52206 Reviewed by Geoff. 52207 52208 Fix for <rdar://problem/5697882> Traffic or Street View button on 52209 Google Maps is sometimes not positioned correctly (17000) 52210 52211 On the Mac, timers fire in the order that they are registered. 52212 Geoff and I discovered that this is not necessarily true on 52213 Windows, and that turned out to be the cause of this intermittent 52214 layout problem at Google Maps. This patch adds a new member 52215 variable to Timer to remember the timer's insertion point into the 52216 heap. Now when comparing timers, if two timers were registered at 52217 the same time, their insertion orders are compared to determine 52218 which should fire first. This code actually never runs on Debug 52219 builds on the Mac; the system clock on the Mac is accurate enough 52220 that it knows that the two timers were not registered at *exactly* 52221 the same time. This is not the case on Windows. In theory, if we 52222 sped up Javascript enough on the Mac, this code would run and would 52223 prevent misrenderings such as the one found on Google Maps. 52224 52225 * platform/Timer.cpp: 52226 (WebCore::operator<): 52227 (WebCore::TimerBase::setNextFireTime): 52228 * platform/Timer.h: 52229 52230 2008-02-06 Justin Garcia <justin.garcia (a] apple.com> 52231 52232 Reviewed by Darin Adler. 52233 52234 <rdar://problem/5195056> Huge plain text pastes are slow 52235 52236 This was fixed in r27369 and then r29367 and r29667 caused performance to 52237 regress. 52238 52239 * editing/EditCommand.cpp: 52240 (WebCore::EditCommand::apply): Only updateLayout() for high level commands. 52241 (WebCore::EditCommand::unapply): Ditto. 52242 (WebCore::EditCommand::reapply): Ditto. 52243 * editing/Editor.cpp: 52244 (WebCore::Editor::appliedEditing): Added a note about shouldChangeSelection calls 52245 that shouldn't be made, a bug I filed as <rdar://problem/5729315>. 52246 (WebCore::Editor::unappliedEditing): Ditto. 52247 (WebCore::Editor::reappliedEditing): Ditto. 52248 * editing/SelectionController.cpp: 52249 (WebCore::SelectionController::nodeWillBeRemoved): Don't try to test the selection 52250 base and extent with the expensive isCandidate operation if the node that will 52251 be removed is in a fragment, since such a removal is guaranteed to have no effect 52252 on a selection. This is to speed up the paste operation, which does many removes from 52253 a fragment. 52254 52255 2008-02-06 Kevin Ollivier <kevino (a] theolliviers.com> 52256 52257 Reviewed by Darin Adler. 52258 52259 Rather than directly handing scroll wheel events, use 52260 PlatformWheelEvent to send them to WebCore first, so that 52261 mouse wheel scrolling info can be retrieved via JavaScript. 52262 52263 http://bugs.webkit.org/show_bug.cgi?id=17179 52264 52265 * platform/ScrollView.h: 52266 * platform/wx/MouseWheelEventWx.cpp: 52267 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 52268 * platform/wx/ScrollViewWx.cpp: 52269 (WebCore::ScrollView::ScrollViewPrivate::bindEvents): 52270 (WebCore::ScrollView::wheelEvent): 52271 (WebCore::ScrollView::maximumScroll): 52272 52273 2008-02-06 Mark Rowe <mrowe (a] apple.com> 52274 52275 Fix Windows builds. 52276 52277 * WebCore.vcproj/WebCore.vcproj: Unbreak the XML of the project file. 52278 52279 2008-02-06 Mark Rowe <mrowe (a] apple.com> 52280 52281 Mac build fix. Track rename that happened in r30056. 52282 52283 * platform/graphics/mac/GraphicsContextMac.mm: 52284 52285 2008-02-06 Brent Fulgham <bfulgham (a] gmail.com> 52286 52287 Reviewed by Adam Roben. 52288 52289 http://bugs.webkit.org/show_bug.cgi?id=16979 52290 Conditionalize CoreGraphics vs Cairo support in Windows port. 52291 52292 * WebCore.vcproj/WebCore.vcproj: 52293 * bridge/win/FrameCGWin.cpp: Copied from WebCore/bridge/win/FrameWin.cpp. 52294 (WebCore::imageFromSelection): 52295 * bridge/win/FrameCairoWin.cpp: Added. 52296 (WebCore::imageFromSelection): 52297 * bridge/win/FrameWin.cpp: 52298 (WebCore::computePageRectsForFrame): 52299 * platform/graphics/SimpleFontData.h: 52300 * platform/graphics/cairo/GraphicsContextCairo.cpp: 52301 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Copied from WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp. 52302 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 52303 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): 52304 (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer): 52305 (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer): 52306 * platform/graphics/cg/GraphicsContextCG.cpp: 52307 (WebCore::GraphicsContext::savePlatformState): 52308 (WebCore::GraphicsContext::restorePlatformState): 52309 * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed. 52310 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Copied from WebCore/platform/graphics/cg/GraphicsContextPlatformPrivate.h. 52311 * platform/graphics/win/FontCGWin.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp. 52312 (WebCore::Font::drawGlyphs): 52313 * platform/graphics/win/FontCairoWin.cpp: Added. 52314 (WebCore::Font::drawGlyphs): 52315 * platform/graphics/win/FontWin.cpp: 52316 * platform/graphics/win/GraphicsContextCGWin.cpp: Copied from WebCore/platform/graphics/win/GraphicsContextWin.cpp. 52317 (WebCore::CGContextWithHDC): 52318 (WebCore::GraphicsContext::inTransparencyLayer): 52319 (WebCore::GraphicsContext::getWindowsContext): 52320 (WebCore::GraphicsContext::releaseWindowsContext): 52321 (WebCore::GraphicsContextPlatformPrivate::scale): 52322 (WebCore::GraphicsContextPlatformPrivate::rotate): 52323 (WebCore::GraphicsContextPlatformPrivate::translate): 52324 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 52325 (WebCore::setCGStrokeColor): 52326 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 52327 * platform/graphics/win/GraphicsContextCairoWin.cpp: Added. 52328 (WebCore::GraphicsContext::GraphicsContext): 52329 (WebCore::GraphicsContext::getWindowsContext): 52330 (WebCore::GraphicsContext::inTransparencyLayer): 52331 (WebCore::GraphicsContext::releaseWindowsContext): 52332 (WebCore::GraphicsContext::concatCTM): 52333 * platform/graphics/win/GraphicsContextWin.cpp: 52334 * platform/graphics/win/ImageCGWin.cpp: Copied from WebCore/platform/graphics/win/ImageWin.cpp. 52335 (WebCore::BitmapImage::getHBITMAPOfSize): 52336 (WebCore::BitmapImage::drawFrameMatchingSourceSize): 52337 * platform/graphics/win/ImageCairoWin.cpp: Added. 52338 (WebCore::BitmapImage::getHBITMAPOfSize): 52339 (WebCore::BitmapImage::drawFrameMatchingSourceSize): 52340 * platform/graphics/win/ImageWin.cpp: 52341 * platform/graphics/win/SimpleFontDataCGWin.cpp: Copied from WebCore/platform/graphics/win/SimpleFontDataWin.cpp. 52342 (WebCore::scaleEmToUnits): 52343 (WebCore::SimpleFontData::platformInit): 52344 (WebCore::SimpleFontData::platformWidthForGlyph): 52345 * platform/graphics/win/SimpleFontDataCairoWin.cpp: Added. 52346 (WebCore::SimpleFontData::platformInit): 52347 (WebCore::SimpleFontData::platformDestroy): 52348 (WebCore::SimpleFontData::platformWidthForGlyph): 52349 * platform/graphics/win/SimpleFontDataWin.cpp: 52350 (WebCore::SimpleFontData::setShouldApplyMacAscentHack): 52351 (WebCore::SimpleFontData::shouldApplyMacAscentHack): 52352 * platform/win/DragImageCGWin.cpp: Copied from WebCore/platform/win/DragImageWin.cpp. 52353 (WebCore::scaleDragImage): 52354 (WebCore::createDragImageFromImage): 52355 * platform/win/DragImageCairoWin.cpp: Added. 52356 (WebCore::scaleDragImage): 52357 (WebCore::createDragImageFromImage): 52358 * platform/win/DragImageWin.cpp: 52359 52360 2008-02-06 Anders Carlsson <andersca (a] apple.com> 52361 52362 Reviewed by Darin. 52363 52364 Change httpBodyFromStream to take the request instead of the stream. 52365 52366 * platform/network/cf/FormDataStreamCFNet.cpp: 52367 (WebCore::httpBodyFromRequest): 52368 * platform/network/cf/FormDataStreamCFNet.h: 52369 * platform/network/cf/ResourceRequestCFNet.cpp: 52370 (WebCore::ResourceRequest::doUpdateResourceRequest): 52371 52372 2008-02-06 Kevin McCullough <kmccullough (a] apple.com> 52373 52374 Reviewed by Darin. 52375 52376 - Added manual tests for <rdar://problem/5556374> REGRESSION: cross-domain error when 52377 one URL uses an explicit port number and another doesn't 52378 52379 * manual-tests/Default-port-frame.html: Added. 52380 * manual-tests/resources/Default-port-frame-contents.html: Added. 52381 52382 2008-02-06 Oliver Hunt <oliver (a] apple.com> 52383 52384 Fix windows build 52385 52386 * WebCore.vcproj/build-generated-files.sh: 52387 52388 2008-02-06 Kevin McCullough <kmccullough (a] apple.com> 52389 52390 Rubberstamped by Darin. 52391 52392 <rdar://problem/5727708> REGRESSION (r29952): Can't send message from Yahoo Mail beta 52393 - Reverted the change that caused the regression. 52394 52395 * dom/Document.cpp: 52396 (WebCore::Document::createElement): 52397 (WebCore::Document::createElementNS): 52398 (WebCore::Document::getElementById): 52399 (WebCore::Document::parseQualifiedName): 52400 (WebCore::Document::createAttributeNS): 52401 * dom/Document.idl: 52402 52403 2008-02-06 Geoffrey Garen <ggaren (a] apple.com> 52404 52405 Reviewed by Oliver Hunt. 52406 52407 Fixed <rdar://problem/5728081> REGRESSION: Many leaks on buildbot 52408 52409 The problem was refCount underflow in NamedAttrMap. 52410 52411 Neither our regression tests nor the stress test have yet discovered 52412 another instance of this problem. 52413 52414 * dom/NamedAttrMap.cpp: 52415 (WebCore::NamedAttrMap::addAttribute): Changed to use PassRefPtr, 52416 for fast and correct refCount management. Also, change a rediculously 52417 slow malloc to a slightly less rediculously slow realloc. 52418 52419 * dom/NamedAttrMap.h: 52420 (WebCore::NamedAttrMap::insertAttribute): Changed to use PassRefPtr, 52421 for fast and correct refCount management. 52422 52423 * html/HTMLTokenizer.cpp: 52424 (WebCore::Token::addAttribute): Use a RefPtr, to guarantee that the 52425 object starts with a refCount of 1. 52426 52427 2008-02-06 Darin Adler <darin (a] apple.com> 52428 52429 Reviewed by Tim Hatcher. 52430 52431 - fix <rdar://problem/5723293> NULL-deref crash in PropertyMap::put opening web inspector 52432 with View Source window as target 52433 52434 * page/InspectorController.cpp: 52435 (WebCore::canPassNodeToJavaScript): Added. Returns false if the node is in a document with 52436 JavaScript disabled. 52437 (WebCore::InspectorController::inspect): Check canPassNodeToJavaScript and do nothing if 52438 it returns false. 52439 52440 2008-02-06 David Hyatt <hyatt (a] apple.com> 52441 52442 Fix for bug 16799, object elements should return absolute URLs from .data. 52443 52444 Reviewed by Mark Rowe 52445 52446 * dom/Document.cpp: 52447 (WebCore::Document::completeURL): 52448 * html/HTMLAnchorElement.cpp: 52449 (WebCore::HTMLAnchorElement::href): 52450 * html/HTMLObjectElement.cpp: 52451 (WebCore::HTMLObjectElement::data): 52452 52453 2008-02-05 Antti Koivisto <antti (a] apple.com> 52454 52455 Reviewed by Darin. 52456 52457 <rdar://problem/5726340> 52458 <video autoplay controls> left in unplayable state if navigated away, then back to, before video finished loading 52459 52460 When moving document in and out from the page cache: 52461 - Cancel incomplete load by deleting the media player. This guarantees everything is in consistent state. 52462 - Restart the load if it was aborted in the middle. 52463 52464 * html/HTMLMediaElement.cpp: 52465 (WebCore::HTMLMediaElement::~HTMLMediaElement): 52466 (WebCore::HTMLMediaElement::load): 52467 (WebCore::HTMLMediaElement::willSaveToCache): 52468 (WebCore::HTMLMediaElement::didRestoreFromCache): 52469 * html/HTMLMediaElement.h: 52470 (WebCore::HTMLMediaElement::player): 52471 52472 2008-02-06 Darin Adler <darin (a] apple.com> 52473 52474 Reviewed by Sam. 52475 52476 - replace calls to put to set up properties with calls to putDirect, to 52477 prepare for a future change where put won't take attributes any more, 52478 and for a slight performance boost 52479 52480 * bindings/js/JSAudioConstructor.cpp: 52481 (WebCore::JSAudioConstructor::JSAudioConstructor): Use putDirect instead of put. 52482 * bindings/js/JSEventTargetBase.h: 52483 (WebCore::JSEventTargetPrototype::self): Ditto. 52484 * bindings/js/JSHTMLOptionElementConstructor.cpp: 52485 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto. 52486 * bindings/js/JSSQLResultSetRowListCustom.cpp: 52487 (WebCore::JSSQLResultSetRowList::item): Ditto. 52488 52489 2008-02-06 Dan Bernstein <mitz (a] apple.com> 52490 52491 Reviewed by Darin Adler. 52492 52493 - fix http://bugs.webkit.org/show_bug.cgi?17093 52494 'border-color' does not animate to the value of 'color' when unspecified 52495 52496 Test: fast/css/transition-color-unspecified.html 52497 52498 * page/AnimationController.cpp: 52499 (WebCore::ImplicitAnimation::animate): Changed to use the value of the 52500 'color' property in the source or destination style as the source or 52501 destination value of properties whose inital value is defined to be the 52502 computed value of 'color'. 52503 52504 2008-02-06 Dan Bernstein <mitz (a] apple.com> 52505 52506 Build fix. 52507 52508 * svg/svgtags.in: 52509 52510 2008-02-05 Oliver Hunt <oliver (a] apple.com> 52511 52512 Build fix -- touch generate-bindings to trigger regeneration of bindings 52513 52514 * bindings/scripts/generate-bindings.pl: 52515 52516 2008-02-05 Oliver Hunt <oliver (a] apple.com> 52517 52518 RS=Eric. 52519 52520 Re-enable foreignObject by default as it is needed for a number of 52521 non-fO related SVG tests and none of the old known crashes occur 52522 anymore. 52523 52524 * Configurations/WebCore.xcconfig: 52525 * WebCore.vcproj/WebCore.vcproj: 52526 52527 2008-02-05 Sam Weinig <sam (a] webkit.org> 52528 52529 Reviewed by Anders Carlsson. 52530 52531 Fix for http://bugs.webkit.org/show_bug.cgi?id=8080 52532 NodeList (and other DOM lists) items are not enumeratable using for..in 52533 52534 - Match Firefox when enumerating DOM interfaces with indexGetters (support for 52535 the array bracket, nodeList[0], notation) by including all the items in the 52536 list before the attributes and methods of the interface. 52537 52538 Test: fast/dom/domListEnumeration.html 52539 52540 * ForwardingHeaders/kjs/PropertyNameArray.h: Added. 52541 * bindings/js/JSDOMWindowCustom.cpp: 52542 (WebCore::JSDOMWindow::customGetPropertyNames): Use the new custom method model. 52543 * bindings/js/JSHistoryCustom.cpp: 52544 (WebCore::JSHistory::customGetPropertyNames): ditto. 52545 * bindings/scripts/CodeGeneratorJS.pm: Instead of just adding a declaration of 52546 getProperyNames and implementing the method in the Custom.cpp, move to a the 52547 model used by generated getOwnPropertySlot() and put() where the custom code 52548 is written in a separate customGetPropertyNames which returns a bool indicating 52549 whether to call up to the base class. This enables adding the list indexes 52550 to the PropertyNameArray for interfaces with indexGetters automatically. 52551 52552 2008-02-05 Samuel Weinig <sam (a] webkit.org> 52553 52554 Reviewed by Darin Adler. 52555 52556 Fix for <rdar://problem/5726604> 52557 dom-checker: deleting properties of the window object cross-domain should not be allowed 52558 52559 Fix flaw found while testing with dom-checker testing tool (http://code.google.com/p/dom-checker/). 52560 52561 Test: http/tests/security/cross-frame-access-delete.html 52562 52563 * bindings/js/JSDOMWindowCustom.cpp: 52564 (WebCore::JSDOMWindow::deleteProperty): Override deleteProperty to not delete cross-domain. 52565 * bindings/js/JSHistoryCustom.cpp: 52566 (WebCore::JSHistory::deleteProperty): ditto. 52567 * bindings/js/JSLocation.cpp: 52568 (WebCore::JSLocation::deleteProperty): ditto. 52569 * bindings/js/JSLocation.h: 52570 52571 * bindings/scripts/CodeGeneratorJS.pm: Add deleteProperty declaration when CustomDeleteProperty is used. 52572 * page/DOMWindow.idl: Add CustomDeleteProperty extended attribute. 52573 * page/History.idl: ditto. 52574 52575 2008-02-05 Alp Toker <alp (a] atoker.com> 52576 52577 Rubber-stamped by Mark Rowe. 52578 52579 Fix a "missing sentinel in function call" warning by using NULL 52580 instead of 0. 52581 52582 * platform/gtk/RenderThemeGtk.cpp: 52583 (WebCore::RenderThemeGtk::caretBlinkFrequency): 52584 52585 2008-02-05 Nikolas Zimmermann <zimmermann (a] kde.org> 52586 52587 Reviewed by Oliver. 52588 52589 Fix dynamic updates of <circle> element's properties. 52590 52591 Added tests: svg/dynamic-updates/SVGCircleElement* 52592 52593 * svg/SVGCircleElement.cpp: 52594 (WebCore::SVGCircleElement::svgAttributeChanged): Mixed up cxAttr/xAttr etc. 52595 * svg/SVGCircleElement.h: 52596 52597 2008-02-05 Rodney Dawes <dobey (a] wayofthemonkey.com> 52598 52599 Wx build fix. Add WebCore/plugins to the include path. 52600 52601 * webcore-base.bkl: 52602 52603 2008-02-05 Mark Rowe <mrowe (a] apple.com> 52604 52605 Mac build fix. Update the Xcode project to follow a moved file, 52606 and track a rename in two files that were missed earlier. 52607 52608 * WebCore.xcodeproj/project.pbxproj: 52609 * page/mac/WebCoreFrameBridge.mm: 52610 (-[WebCoreFrameBridge canProvideDocumentSource]): 52611 * platform/mac/PlugInInfoStoreMac.mm: 52612 (WebCore::PluginInfoStore::pluginNameForMIMEType): 52613 52614 2008-02-05 Nikolas Zimmermann <zimmermann (a] kde.org> 52615 52616 Reviewed by Holger. 52617 52618 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17185 52619 Fix dynamic SVG DOM updates of <a> element's href property. 52620 52621 This commit also introduces a new SVG Tests framework: LayoutTests/svg/dynamic-updates 52622 Its purpose is to provide dynamic updating tests for each SVG class & property, aka. 52623 one test per property per class. As a first pass it's sufficient to add testcases for all 52624 SVG*Element classes, and their properties - and only common-used base-class properties. 52625 52626 For SVGAElement - for example - it makes most sense to test scripting its parent 52627 SVGURIReference object ('href' property) and its own property 'target'. 52628 52629 Adding tests to see - for example - if SVGAElement reacts on changes on ie. its parent 52630 SVGExternalResourcesRequired interface, should really be done in a second pass. 52631 52632 All tests within the new framework are supposed to be created using make-js-tests-wrappers. 52633 52634 Added test: svg/dynamic-updates/SVGAElement-dom-href-attr.js 52635 Added test: svg/dynamic-updates/SVGAElement-dom-target-attr.js 52636 Added test: svg/dynamic-updates/SVGAElement-svgdom-href-prop.js 52637 Added test: svg/dynamic-updates/SVGAElement-svgdom-target-prop.js 52638 52639 * svg/SVGAElement.cpp: 52640 (WebCore::SVGAElement::parseMappedAttribute): Move any setChanged() handling in svgAttributeChanged. 52641 (WebCore::SVGAElement::svgAttributeChanged): 52642 (WebCore::SVGAElement::defaultEventHandler): Use href() not getAttribute(hrefAttr) - otherwhise SVG DOM updates fail! 52643 * svg/SVGAElement.h: 52644 52645 2008-02-05 Justin Garcia <justin.garcia (a] apple.com> 52646 52647 Reviewed by Alexey Proskuryakov. 52648 52649 <rdar://problem/5685601> webkit-block-placeholder class on placeholders seems unnecessary (12317) 52650 52651 * editing/CompositeEditCommand.cpp: 52652 (WebCore::createBlockPlaceholderElement): The khtml-block-placeholder class was needed 52653 when the editing code actively looked for <br>s of that type in order to handle them 52654 specially. That is no longer the case. 52655 * editing/InsertParagraphSeparatorCommand.cpp: 52656 (WebCore::InsertParagraphSeparatorCommand::doApply): Fixed a bug where an extra block 52657 would be inserted when hitting return inside an editable root held open by a placeholder 52658 <br> or '\n'. Added test cases for the bug and for the special case code that was incorrectly 52659 triggered to cause the bug. 52660 52661 2008-02-05 Rodney Dawes <dobey (a] wayofthemonkey.com> 52662 52663 Reviewed by Anders Carlsson. 52664 52665 Part one of http://bugs.webkit.org/show_bug.cgi?id=16924. 52666 Shared PluginDatabase, PluginInfoStore and PluginPackage implementations. 52667 52668 Remove the Win suffix on several plugin-related classes that will 52669 soon be refactored to be more portable. 52670 52671 * WebCore.vcproj/WebCore.vcproj: 52672 * bindings/js/kjs_navigator.cpp: 52673 (KJS::PluginBase::cachePluginDataIfNecessary): 52674 * bindings/js/kjs_window.cpp: 52675 * bridge/win/FrameWin.cpp: 52676 (WebCore::Frame::createScriptInstanceForWidget): 52677 * dom/Clipboard.cpp: 52678 * dom/DOMImplementation.cpp: 52679 (WebCore::DOMImplementation::createDocument): 52680 * loader/FrameLoader.cpp: 52681 (WebCore::FrameLoader::shouldUsePlugin): 52682 * page/DragController.cpp: 52683 * platform/PlugInInfoStore.h: Removed. 52684 * platform/gtk/TemporaryLinkStubs.cpp: 52685 (PluginInfoStore::createPluginInfoForPluginAtIndex): 52686 (PluginInfoStore::pluginCount): 52687 (PluginInfoStore::pluginNameForMIMEType): 52688 (WebCore::PluginInfoStore::supportsMIMEType): 52689 * platform/qt/PlugInInfoStoreQt.cpp: 52690 (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex): 52691 (WebCore::PluginInfoStore::pluginCount): 52692 (WebCore::PluginInfoStore::pluginNameForMIMEType): 52693 (WebCore::PluginInfoStore::supportsMIMEType): 52694 * platform/qt/TemporaryLinkStubs.cpp: 52695 * platform/win/SharedTimerWin.cpp: 52696 (WebCore::TimerWindowWndProc): 52697 * platform/wx/TemporaryLinkStubs.cpp: 52698 (PluginInfoStore::createPluginInfoForPluginAtIndex): 52699 (PluginInfoStore::pluginCount): 52700 (WebCore::PluginInfoStore::supportsMIMEType): 52701 (PluginInfoStore::pluginNameForMIMEType): 52702 * plugins/PluginDatabase.h: Copied from WebCore/plugins/win/PluginDatabaseWin.h. 52703 * plugins/PluginInfoStore.cpp: Copied from WebCore/plugins/win/PlugInInfoStoreWin.cpp. 52704 (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex): 52705 (WebCore::PluginInfoStore::pluginCount): 52706 (WebCore::PluginInfoStore::pluginNameForMIMEType): 52707 (WebCore::PluginInfoStore::supportsMIMEType): 52708 (WebCore::refreshPlugins): 52709 * plugins/PluginInfoStore.h: Copied from WebCore/platform/PlugInInfoStore.h. 52710 * plugins/PluginPackage.h: Copied from WebCore/plugins/win/PluginPackageWin.h. 52711 (WebCore::PluginPackageHash::hash): 52712 (WebCore::PluginPackageHash::equal): 52713 (WTF::): 52714 * plugins/PluginView.h: Copied from WebCore/plugins/win/PluginViewWin.h. 52715 (WebCore::PluginView::plugin): 52716 * plugins/npapi.cpp: Copied from WebCore/plugins/win/npapi.cpp. 52717 (pluginViewForInstance): 52718 (NPN_UserAgent): 52719 * plugins/win/PlugInInfoStoreWin.cpp: Removed. 52720 * plugins/win/PluginDatabaseWin.cpp: 52721 (WebCore::PluginDatabase::installedPlugins): 52722 (WebCore::PluginDatabase::addExtraPluginPath): 52723 (WebCore::PluginDatabase::refresh): 52724 (WebCore::PluginDatabase::plugins): 52725 (WebCore::addPluginsFromRegistry): 52726 (WebCore::PluginDatabase::getPluginsInPaths): 52727 (WebCore::PluginDatabase::defaultPluginPaths): 52728 (WebCore::PluginDatabase::isMIMETypeRegistered): 52729 (WebCore::PluginDatabase::pluginForMIMEType): 52730 (WebCore::PluginDatabase::MIMETypeForExtension): 52731 (WebCore::PluginDatabase::findPlugin): 52732 (WebCore::PluginDatabase::createPluginView): 52733 * plugins/win/PluginDatabaseWin.h: Removed. 52734 * plugins/win/PluginPackageWin.cpp: 52735 (WebCore::PluginPackage::~PluginPackage): 52736 (WebCore::PluginPackage::freeLibrarySoon): 52737 (WebCore::PluginPackage::freeLibraryTimerFired): 52738 (WebCore::PluginPackage::PluginPackage): 52739 (WebCore::PluginPackage::compareFileVersion): 52740 (WebCore::PluginPackage::storeFileVersion): 52741 (WebCore::PluginPackage::isPluginBlacklisted): 52742 (WebCore::PluginPackage::fetchInfo): 52743 (WebCore::PluginPackage::load): 52744 (WebCore::PluginPackage::unload): 52745 (WebCore::PluginPackage::unloadWithoutShutdown): 52746 (WebCore::PluginPackage::createPackage): 52747 (WebCore::PluginPackage::hash): 52748 (WebCore::PluginPackage::equal): 52749 * plugins/win/PluginPackageWin.h: Removed. 52750 * plugins/win/PluginViewWin.cpp: 52751 (WebCore::PluginRequest::PluginRequest): 52752 (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): 52753 (WebCore::registerPluginView): 52754 (WebCore::PluginViewWndProc): 52755 (WebCore::PluginView::popPopupsStateTimerFired): 52756 (WebCore::PluginView::wndProc): 52757 (WebCore::PluginView::updateWindow): 52758 (WebCore::PluginView::windowClipRect): 52759 (WebCore::PluginView::setFrameGeometry): 52760 (WebCore::PluginView::geometryChanged): 52761 (WebCore::PluginView::setFocus): 52762 (WebCore::PluginView::show): 52763 (WebCore::PluginView::hide): 52764 (WebCore::PluginView::paintMissingPluginIcon): 52765 (WebCore::PluginView::dispatchNPEvent): 52766 (WebCore::PluginView::paint): 52767 (WebCore::PluginView::handleKeyboardEvent): 52768 (WebCore::PluginView::handleMouseEvent): 52769 (WebCore::PluginView::handleEvent): 52770 (WebCore::PluginView::setParent): 52771 (WebCore::PluginView::attachToWindow): 52772 (WebCore::PluginView::detachFromWindow): 52773 (WebCore::PluginView::setNPWindowRect): 52774 (WebCore::PluginView::start): 52775 (WebCore::PluginView::stop): 52776 (WebCore::PluginView::setCurrentPluginView): 52777 (WebCore::PluginView::currentPluginView): 52778 (WebCore::PluginView::performRequest): 52779 (WebCore::PluginView::requestTimerFired): 52780 (WebCore::PluginView::scheduleRequest): 52781 (WebCore::PluginView::load): 52782 (WebCore::PluginView::getURLNotify): 52783 (WebCore::PluginView::getURL): 52784 (WebCore::PluginView::handlePost): 52785 (WebCore::PluginView::postURLNotify): 52786 (WebCore::PluginView::postURL): 52787 (WebCore::PluginView::newStream): 52788 (WebCore::PluginView::write): 52789 (WebCore::PluginView::destroyStream): 52790 (WebCore::PluginView::userAgent): 52791 (WebCore::PluginView::status): 52792 (WebCore::PluginView::getValue): 52793 (WebCore::PluginView::setValue): 52794 (WebCore::PluginView::invalidateTimerFired): 52795 (WebCore::PluginView::invalidateRect): 52796 (WebCore::PluginView::invalidateRegion): 52797 (WebCore::PluginView::forceRedraw): 52798 (WebCore::PluginView::pushPopupsEnabledState): 52799 (WebCore::PluginView::popPopupsEnabledState): 52800 (WebCore::PluginView::arePopupsAllowed): 52801 (WebCore::PluginView::bindingInstance): 52802 (WebCore::PluginView::~PluginView): 52803 (WebCore::PluginView::disconnectStream): 52804 (WebCore::PluginView::determineQuirks): 52805 (WebCore::PluginView::setParameters): 52806 (WebCore::PluginView::PluginView): 52807 (WebCore::PluginView::init): 52808 (WebCore::PluginView::didReceiveResponse): 52809 (WebCore::PluginView::didReceiveData): 52810 (WebCore::PluginView::didFinishLoading): 52811 (WebCore::PluginView::didFail): 52812 (WebCore::PluginView::setCallingPlugin): 52813 (WebCore::PluginView::isCallingPlugin): 52814 * plugins/win/PluginViewWin.h: Removed. 52815 * plugins/win/npapi.cpp: Removed. 52816 52817 2008-02-05 Alexey Proskuryakov <ap (a] webkit.org> 52818 52819 Reviewed by Darin. 52820 52821 http://bugs.webkit.org/show_bug.cgi?id=17158 52822 Setting innerHTML in a detached XHTML element doesn't use the right namespace 52823 52824 Test: fast/dom/innerHTML-detached-element.xhtml 52825 52826 * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::XMLTokenizer): Take parent element namespace 52827 into account. 52828 52829 2008-02-05 Antti Koivisto <antti (a] apple.com> 52830 52831 Reviewed by Geoff. 52832 52833 Fix <rdar://problem/5698200> 52834 eBay photo uploading hangs and causes slow script warning to pop up 52835 52836 In a case like this 52837 52838 var f = window.parent.parentFunction; 52839 document.domain = document.domain; // this makes window.parent inaccessible 52840 f(); 52841 52842 Firefox allows parentFunction to access parents properties. Match this behavior. 52843 52844 In a domain security check against the dynamic global object fails for the specific reason that one of 52845 the frames has written to the document.domain property and another has not (but they match otherwise), 52846 then recheck against the lexical global object. 52847 52848 Test: http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW.html 52849 http/tests/security/cross-frame-access-callback-explicit-domain-DENY.html 52850 52851 * bindings/js/kjs_window.cpp: 52852 (KJS::Window::allowsAccessFrom): 52853 (KJS::Window::printErrorMessage): 52854 * bindings/js/kjs_window.h: 52855 * loader/FrameLoader.cpp: 52856 (WebCore::FrameLoader::shouldAllowNavigation): 52857 * platform/SecurityOrigin.cpp: 52858 (WebCore::SecurityOrigin::canAccess): 52859 * platform/SecurityOrigin.h: 52860 (WebCore::SecurityOrigin::): 52861 52862 2008-02-05 Adam Roben <aroben (a] apple.com> 52863 52864 Remove an unused member from Document 52865 52866 Reviewed by Mitz. 52867 52868 * dom/Document.cpp: 52869 (WebCore::Document::recalcStyleSelector): There's no need to take 52870 m_printSheet into account anymore as it's never anything but the null 52871 string. 52872 * dom/Document.h: Removed m_printSheet and methods relating to it. 52873 52874 2008-02-05 Dan Bernstein <mitz (a] apple.com> 52875 52876 Reviewed by Darin Adler. 52877 52878 - WebCore part of <rdar://problem/5724303> Should implement writing direction shortcuts 52879 52880 * WebCore.base.exp: Added Editor::setBaseWritingDirection() and 52881 Frame::baseWritingDirectionForSelectionStart(). 52882 * page/mac/WebCoreFrameBridge.h: Removed 52883 -baseWritingDirectionForSelectionStart. 52884 * page/mac/WebCoreFrameBridge.mm: Ditto. 52885 52886 2008-02-05 Mark Rowe <mrowe (a] apple.com> 52887 52888 Reviewed by Oliver Hunt. 52889 52890 Update versioning to support the mysterious future. 52891 52892 * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060. 52893 52894 2008-02-05 Mark Rowe <mrowe (a] apple.com> 52895 52896 Fix the wxWidget Mac build by avoiding using ICU functions that were added after ICU 3.2. 52897 52898 * editing/SmartReplaceICU.cpp: 52899 (WebCore::addAllCodePoints): Implement a replacement for uset_addAllCodePoints. 52900 (WebCore::getSmartSet): Use addAllCodePoints instead of uset_addAllCodePoints. 52901 52902 2008-02-05 Mark Rowe <mrowe (a] apple.com> 52903 52904 Rubber-stamped by Oliver Hunt. 52905 52906 30,000! 52907 52908 * ChangeLog: Point out revision 30,000. 52909 52910 2008-02-04 Mark Rowe <mrowe (a] apple.com> 52911 52912 Unreviewed Gtk build fix. 52913 52914 wchar_t is only convertible to UChar on Windows. Use WebCore's String class 52915 to get the UChars out of a C string in a portable fashion. 52916 52917 * editing/SmartReplaceICU.cpp: 52918 (WebCore::getSmartSet): 52919 52920 2008-02-04 Tony Chang <idealisms (a] gmail.com> 52921 52922 Reviewed by Darin Adler. 52923 52924 Port the CoreFoundation version of WebCore::isCharacterSmartReplaceExempt 52925 for other platforms by using ICU directly. 52926 52927 * GNUmakefile.am: Add SmartReplaceICU.cpp. 52928 * WebCore.pro: Ditto. 52929 * WebCoreSources.bkl: Ditto. 52930 * editing/SmartReplace.cpp: Don't use this empty implementation when ICU is available. 52931 * editing/SmartReplaceICU.cpp: 52932 (getSmartSet): 52933 (WebCore::isCharacterSmartReplaceExempt): 52934 52935 2008-02-04 Robert Sesek <rsesek (a] bluestatic.org> 52936 52937 Reviewed by Darin Adler. 52938 52939 Fix http://bugs.webkit.org/show_bug.cgi?id=17042 52940 forms without action attributes submit to the <base> href instead of the originating page 52941 52942 Test: fast/forms/missing-action.html 52943 52944 * html/HTMLFormElement.cpp: 52945 (WebCore::HTMLFormElement::submit): Submit to origin if there is no action 52946 52947 2008-02-04 Mark Rowe <mrowe (a] apple.com> 52948 52949 Reviewed by Tim Hatcher. 52950 52951 Gtk build fix. Use std::numeric_limits in place of ULLONG_MAX as 52952 some Linux machines do not have ULLONG_MAX. 52953 52954 OriginUsageRecord::unknownDiskUsage becomes a static function to avoid 52955 the global initialiser which would otherwise be generated. 52956 52957 * storage/OriginUsageRecord.cpp: 52958 (WebCore::OriginUsageRecord::unknownDiskUsage): 52959 (WebCore::OriginUsageRecord::addDatabase): 52960 (WebCore::OriginUsageRecord::removeDatabase): 52961 (WebCore::OriginUsageRecord::markDatabase): 52962 (WebCore::OriginUsageRecord::diskUsage): 52963 * storage/OriginUsageRecord.h: 52964 52965 2008-02-04 Mark Rowe <mrowe (a] apple.com> 52966 52967 Speculative Gtk build fix. 52968 52969 * storage/OriginUsageRecord.cpp: 52970 52971 2008-02-04 Brady Eidson <beidson (a] apple.com> 52972 52973 Attempt to fix build of all non-Mac platforms 52974 52975 * GNUmakefile.am: 52976 * WebCore.pro: 52977 * WebCore.vcproj/WebCore.vcproj: 52978 * WebCoreSources.bkl: 52979 52980 2008-02-04 Brady Eidson <beidson (a] apple.com> 52981 52982 Reviewed by Darin 52983 52984 Fix for <rdar://problem/5628468> - Quotas need to be implemented per-origin, and not per-database 52985 52986 To accomplish this, we need to track the sizes of all databases in an origin to constantly keep an up to date 52987 count of the origin's total disk usage. I've introduced the OriginQuotaManager and OriginUsageRecord classes 52988 to accomplish this. 52989 52990 Whenever a transaction is known to mutate the size of a database (tracked by the DatabaseAuthorizer), it marks 52991 that database as unknown in the OriginQuotaManager. When a transaction later comes along to ask the 52992 OriginQuotaManager the usage for that origin, it stat's all of the unknown databases in the origin and returns 52993 the result. 52994 52995 Since the OriginQuotaManager is interesting from both the main thread and a DatabaseThread, all accessors it 52996 provides require it to be locked first. ASSERTs help guarantee this is always the case. 52997 52998 Layout test will involve adding functionality to DRT on multiple platforms and will be coming up shortly 52999 53000 * WebCore.xcodeproj/project.pbxproj: 53001 53002 * platform/SecurityOrigin.h: Changed to be ThreadSafeShared instead of RefCounted 53003 53004 * storage/Database.cpp: 53005 (WebCore::Database::databaseSize): Return the current filesize of this database on disk 53006 (WebCore::Database::maximumSize): Added - calculates maximum size of this database based on quota and usage 53007 * storage/Database.h: Add databaseSize() accessor, and get rid of unused declared methods that *were* going 53008 to be the solution for this bug. 53009 53010 * storage/DatabaseTracker.cpp: 53011 (WebCore::DatabaseTracker::originQuotaManager): Accessor to the OriginQuotaManager which is lazily created 53012 (WebCore::DatabaseTracker::canEstablishDatabase): Fetch the usage for this database slightly earlier, which 53013 will ensure that the OriginQuotaManager is primed to track this origin 53014 (WebCore::DatabaseTracker::fullPathForDatabase): Ditto 53015 (WebCore::DatabaseTracker::populateOrigins): Create the OriginQuotaManager here. 53016 (WebCore::DatabaseTracker::usageForOrigin): Use the OriginQuotaManager instead of looping through each database 53017 in the origin 53018 (WebCore::DatabaseTracker::deleteOrigin): Remove this origin from the OriginQuotaManager as it is no longer 53019 interesting 53020 (WebCore::DatabaseTracker::deleteDatabase): Remove this database from the OriginQuotaManager as it is no longer 53021 interesting 53022 * storage/DatabaseTracker.h: 53023 53024 * storage/OriginQuotaManager.cpp: Added. 53025 (WebCore::OriginQuotaManager::OriginQuotaManager): 53026 (WebCore::OriginQuotaManager::lock): 53027 (WebCore::OriginQuotaManager::unlock): 53028 (WebCore::OriginQuotaManager::trackOrigin): Add an origin to be tracked. Useful for when the very first database 53029 in a new origin is still in the process of being created 53030 (WebCore::OriginQuotaManager::tracksOrigin): 53031 (WebCore::OriginQuotaManager::addDatabase): 53032 (WebCore::OriginQuotaManager::removeDatabase): 53033 (WebCore::OriginQuotaManager::removeOrigin): Removes all records in a certain origin from being tracked 53034 (WebCore::OriginQuotaManager::markDatabase): Mark a specific database as having an unknown size - called when the 53035 DatabaseAuthorizer in a SQLTransaction knows the file size might change. 53036 (WebCore::OriginQuotaManager::diskUsage): Returns the disk usage for the given origin 53037 * storage/OriginQuotaManager.h: Added. 53038 53039 * storage/OriginUsageRecord.cpp: Added. 53040 (WebCore::OriginUsageRecord::OriginUsageRecord): 53041 (WebCore::OriginUsageRecord::addDatabase): Adds an entry for the database in this origin's record 53042 (WebCore::OriginUsageRecord::removeDatabase): Removes that entry 53043 (WebCore::OriginUsageRecord::markDatabase): Marks the database as of unknown size 53044 (WebCore::OriginUsageRecord::diskUsage): Returns the cached disk usage value, or recalculates it if any databases 53045 are marked 53046 * storage/OriginUsageRecord.h: Added. 53047 53048 * storage/SQLTransaction.cpp: 53049 (WebCore::SQLTransaction::openTransactionAndPreflight): Use Database::maximumSize() instead of attributing the 53050 entire quota to each database. 53051 (WebCore::SQLTransaction::runStatements): Use Database::maximumSize() instead of attributing the entire quota 53052 to each database. 53053 (WebCore::SQLTransaction::runCurrentStatement): Mark this databases's size as unknown in the 53054 OriginQuotaManager if this statement will change the size of the database 53055 * storage/SQLTransaction.h: 53056 53057 2008-02-04 David Harrison <harrison (a] apple.com> 53058 53059 Reviewed by Darin Adler. 53060 53061 <rdar://problem/5607381> CrashTracer: [REGRESSION] 1748 crashes in Safari at com.apple.WebCore: WebCore::Image::width const + 24 53062 53063 Use an empty image when the local image file could not be loaded. 53064 53065 No test case because it would require forcing tiff load failure. 53066 53067 * editing/DeleteButtonController.cpp: 53068 (WebCore::DeleteButtonController::createDeletionUI): 53069 Do not present the deletion UI in the (odd) event that the delete button could not be loaded. 53070 53071 * platform/graphics/mac/ImageMac.mm: 53072 (WebCore::Image::loadPlatformResource): 53073 Return an empty image instead of 0 if the load fails. 53074 53075 2008-02-04 Darin Adler <darin (a] apple.com> 53076 53077 * dom/Document.cpp: 53078 (WebCore::Document::completeURL): Fixed misleading comment. 53079 53080 2008-02-04 Jon Honeycutt <jhoneycutt (a] apple.com> 53081 53082 Reviewed by Darin. 53083 53084 Blacklist Silverlight versions older than min required, not newer. 53085 53086 * plugins/win/PluginPackageWin.cpp: 53087 (WebCore::PluginPackageWin::isPluginBlacklisted): 53088 53089 2008-02-04 David Hyatt <hyatt (a] apple.com> 53090 53091 Fix for bug 16751, misparsing of html*.test in CSS. 53092 53093 Reviewed by darin 53094 53095 Added fast/css/simple-selector-chain-parsing.html 53096 53097 * css/CSSGrammar.y: 53098 53099 2008-02-04 Darin Adler <darin (a] apple.com> 53100 53101 Suggested by Geoff and Maciej. 53102 53103 * bindings/js/JSCustomSQLTransactionCallback.cpp: Reworded a misleading 53104 comment to be correct. 53105 53106 2008-02-04 Jon Honeycutt <jhoneycutt (a] apple.com> 53107 53108 Reviewed by Steve, Anders. 53109 53110 <rdar://problem/5211187> QuickTime and Flash plug-ins draw outside of 53111 content area when inside an iframe or div with overflow when playing a 53112 movie and scrolling the iframe/div area 53113 53114 Clip the update region to the zero rect when scrolling. Don't do this 53115 for Java, because it results in repaint problems. 53116 53117 * plugins/PluginQuirkSet.h: Added the DontClipToZeroRectWhenScrolling 53118 quirk 53119 * plugins/win/PluginViewWin.cpp: 53120 (WebCore::PluginViewWin::updateWindow): Readded the old behavior of 53121 clipping to the zero rect when updating the window during a scroll. 53122 Added plug-in quirk to ignore this behavior for Java. Swapped order of 53123 the SetWindowRgn() and MoveWindow() calls to prevent Java from painting 53124 outside of its container during a scroll. 53125 (WebCore::PluginViewWin::determineQuirks): If this is Java, add the 53126 DontClipToZeroRectWhenScrolling quirk. 53127 53128 2008-02-04 Timothy Hatcher <timothy (a] apple.com> 53129 53130 Reviewed by Mark Rowe. 53131 53132 <rdar://problem/5722972> Leopard needs to statically link SQLite 53133 53134 * Configurations/Base.xcconfig: Always have a header search path for WebCoreSQLite3. 53135 * Configurations/DebugRelease.xcconfig: Ditto. 53136 * Configurations/WebCore.xcconfig: Always link against WebCoreSQLite3. 53137 53138 2008-02-04 Adam Roben <aroben (a] apple.com> 53139 53140 Windows build fix 53141 53142 * bindings/scripts/CodeGeneratorCOM.pm: Touched to force a rebuild of 53143 the COM bindings. 53144 53145 2008-02-04 David Harrison <harrison (a] apple.com> 53146 53147 Reviewed by Tim Hatcher. 53148 53149 - fix <rdar://problem/5715481> REGRESSION (r26499): JavaScript document.lastModified is not supported 53150 53151 Re-add attribute inadvertantly lost by r26499. 53152 53153 Test: fast/js/lastModified.html: Added. 53154 53155 * dom/Document.idl: 53156 Add lastModified. 53157 53158 2008-02-04 Darin Adler <darin (a] apple.com> 53159 53160 Reviewed by Geoff. 53161 53162 - fix <rdar://problem/5713621> Threading issue when destroying database transaction callback 53163 53164 Do main-thread-only stuff on the main thread. 53165 53166 Not clear how to make a regression test for this. 53167 53168 * bindings/js/JSCustomSQLTransactionCallback.cpp: 53169 (WebCore::JSCustomSQLTransactionCallback::Data::Data): Added. 53170 (WebCore::JSCustomSQLTransactionCallback::Data::callback): Added. 53171 (WebCore::JSCustomSQLTransactionCallback::Data::frame): Added. 53172 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): Put data into a 53173 separate Data object; we'll destroy it on the main thread. 53174 (WebCore::JSCustomSQLTransactionCallback::deleteData): Added. 53175 (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback): Call the 53176 deleteData function on the main thread. 53177 (WebCore::JSCustomSQLTransactionCallback::handleEvent): Updated to get at fields through the 53178 m_data object. 53179 * bindings/js/JSCustomSQLTransactionCallback.h: Declare deleteData, Data, and m_data rather 53180 than m_callback and m_frame. 53181 53182 2008-02-04 Adam Roben <aroben (a] apple.com> 53183 53184 Fix the search field if the inpsected Document has overridden 53185 Document.evaluate or Document.querySelectorAll 53186 53187 Reviewed by Darin. 53188 53189 * manual-tests/inspector-document-methods-override.html: Added. 53190 * page/InspectorController.cpp: 53191 (WebCore::InspectorController::didCommitLoad): Reworded a comment to 53192 force WebCore.vcproj to build. 53193 * page/inspector/inspector.js: Call 53194 Document.prototype.{evaluate,querySelectorAll}.call instead of calling 53195 the functions directly on the inspected Document. This ensures we are 53196 calling the version of these functions we intended to. 53197 53198 2008-02-04 Darin Adler <darin (a] apple.com> 53199 53200 Reviewed by Tim Hatcher. 53201 53202 - possible fix for <rdar://problem/5714030> Crash in Database::deliverAllPendingCallbacks() 53203 reloading a page quickly 53204 53205 I don't fully understand the cause of the crash, but I think this might 53206 be a helpful change. 53207 53208 * platform/sql/SQLiteTransaction.cpp: 53209 (WebCore::SQLiteTransaction::commit): If the commit fails, don't leave this 53210 transaction and database both marked as "still in progress". As far as I can 53211 tell this does no good, and also seems to do harm. 53212 (WebCore::SQLiteTransaction::rollback): Ditto. 53213 53214 * storage/Database.cpp: 53215 (WebCore::Database::performTransactionStep): Add some assertions to 53216 detect databases stuck in the "transaction in progress" state. 53217 * storage/SQLTransaction.cpp: 53218 (WebCore::SQLTransaction::openTransactionAndPreflight): Ditto. 53219 (WebCore::SQLTransaction::postflightAndCommit): Ditto. 53220 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto. 53221 53222 2008-02-04 Darin Adler <darin (a] apple.com> 53223 53224 Reviewed by Geoff. 53225 53226 - fix <rdar://problem/5715692> REGRESSION (r28570): JavaScript window.scrollTo() 53227 calls no longer accept 'undefined' values 53228 53229 By default, we should accept non-numeric parameters and non-integral numbers for 53230 parameters that expect integers, without throwing exceptions. 53231 53232 While creating the test for this, I ran into a couple minor bugs with the 53233 functions involved, and this patch fixes those too. 53234 53235 Test: fast/dom/non-numeric-values-numeric-parameters.html 53236 53237 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 53238 (WebCore::JSHTMLOptionsCollection::add): Added. This function has unusual behavior 53239 when passed non-integral values for its second parameter, so it needs to be written 53240 by hand. I think that [Custom] is better here than inventing a new keyword. 53241 53242 * bindings/scripts/CodeGeneratorJS.pm: Changed default for "long" and "unsigned long" 53243 to ignore errors rather than failing due to type differences. Also changed a couple 53244 functions to use hashes. 53245 53246 * css/CSSStyleSheet.h: 53247 (WebCore::CSSStyleSheet::removeRule): Remove overload of removeRule without a second 53248 parameters. While we do allow this from JavaScript, it's not a true optional parameter, 53249 but rather just a case of "you can omit parameters and they are treated as undefined" 53250 combined with "undefined turns into 0 when passed to a function that takes an integer". 53251 * css/CSSStyleSheet.idl: Removed [Optional] on the index parameter for removeRule. 53252 This is not truly an optional parameter. 53253 53254 * dom/ProgressEvent.cpp: 53255 (WebCore::ProgressEvent::initProgressEvent): Updated this function to match other 53256 DOM event init functions -- important to do nothing if this is called on the an 53257 already-dispatched event and we need to respect the bubble and cancelable arguments. 53258 Also removed initProgressEventNS. We don't support namespaced events, and if we add 53259 support, it should be across all event classes, not just ProgressEvent. 53260 * dom/ProgressEvent.h: Removed initProgressEventNS. 53261 * dom/ProgressEvent.idl: Ditto. 53262 53263 * dom/Range.cpp: 53264 (WebCore::Range::createContextualFragment): Added a check for 0. This can happen 53265 if the passed-in start container is a node that's not an HTML element and also 53266 does not have a parent. 53267 53268 * html/HTMLOptionsCollection.idl: Added the [Custom] attribute to add, since the 53269 rules for processing its parameters are unusual. 53270 53271 * page/DOMSelection.cpp: Removed the version of setPosition that has only 53272 one parameter. The offset is not really optional. 53273 * page/DOMSelection.h: Ditto. 53274 * page/DOMSelection.idl: Removed the [Optional] keyword for the second parameter of 53275 setPosition. It's not a true optional parameter (see discussion of removeRule above). 53276 53277 * page/DOMWindow.cpp: 53278 (WebCore::DOMWindow::adjustWindowRect): Simplified logic for constraining the X 53279 and Y coordinates, in a way that makes them work even when the window coordinates 53280 are infinite. Also strengthened the assertion. 53281 53282 2008-02-04 Alp Toker <alp (a] atoker.com> 53283 53284 Rubber-stamped by Mark Rowe. 53285 53286 Remove all trailing whitespace in the GTK+ port and related 53287 components. 53288 53289 * GNUmakefile.am: 53290 * page/gtk/DragControllerGtk.cpp: 53291 (WebCore::DragController::dragOperation): 53292 (WebCore::DragController::maxDragImageSize): 53293 * page/gtk/EventHandlerGtk.cpp: 53294 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 53295 (WebCore::EventHandler::createDraggingClipboard): 53296 * page/gtk/FrameGtk.cpp: 53297 (WebCore::Frame::dragImageForSelection): 53298 * platform/graphics/cairo/AffineTransformCairo.cpp: 53299 (WebCore::AffineTransform::mapRect): 53300 (WebCore::AffineTransform::isIdentity): 53301 (WebCore::AffineTransform::operator== ): 53302 * platform/graphics/cairo/GraphicsContextCairo.cpp: 53303 (WebCore::GraphicsContext::drawLine): 53304 * platform/graphics/cairo/ImageBufferCairo.cpp: 53305 * platform/graphics/cairo/ImageCairo.cpp: 53306 * platform/graphics/cairo/ImageSourceCairo.cpp: 53307 (WebCore::createDecoder): 53308 * platform/graphics/gtk/FontCacheGtk.cpp: 53309 * platform/graphics/gtk/FontGtk.cpp: 53310 * platform/graphics/gtk/FontPlatformData.h: 53311 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 53312 * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: 53313 * platform/graphics/gtk/IconGtk.cpp: 53314 * platform/graphics/gtk/ImageGtk.cpp: 53315 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 53316 * platform/gtk/ClipboardGtk.h: 53317 * platform/gtk/ContextMenuItemGtk.cpp: 53318 (WebCore::ContextMenuItem::createNativeMenuItem): 53319 * platform/gtk/CursorGtk.cpp: 53320 * platform/gtk/DragDataGtk.cpp: 53321 * platform/gtk/DragImageGtk.cpp: 53322 (WebCore::createDragImageIconForCachedImage): 53323 * platform/gtk/FileChooserGtk.cpp: 53324 (WebCore::stringByAdoptingFileSystemRepresentation): 53325 * platform/gtk/FileSystemGtk.cpp: 53326 (WebCore::fileExists): 53327 (WebCore::deleteFile): 53328 (WebCore::deleteEmptyDirectory): 53329 * platform/gtk/KeyEventGtk.cpp: 53330 * platform/gtk/KeyboardCodes.h: 53331 * platform/gtk/LocalizedStringsGtk.cpp: 53332 (WebCore::inputElementAltText): 53333 (WebCore::resetButtonDefaultLabel): 53334 (WebCore::fileButtonChooseFileLabel): 53335 (WebCore::fileButtonNoFileSelectedLabel): 53336 (WebCore::contextMenuItemTagOpenImageInNewWindow): 53337 * platform/gtk/MIMETypeRegistryGtk.cpp: 53338 * platform/gtk/MouseEventGtk.cpp: 53339 * platform/gtk/PasteboardGtk.cpp: 53340 (WebCore::PasteboardSelectionData::markup): 53341 (WebCore::Pasteboard::writeSelection): 53342 * platform/gtk/PasteboardHelper.h: 53343 * platform/gtk/PlatformScreenGtk.cpp: 53344 (WebCore::screenDepth): 53345 (WebCore::screenIsMonochrome): 53346 (WebCore::screenRect): 53347 (WebCore::screenAvailableRect): 53348 * platform/gtk/PlatformScrollBar.h: 53349 * platform/gtk/PlatformScrollBarGtk.cpp: 53350 (PlatformScrollbar::PlatformScrollbar): 53351 (PlatformScrollbar::updateThumbPosition): 53352 * platform/gtk/PopupMenuGtk.cpp: 53353 (WebCore::PopupMenu::updateFromElement): 53354 * platform/gtk/RenderThemeGtk.h: 53355 * platform/gtk/ScrollViewGtk.cpp: 53356 (WebCore::ScrollView::scrollBy): 53357 (WebCore::ScrollView::addChild): 53358 (WebCore::ScrollView::updateScrollbars): 53359 (WebCore::ScrollView::windowToContents): 53360 (WebCore::ScrollView::contentsToWindow): 53361 (WebCore::ScrollView::scrollbarUnderMouse): 53362 * platform/gtk/SearchPopupMenuGtk.cpp: 53363 * platform/gtk/SharedTimerGtk.cpp: 53364 * platform/gtk/SystemTimeLinux.cpp: 53365 (WebCore::currentTime): 53366 * platform/gtk/TemporaryLinkStubs.cpp: 53367 (PlugInInfoStore::pluginNameForMIMEType): 53368 * platform/gtk/ThreadingGtk.cpp: 53369 (WebCore::establishIdentifierForThread): 53370 (WebCore::threadForIdentifier): 53371 (WebCore::clearThreadForIdentifier): 53372 (WebCore::ThreadCondition::ThreadCondition): 53373 * platform/gtk/WheelEventGtk.cpp: 53374 * platform/gtk/WidgetGtk.cpp: 53375 * platform/network/curl/ResourceHandleCurl.cpp: 53376 * platform/network/curl/ResourceHandleManager.cpp: 53377 (WebCore::ResourceHandleManager::setupPOST): 53378 * platform/network/curl/ResourceHandleManager.h: 53379 * platform/network/curl/ResourceRequest.h: 53380 (WebCore::ResourceRequest::ResourceRequest): 53381 * platform/network/curl/ResourceResponse.h: 53382 53383 2008-02-03 Christian Dywan <christian (a] imendio.com> 53384 53385 Reviewed by Alp Toker. 53386 53387 http://bugs.webkit.org/show_bug.cgi?id=17046 53388 [GTK] Context menu fixes and customisation suport 53389 53390 Provide standard GTK+ context menu items where appropriate. 53391 53392 Note that this change makes direct use of WebKit from WebCore which is 53393 against WebKit/GTK+ guidelines. The ContextMenu abstraction should be 53394 fixed at some point. 53395 53396 * page/ContextMenuController.cpp: 53397 (WebCore::ContextMenuController::contextMenuItemSelected): 53398 * platform/ContextMenu.cpp: 53399 (WebCore::createAndAppendInputMethodsSubMenu): 53400 (WebCore::insertControlCharacter): 53401 (WebCore::createAndAppendUnicodeSubMenu): 53402 (WebCore::ContextMenu::populate): 53403 (ContextMenu::checkOrEnableIfNeeded): 53404 * platform/ContextMenuItem.h: 53405 * platform/LocalizedStrings.h: 53406 * platform/gtk/ContextMenuItemGtk.cpp: 53407 (WebCore::gtkStockIDFromContextMenuAction): 53408 * platform/gtk/LocalizedStringsGtk.cpp: 53409 (WebCore::gtkStockLabel): 53410 (WebCore::contextMenuItemTagCopy): 53411 (WebCore::contextMenuItemTagDelete): 53412 (WebCore::contextMenuItemTagSelectAll): 53413 (WebCore::contextMenuItemTagUnicode): 53414 (WebCore::contextMenuItemTagInputMethods): 53415 (WebCore::contextMenuItemTagGoBack): 53416 (WebCore::contextMenuItemTagGoForward): 53417 (WebCore::contextMenuItemTagStop): 53418 (WebCore::contextMenuItemTagCut): 53419 (WebCore::contextMenuItemTagPaste): 53420 (WebCore::contextMenuItemTagBold): 53421 (WebCore::contextMenuItemTagItalic): 53422 (WebCore::contextMenuItemTagUnderline): 53423 53424 2008-02-03 Oliver Hunt <oliver (a] apple.com> 53425 53426 Reviewed by Maciej. 53427 53428 Bug 17169: Support transform on Canvas 53429 53430 Nice and simple patch as the cross-platform code to apply 53431 a transform was already there. 53432 53433 Tests: fast/canvas/canvas-transform-identity.html 53434 fast/canvas/canvas-transform-infinity.html 53435 fast/canvas/canvas-transform-multiply.html 53436 fast/canvas/canvas-transform-nan.html 53437 fast/canvas/canvas-transform-skewed.html 53438 53439 * html/CanvasRenderingContext2D.cpp: 53440 (WebCore::CanvasRenderingContext2D::transform): 53441 * html/CanvasRenderingContext2D.h: 53442 * html/CanvasRenderingContext2D.idl: 53443 53444 2008-02-03 Nikolas Zimmermann <zimmermann (a] kde.org> 53445 53446 Reviewed by Oliver. 53447 53448 Fix mistake in SVGImageElement, breaking "Dock" example of carto.net 53449 It was comparing against the wrong attribute names in svgAttributeChanged(). 53450 53451 Added testcase: svg/custom/js-update-image.svg 53452 53453 * svg/SVGImageElement.cpp: 53454 (WebCore::SVGImageElement::svgAttributeChanged): 53455 53456 2008-02-03 Eric Seidel <eric (a] webkit.org> 53457 53458 Reviewed by darin. 53459 53460 Acid3 expects textNode.localName === null 53461 http://bugs.webkit.org/show_bug.cgi?id=17060 53462 53463 Test: fast/dom/Node/initial-values.html 53464 53465 * dom/Comment.cpp: remove localName implementation 53466 * dom/Comment.h: 53467 * dom/Node.cpp: return nullAtom instead of emptyAtom 53468 * dom/Text.cpp: remove localName implementation 53469 * dom/Text.h: 53470 53471 2008-02-03 Eric Seidel <eric (a] webkit.org> 53472 53473 Reviewed by darin. 53474 53475 Make createElementNS and createAttributeNS follow the (vague) DOM Core 2 spec 53476 by throwing exceptions for more types of invalid qualified names. 53477 http://bugs.webkit.org/show_bug.cgi?id=16833 53478 53479 Tests: fast/dom/Document/createAttributeNS-namespace-err.html 53480 fast/dom/Document/createElementNS-namespace-err.html 53481 53482 * dom/Document.cpp: 53483 (WebCore::Document::createElement): 53484 (WebCore::hasNamespaceError): 53485 (WebCore::Document::createElementNS): 53486 (WebCore::Document::createAttributeNS): 53487 * dom/Document.idl: 53488 53489 2008-02-03 Nikolas Zimmermann <zimmermann (a] kde.org> 53490 53491 Reviewed by Eric. 53492 53493 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15394 53494 53495 Dramatically improve dynamic update performance in DOM / SVG DOM. 53496 53497 The notifyAttributeChange() sledgehammer is gone now. It was implemented on quite a lot of 53498 SVG*Element classes and blindly reacted on any property change caused by DOM / SVG DOM 53499 by rebuilding style/renderer etc. without actually checking what changed. SVG used a hack 53500 for years that attributeChanged() called notifyAttributeChange() - which results in poor 53501 scripting performance and/or dynamic creation/modification of elements using SVG DOM. 53502 53503 Properly implement childrenChanged / attributeChanged in SVG with some derivation from the HTML code. 53504 Our SVG* element classes implement "svgAttributeChanged(const QualifiedName&)" instead of 53505 "attributeChanged(Attribute*...)" to be able to unify DOM / SVG DOM updates. SVG DOM classes 53506 are aware of the attribute name they belong to. So when using "rectElement.transform.baseVal.getItem(0).setRotate(45)" 53507 SVG DOM updates the <rect> element by calling svgAttributeChanged(SVGNames::transformAttr) on the corresponding 53508 SVGRectElement. So we're now able to handle fast dynamic updates in a unified way - leading to less bugs. 53509 53510 HTML dynamic updates vs. SVG dynamic updates: 53511 53512 HTML: 53513 1) setAttribute("foo", "bar") -> attributeChanged -> parseMappedAttribute -> setChanged/setNeedsLayout 53514 2) someObject.foo = "bar" -> HTML code maps to setAttribute calls, ends up taking the same route as 1) 53515 3) someObject.style.foo = "bar" -> setChanged -> recalcStyle (possible relayout) 53516 53517 SVG: 53518 1) setAttribute("foo", "bar") -> attributeChanged -> svgAttributeChanged -> parseMappedAttribute -> setChanged/setNeedsLayout 53519 2) same, currently most functions are not yet converted to this new system! (most noticeable in SVGMarkerElement::setOrientToAngle) 53520 3) same 53521 4) someRectElement.x.baseVal.value = 100 -> svgAttributeChanged -> setChanged/setNeedsLayout (special SVG DOM updating) 53522 53523 The new SVG DOM updating concept 4) uses the same updating logic as 1) and 2), so we're actually modelling the HTML way. 53524 SVG handles calling setChanged/setNeedsLayout in svgAttributeChanged, unlike HTML which uses parseMappedAttribute for that. 53525 53526 Only updated all elements necessary to let us pass layout tests w/o regressions. Need to crawl through 53527 all SVG*Element classes and implement svgAttributeChanged / childrenChanged anywhere needed in a follow-up patch. 53528 53529 * bindings/js/JSSVGPODTypeWrapper.h: 53530 (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::commitChange): 53531 (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::commitChange): 53532 (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList): 53533 (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType): 53534 (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange): 53535 * bindings/js/JSSVGPathSegListCustom.cpp: 53536 (WebCore::JSSVGPathSegList::clear): 53537 (WebCore::JSSVGPathSegList::initialize): 53538 (WebCore::JSSVGPathSegList::insertItemBefore): 53539 (WebCore::JSSVGPathSegList::replaceItem): 53540 (WebCore::JSSVGPathSegList::removeItem): 53541 (WebCore::JSSVGPathSegList::appendItem): 53542 * bindings/js/JSSVGPointListCustom.cpp: 53543 (WebCore::JSSVGPointList::clear): 53544 (WebCore::JSSVGPointList::initialize): 53545 (WebCore::JSSVGPointList::getItem): 53546 (WebCore::JSSVGPointList::insertItemBefore): 53547 (WebCore::JSSVGPointList::replaceItem): 53548 (WebCore::JSSVGPointList::removeItem): 53549 (WebCore::JSSVGPointList::appendItem): 53550 * bindings/js/JSSVGTransformListCustom.cpp: 53551 (WebCore::JSSVGTransformList::clear): 53552 (WebCore::JSSVGTransformList::initialize): 53553 (WebCore::JSSVGTransformList::getItem): 53554 (WebCore::JSSVGTransformList::insertItemBefore): 53555 (WebCore::JSSVGTransformList::replaceItem): 53556 (WebCore::JSSVGTransformList::removeItem): 53557 (WebCore::JSSVGTransformList::appendItem): 53558 * bindings/scripts/CodeGeneratorJS.pm: 53559 * rendering/RenderSVGGradientStop.cpp: 53560 (WebCore::RenderSVGGradientStop::setStyle): 53561 * rendering/RenderSVGGradientStop.h: 53562 * svg/SVGAElement.cpp: 53563 (WebCore::SVGAElement::defaultEventHandler): 53564 * svg/SVGAElement.h: 53565 * svg/SVGAngle.cpp: 53566 * svg/SVGAngle.h: 53567 (WebCore::SVGAngle::associatedAttributeName): 53568 * svg/SVGAnimatedTemplate.h: 53569 (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate): 53570 (WebCore::SVGAnimatedTemplate::wrapperCache): 53571 (WebCore::SVGAnimatedTemplate::associatedAttributeName): 53572 (WebCore::lookupOrCreateWrapper): 53573 * svg/SVGAnimationElement.cpp: 53574 (WebCore::SVGAnimationElement::parseBeginOrEndValue): 53575 * svg/SVGAnimationElement.h: 53576 * svg/SVGCircleElement.cpp: 53577 (WebCore::SVGCircleElement::svgAttributeChanged): 53578 * svg/SVGCircleElement.h: 53579 * svg/SVGClipPathElement.cpp: 53580 (WebCore::SVGClipPathElement::svgAttributeChanged): 53581 (WebCore::SVGClipPathElement::childrenChanged): 53582 (WebCore::SVGClipPathElement::canvasResource): 53583 * svg/SVGClipPathElement.h: 53584 (WebCore::SVGClipPathElement::isValid): 53585 (WebCore::SVGClipPathElement::rendererIsNeeded): 53586 * svg/SVGComponentTransferFunctionElement.cpp: 53587 (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): 53588 * svg/SVGComponentTransferFunctionElement.h: 53589 * svg/SVGCursorElement.cpp: 53590 * svg/SVGElement.cpp: 53591 (WebCore::SVGElement::insertedIntoDocument): 53592 (WebCore::SVGElement::attributeChanged): 53593 * svg/SVGElement.h: 53594 (WebCore::SVGElement::svgAttributeChanged): 53595 * svg/SVGEllipseElement.cpp: 53596 (WebCore::SVGEllipseElement::svgAttributeChanged): 53597 * svg/SVGEllipseElement.h: 53598 * svg/SVGExternalResourcesRequired.cpp: 53599 (WebCore::SVGExternalResourcesRequired::isKnownAttribute): 53600 * svg/SVGExternalResourcesRequired.h: 53601 * svg/SVGFEBlendElement.cpp: 53602 * svg/SVGFEColorMatrixElement.cpp: 53603 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement): 53604 * svg/SVGFEComponentTransferElement.cpp: 53605 * svg/SVGFECompositeElement.cpp: 53606 * svg/SVGFEDiffuseLightingElement.cpp: 53607 * svg/SVGFEDisplacementMapElement.cpp: 53608 * svg/SVGFEFloodElement.cpp: 53609 * svg/SVGFEGaussianBlurElement.cpp: 53610 * svg/SVGFEImageElement.cpp: 53611 * svg/SVGFELightElement.cpp: 53612 * svg/SVGFEMergeNodeElement.cpp: 53613 * svg/SVGFEOffsetElement.cpp: 53614 * svg/SVGFESpecularLightingElement.cpp: 53615 * svg/SVGFETileElement.cpp: 53616 * svg/SVGFETurbulenceElement.cpp: 53617 * svg/SVGFilterElement.cpp: 53618 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 53619 * svg/SVGFitToViewBox.cpp: 53620 (WebCore::SVGFitToViewBox::isKnownAttribute): 53621 * svg/SVGFitToViewBox.h: 53622 * svg/SVGForeignObjectElement.cpp: 53623 * svg/SVGGElement.cpp: 53624 (WebCore::SVGGElement::svgAttributeChanged): 53625 (WebCore::SVGGElement::childrenChanged): 53626 * svg/SVGGElement.h: 53627 * svg/SVGGradientElement.cpp: 53628 (WebCore::SVGGradientElement::SVGGradientElement): 53629 (WebCore::SVGGradientElement::svgAttributeChanged): 53630 (WebCore::SVGGradientElement::childrenChanged): 53631 (WebCore::SVGGradientElement::buildStops): 53632 * svg/SVGGradientElement.h: 53633 * svg/SVGImageElement.cpp: 53634 (WebCore::SVGImageElement::parseMappedAttribute): 53635 (WebCore::SVGImageElement::svgAttributeChanged): 53636 * svg/SVGImageElement.h: 53637 * svg/SVGLangSpace.cpp: 53638 (WebCore::SVGLangSpace::isKnownAttribute): 53639 * svg/SVGLangSpace.h: 53640 * svg/SVGLengthList.cpp: 53641 (WebCore::SVGLengthList::SVGLengthList): 53642 * svg/SVGLengthList.h: 53643 * svg/SVGLineElement.cpp: 53644 (WebCore::SVGLineElement::svgAttributeChanged): 53645 * svg/SVGLineElement.h: 53646 * svg/SVGLinearGradientElement.cpp: 53647 (WebCore::SVGLinearGradientElement::svgAttributeChanged): 53648 * svg/SVGLinearGradientElement.h: 53649 * svg/SVGList.h: 53650 (WebCore::SVGList::SVGList): 53651 (WebCore::SVGList::associatedAttributeName): 53652 (WebCore::SVGPODList::SVGPODList): 53653 * svg/SVGMarkerElement.cpp: 53654 (WebCore::SVGMarkerElement::svgAttributeChanged): 53655 (WebCore::SVGMarkerElement::childrenChanged): 53656 * svg/SVGMarkerElement.h: 53657 * svg/SVGMaskElement.cpp: 53658 (WebCore::SVGMaskElement::svgAttributeChanged): 53659 (WebCore::SVGMaskElement::childrenChanged): 53660 * svg/SVGMaskElement.h: 53661 * svg/SVGNumberList.cpp: 53662 (WebCore::SVGNumberList::SVGNumberList): 53663 * svg/SVGNumberList.h: 53664 * svg/SVGPathElement.cpp: 53665 (WebCore::SVGPathElement::svgAttributeChanged): 53666 (WebCore::SVGPathElement::pathSegList): 53667 * svg/SVGPathElement.h: 53668 * svg/SVGPathSeg.h: 53669 (WebCore::SVGPathSeg::associatedAttributeName): 53670 * svg/SVGPathSegList.cpp: 53671 (WebCore::SVGPathSegList::SVGPathSegList): 53672 * svg/SVGPathSegList.h: 53673 * svg/SVGPatternElement.cpp: 53674 (WebCore::SVGPatternElement::SVGPatternElement): 53675 (WebCore::SVGPatternElement::svgAttributeChanged): 53676 (WebCore::SVGPatternElement::childrenChanged): 53677 * svg/SVGPatternElement.h: 53678 * svg/SVGPointList.cpp: 53679 (WebCore::SVGPointList::SVGPointList): 53680 * svg/SVGPointList.h: 53681 * svg/SVGPolyElement.cpp: 53682 (WebCore::SVGPolyElement::SVGPolyElement): 53683 (WebCore::SVGPolyElement::points): 53684 (WebCore::SVGPolyElement::parseMappedAttribute): 53685 (WebCore::SVGPolyElement::svgAttributeChanged): 53686 * svg/SVGPolyElement.h: 53687 * svg/SVGPolygonElement.cpp: 53688 * svg/SVGPolygonElement.h: 53689 * svg/SVGPolylineElement.cpp: 53690 * svg/SVGPolylineElement.h: 53691 * svg/SVGPreserveAspectRatio.cpp: 53692 * svg/SVGPreserveAspectRatio.h: 53693 (WebCore::SVGPreserveAspectRatio::associatedAttributeName): 53694 * svg/SVGRadialGradientElement.cpp: 53695 (WebCore::SVGRadialGradientElement::svgAttributeChanged): 53696 * svg/SVGRadialGradientElement.h: 53697 * svg/SVGRectElement.cpp: 53698 (WebCore::SVGRectElement::svgAttributeChanged): 53699 * svg/SVGRectElement.h: 53700 * svg/SVGSVGElement.cpp: 53701 (WebCore::SVGSVGElement::parseMappedAttribute): 53702 (WebCore::SVGSVGElement::svgAttributeChanged): 53703 * svg/SVGSVGElement.h: 53704 * svg/SVGStopElement.cpp: 53705 (WebCore::SVGStopElement::parseMappedAttribute): 53706 (WebCore::SVGStopElement::createRenderer): 53707 * svg/SVGStopElement.h: 53708 * svg/SVGStringList.cpp: 53709 (WebCore::SVGStringList::SVGStringList): 53710 * svg/SVGStringList.h: 53711 * svg/SVGStylable.cpp: 53712 * svg/SVGStylable.h: 53713 * svg/SVGStyledElement.cpp: 53714 (WebCore::SVGStyledElement::isKnownAttribute): 53715 (WebCore::SVGStyledElement::svgAttributeChanged): 53716 (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain): 53717 (WebCore::SVGStyledElement::childrenChanged): 53718 * svg/SVGStyledElement.h: 53719 * svg/SVGStyledLocatableElement.cpp: 53720 * svg/SVGStyledLocatableElement.h: 53721 * svg/SVGStyledTransformableElement.cpp: 53722 (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): 53723 (WebCore::SVGStyledTransformableElement::parseMappedAttribute): 53724 (WebCore::SVGStyledTransformableElement::isKnownAttribute): 53725 * svg/SVGStyledTransformableElement.h: 53726 * svg/SVGTests.cpp: 53727 (WebCore::SVGTests::requiredFeatures): 53728 (WebCore::SVGTests::requiredExtensions): 53729 (WebCore::SVGTests::systemLanguage): 53730 (WebCore::SVGTests::isKnownAttribute): 53731 * svg/SVGTests.h: 53732 * svg/SVGTextContentElement.cpp: 53733 * svg/SVGTextElement.cpp: 53734 (WebCore::SVGTextElement::SVGTextElement): 53735 * svg/SVGTextElement.h: 53736 * svg/SVGTextPathElement.cpp: 53737 * svg/SVGTextPathElement.h: 53738 * svg/SVGTextPositioningElement.cpp: 53739 (WebCore::SVGTextPositioningElement::SVGTextPositioningElement): 53740 * svg/SVGTextPositioningElement.h: 53741 * svg/SVGTransformList.cpp: 53742 (SVGTransformList::SVGTransformList): 53743 * svg/SVGTransformList.h: 53744 * svg/SVGTransformable.cpp: 53745 (WebCore::SVGTransformable::isKnownAttribute): 53746 * svg/SVGTransformable.h: 53747 * svg/SVGURIReference.cpp: 53748 (WebCore::SVGURIReference::isKnownAttribute): 53749 * svg/SVGURIReference.h: 53750 * svg/SVGUseElement.cpp: 53751 (WebCore::SVGUseElement::insertedIntoDocument): 53752 (WebCore::SVGUseElement::svgAttributeChanged): 53753 (WebCore::SVGUseElement::childrenChanged): 53754 (WebCore::SVGUseElement::buildPendingResource): 53755 * svg/SVGUseElement.h: 53756 * svg/SVGViewElement.cpp: 53757 (WebCore::SVGViewElement::SVGViewElement): 53758 (WebCore::SVGViewElement::viewTarget): 53759 (WebCore::SVGViewElement::parseMappedAttribute): 53760 * svg/SVGViewElement.h: 53761 * svg/SVGViewSpec.cpp: 53762 (WebCore::SVGViewSpec::SVGViewSpec): 53763 * svg/SVGViewSpec.h: 53764 * svg/SVGZoomAndPan.cpp: 53765 (WebCore::SVGZoomAndPan::isKnownAttribute): 53766 * svg/SVGZoomAndPan.h: 53767 * svg/graphics/SVGResource.cpp: 53768 (WebCore::SVGResource::invalidate): 53769 (WebCore::SVGResource::invalidateClients): 53770 (WebCore::SVGResource::addClient): 53771 * svg/graphics/SVGResource.h: 53772 * svg/graphics/SVGResourceMasker.cpp: 53773 (WebCore::SVGResourceMasker::invalidate): 53774 * svg/graphics/cg/SVGPaintServerGradientCg.cpp: 53775 (WebCore::SVGPaintServerGradient::invalidate): 53776 * svg/graphics/filters/SVGFEImage.cpp: 53777 (WebCore::SVGFEImage::imageChanged): 53778 53779 2008-02-03 Kevin Ollivier <kevino (a] theolliviers.com> 53780 53781 Build fix for last wx commit (a couple things were not committed). 53782 53783 * platform/ScrollView.h: 53784 * platform/Widget.h: 53785 53786 2008-02-03 Kevin Ollivier <kevino (a] theolliviers.com> 53787 53788 Clean up overlooked coding guideline issues from last commit. 53789 53790 * platform/wx/ScrollViewWx.cpp: 53791 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): 53792 (WebCore::ScrollView::update): 53793 (WebCore::ScrollView::scrollBy): 53794 (WebCore::ScrollView::resizeContents): 53795 (WebCore::ScrollView::adjustScrollbars): 53796 (WebCore::ScrollView::setScrollbarsMode): 53797 (WebCore::ScrollView::setHScrollbarMode): 53798 (WebCore::ScrollView::setVScrollbarMode): 53799 (WebCore::ScrollView::suppressScrollbars): 53800 * platform/wx/WidgetWx.cpp: 53801 (WebCore::Widget::setCursor): 53802 53803 2008-02-03 Kevin Watters <kevinwatters (a] gmail.com> 53804 53805 Reviewed by Kevin Ollivier. 53806 53807 * platform/wx/RenderThemeWx.cpp: 53808 (WebCore::RenderThemeWx::paintButton): 53809 * platform/wx/ScrollViewWx.cpp: 53810 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 53811 (WebCore::ScrollView::ScrollViewPrivate::bindEvents): 53812 (WebCore::ScrollView::ScrollViewPrivate::OnMouseWheelEvents): 53813 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): 53814 (WebCore::ScrollView::ScrollView): 53815 (WebCore::ScrollView::setNativeWindow): 53816 (WebCore::ScrollView::updateContents): 53817 (WebCore::ScrollView::update): 53818 (WebCore::ScrollView::visibleWidth): 53819 (WebCore::ScrollView::visibleHeight): 53820 (WebCore::ScrollView::setContentsPos): 53821 (WebCore::ScrollView::scrollBy): 53822 (WebCore::ScrollView::resizeContents): 53823 (WebCore::ScrollView::contentsX): 53824 (WebCore::ScrollView::contentsY): 53825 (WebCore::ScrollView::contentsWidth): 53826 (WebCore::ScrollView::contentsHeight): 53827 (WebCore::ScrollView::AdjustScrollbars): 53828 (WebCore::ScrollView::setScrollbarsMode): 53829 (WebCore::ScrollView::setHScrollbarMode): 53830 (WebCore::ScrollView::setVScrollbarMode): 53831 (WebCore::ScrollView::suppressScrollbars): 53832 (WebCore::ScrollView::inWindow): 53833 (WebCore::ScrollView::wheelEvent): 53834 (WebCore::ScrollView::addChild): 53835 (WebCore::ScrollView::removeChild): 53836 (WebCore::ScrollView::children): 53837 (WebCore::ScrollView::scrollRectIntoViewRecursively): 53838 (WebCore::ScrollView::scrollbarUnderMouse): 53839 * platform/wx/WidgetWx.cpp: 53840 (WebCore::Widget::Widget): 53841 (WebCore::Widget::~Widget): 53842 (WebCore::Widget::nativeWindow): 53843 (WebCore::Widget::setNativeWindow): 53844 53845 2008-02-02 David Hyatt <hyatt (a] apple.com> 53846 53847 Fix for bug 5468, support CSS3 :only-child and :only-of-type selectors. 53848 53849 Reviewed by olliej 53850 53851 Added fast/css/only-child-pseudo-class.html, fast/css/only-of-type-pseudo-class.html 53852 53853 * css/CSSSelector.cpp: 53854 (WebCore::CSSSelector::extractPseudoType): 53855 * css/CSSSelector.h: 53856 (WebCore::CSSSelector::): 53857 * css/CSSStyleSelector.cpp: 53858 (WebCore::CSSStyleSelector::checkOneSelector): 53859 53860 2008-02-02 Darin Adler <darin (a] apple.com> 53861 53862 Reviewed by Geoff Garen. 53863 53864 PLT speedup related to <rdar://problem/5659272> REGRESSION: PLT .4% 53865 slower due to r28884 (global variable symbol table optimization) 53866 53867 * history/CachedPage.cpp: 53868 (WebCore::CachedPage::CachedPage): Removed saveSymbolTable call. 53869 (WebCore::CachedPage::restore): Removed restoreSymbolTable call. 53870 (WebCore::CachedPage::clear): Removed clear of m_windowSymbolTable. 53871 53872 * history/CachedPage.h: Removed m_windowSymbolTable, since save/restoreLocalStorage 53873 now takes care of the symbol table. Also removed many unnecessary includes. 53874 53875 2008-02-02 Tony Chang <idealisms (a] gmail.com> 53876 53877 Reviewed by eseidel. 53878 53879 Add an include for for <objidl.h> which isn't included 53880 by default with WIN32_LEAN_AND_MEAN. 53881 * platform/graphics/FontCache.h: 53882 53883 2008-02-02 Kevin Watters <kevin (a] dotsyntax.com> 53884 53885 Reviewed by Kevin Ollivier. 53886 53887 wxFont is reference counted and meant to be used as as a value 53888 object; when using wxFont*, ref-counting was not happening properly 53889 and the font object would be destroyed while still in use. 53890 53891 Also, fix memory leak in wx's FrameData::clear() method. 53892 53893 * platform/graphics/SimpleFontData.h: 53894 (WebCore::SimpleFontData::getWxFont): 53895 * platform/graphics/wx/FontPlatformData.h: 53896 (WebCore::FontPlatformData::): 53897 (WebCore::FontPlatformData::FontPlatformData): 53898 (WebCore::FontPlatformData::font): 53899 (WebCore::FontPlatformData::hash): 53900 (WebCore::FontPlatformData::operator==): 53901 (WebCore::FontPlatformData::computeHash): 53902 * platform/graphics/wx/FontPlatformDataWx.cpp: 53903 (WebCore::fontFamilyToWxFontFamily): 53904 (WebCore::FontPlatformData::FontPlatformData): 53905 (WebCore::FontPlatformData::~FontPlatformData): 53906 * platform/graphics/wx/FontWx.cpp: 53907 (WebCore::Font::drawGlyphs): 53908 * platform/graphics/wx/SimpleFontDataWx.cpp: 53909 (WebCore::SimpleFontData::platformInit): 53910 (WebCore::SimpleFontData::determinePitch): 53911 (WebCore::SimpleFontData::platformWidthForGlyph): 53912 53913 2008-02-02 Kevin Ollivier <kevino (a] theolliviers.com> 53914 53915 Reviewed by Adam Roben. 53916 53917 On MSW, the wx port internally uses callbacks for wxTimer, so the 53918 wx port suffers from the same crash problem that was fixed 53919 in r28500 for the Windows port. For now, use the SharedTimerWin.cpp 53920 impl. for wx too on MSW, until a version of wx is released that 53921 fixes the issue by reworking wxTimer. 53922 53923 * page/Page.h: 53924 * platform/win/SharedTimerWin.cpp: 53925 (WebCore::TimerWindowWndProc): 53926 * webcore-wx.bkl: 53927 53928 2008-02-02 Mark Rowe <mrowe (a] apple.com> 53929 53930 Qt build fix. 53931 53932 * platform/qt/ThreadingQt.cpp: Fix typo. 53933 53934 2008-02-02 Kevin Ollivier <kevino (a] theolliviers.com> 53935 53936 Blind build fix for Qt port. Add Threading.h include. 53937 53938 * platform/qt/ThreadingQt.cpp: 53939 53940 2008-02-02 Kevin Ollivier <kevino (a] theolliviers.com> 53941 53942 wx build fix - add missing include file. 53943 53944 * platform/wx/ThreadingWx.cpp: 53945 53946 2008-02-02 David Hyatt <hyatt (a] apple.com> 53947 53948 Fix for bug 4812. Support last-child and last-of-type CSS3 selectors. Brings Acid3 score up to 68/100. 53949 53950 Reviewed by olliej 53951 53952 Added fast/css/last-child-pseudo-class.html, fast/css/last-of-type-pseudo-class.html 53953 53954 * css/CSSGrammar.y: 53955 * css/CSSSelector.cpp: 53956 (WebCore::CSSSelector::extractPseudoType): 53957 * css/CSSSelector.h: 53958 (WebCore::CSSSelector::): 53959 * css/CSSStyleSelector.cpp: 53960 (WebCore::CSSStyleSelector::checkOneSelector): 53961 53962 2008-02-01 David Hyatt <hyatt (a] apple.com> 53963 53964 Make :first-child and :first-of-type properly dynamic when the DOM changes. Brings the Acid3 score up 53965 to 66/100. 53966 53967 Reviewed by olliej 53968 53969 Added fast/css/first-child-pseudo-class.html, fast/css/first-of-type-pseudo-class.html, fast/css/empty-body-test.html 53970 53971 * css/CSSGrammar.y: 53972 * css/CSSStyleSelector.cpp: 53973 (WebCore::CSSStyleSelector::checkOneSelector): 53974 * dom/Element.cpp: 53975 (WebCore::Element::recalcStyle): 53976 (WebCore::Element::childrenChanged): 53977 * rendering/RenderStyle.cpp: 53978 (WebCore::RenderStyle::RenderStyle): 53979 * rendering/RenderStyle.h: 53980 (WebCore::RenderStyle::childrenAffectedByFirstChildRules): 53981 (WebCore::RenderStyle::setChildrenAffectedByFirstChildRules): 53982 (WebCore::RenderStyle::childrenAffectedByLastChildRules): 53983 (WebCore::RenderStyle::setChildrenAffectedByLastChildRules): 53984 (WebCore::RenderStyle::childrenAffectedByPositionalRules): 53985 (WebCore::RenderStyle::setChildrenAffectedByPositionalRules): 53986 (WebCore::RenderStyle::firstChildState): 53987 (WebCore::RenderStyle::setFirstChildState): 53988 (WebCore::RenderStyle::lastChildState): 53989 (WebCore::RenderStyle::setLastChildState): 53990 53991 2008-02-02 Dan Bernstein <mitz (a] apple.com> 53992 53993 Reviewed by Oliver Hunt. 53994 53995 - fix <rdar://problem/5720637> Missing characters in right-to-left complex text where different fonts are used in the same run 53996 53997 * platform/graphics/win/UniscribeController.cpp: 53998 (WebCore::UniscribeController::advance): Fixed an off-by-1 error in the 53999 start offset of sub-runs of RTL runs. Changed to update 54000 m_currentCharacter to the first character of the sub-run before calling 54001 itemizeShapeAndPlace. In RTL runs, m_currentCharacter decreases as 54002 sub-runs are processed from left to right. 54003 (WebCore::UniscribeController::itemizeShapeAndPlace): Removed the 54004 updating of m_currentCharacter because advance() does it now. 54005 54006 2008-02-01 Brady Eidson <beidson (a] apple.com> 54007 54008 Reviewed by Darin's rubberstamp 54009 54010 Move the SecurityOriginHash out into a separate header as it will soon be used in different places 54011 54012 * WebCore.xcodeproj/project.pbxproj: 54013 * platform/SecurityOriginHash.h: Added. 54014 (WebCore::SecurityOriginHash::hash): 54015 (WebCore::SecurityOriginHash::equal): 54016 (WebCore::SecurityOriginTraits::deletedValue): 54017 (WebCore::SecurityOriginTraits::emptyValue): 54018 * storage/DatabaseTracker.cpp: 54019 54020 2008-02-01 Darin Adler <darin (a] apple.com> 54021 54022 Reviewed by Tim. 54023 54024 - fixed mistake in the JSLock fix that caused an assertion every time 54025 54026 * bindings/js/JSCustomSQLTransactionCallback.cpp: 54027 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): Added JSLock. 54028 (WebCore::unprotectOnMainThread): Ditto. 54029 54030 2008-02-01 Anders Carlsson <andersca (a] apple.com> 54031 54032 Reviewed by Antti and Darin. 54033 54034 Change Text::createWithLengthLimit to take a UChar pointer instead of a string. This 54035 lets us avoid making a copy of the buffer in TextDocument.cpp. 54036 54037 * dom/Text.cpp: 54038 (WebCore::Text::createWithLengthLimit): 54039 * dom/Text.h: 54040 * html/HTMLParser.cpp: 54041 (WebCore::HTMLParser::parseToken): 54042 * loader/TextDocument.cpp: 54043 (WebCore::TextTokenizer::write): 54044 54045 2008-02-01 Darin Adler <darin (a] apple.com> 54046 54047 Reviewed by Adam. 54048 54049 * platform/network/mac/ResourceHandleMac.mm: 54050 (WebCore::ResourceHandle::loadsBlocked): Fix grammar and word typo. 54051 54052 2008-02-01 Darin Adler <darin (a] apple.com> 54053 54054 Reviewed by Adam. 54055 54056 - fix <rdar://problem/4527931> showModalDialog calls from onload functions fail (Aspect) 54057 54058 No automated regression test because showModalDialog doesn't work in DumpRenderTree. 54059 54060 * platform/network/mac/ResourceHandleMac.mm: 54061 (WebCore::CallbackGuard::CallbackGuard): Added. 54062 (WebCore::CallbackGuard::~CallbackGuard): Added. 54063 (WebCore::ResourceHandle::supportsBufferedData): Simplified to take advantage of how 54064 static initialization works in C++. 54065 (WebCore::ResourceHandle::loadsBlocked): Always return false on Leopard. The problem in 54066 NSURLConnection that created the need to block loads is fixed in Leoaprd. This is the 54067 bug fix. 54068 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 54069 Use CallbackGuard instead of directly incrementing the count; allows us to omit the code 54070 entirely on Leopard. 54071 (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): 54072 Ditto. 54073 (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]): 54074 Ditto. 54075 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 54076 Ditto. 54077 (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): 54078 Ditto. 54079 (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]): 54080 Ditto. 54081 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): 54082 Ditto. 54083 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): 54084 Ditto. 54085 (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): 54086 Ditto. Fixes a problem where this could leave inNSURLConnectionCallback set 54087 permanently in one of the code paths; this would break showModalDialog from that 54088 point on. This problem doesn't affect Safari. 54089 54090 2008-02-01 Darin Adler <darin (a] apple.com> 54091 54092 * platform/network/mac/ResourceHandleMac.mm: 54093 (WebCore::ResourceHandle::loadsBlocked): Roll out accidentally checked in file. 54094 54095 2008-02-01 Darin Adler <darin (a] apple.com> 54096 54097 Reviewed by Geoff and Brady. 54098 54099 - fix <rdar://problem/5680469> Each database worker thread takes a JSLock, 54100 which slows down all JavaScript execution until the thread terminates 54101 54102 * bindings/js/JSCustomSQLTransactionCallback.cpp: 54103 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): 54104 Explicitly gcProtect, since we aren't using ProtectedPtr any more. 54105 (WebCore::unprotectOnMainThread): Added. 54106 (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback): 54107 Use unprotectOnMainThread rather than doing a gcUnprotect here. 54108 * bindings/js/JSCustomSQLTransactionCallback.h: Changed m_callback from 54109 a ProtectedPtr to a plain old JSObject*; we gcProtect by hand now. 54110 54111 * loader/icon/IconDatabase.cpp: 54112 (WebCore::IconDatabase::notifyPendingLoadDecisionsOnMainThread): 54113 Renamed. Changed to takea a void* with the icon database pointer. 54114 (WebCore::IconDatabase::notifyPendingLoadDecisions): Renamed. 54115 (WebCore::IconDatabase::performURLImport): Updated name, and pass the 54116 icon database pointer in. 54117 * loader/icon/IconDatabase.h: Renamed and added void* parameter. 54118 54119 * platform/Threading.h: Changed callOnMainThread to take a function with a 54120 single parameter rather than a function with no parameters. Added a typedef. 54121 54122 * platform/gtk/ThreadingGtk.cpp: 54123 (WebCore::callFunctionOnMainThread): Changed to use a structure with both 54124 a function pointer and a context pointer, and delete it after calling. 54125 (WebCore::callOnMainThread): Changed to create the structure with both 54126 the function and context pointer. 54127 54128 * platform/mac/Threading.mm: 54129 (-[WebCoreFunctionWrapper initWithFunction:context:]): Added context. 54130 (-[WebCoreFunctionWrapper invoke]): Updated to do both function and context. 54131 Renamed from _call. 54132 (WebCore::callOnMainThread): Updated to take both function and context. 54133 54134 * platform/qt/ThreadingQt.cpp: 54135 (WebCore::PerformFunctionEvent::PerformFunctionEvent): Added context. 54136 (WebCore::PerformFunctionEvent::invoke): Added. Calls function with context pointer. 54137 (WebCore::MainThreadInvoker::event): Changed to call invoke. 54138 (WebCore::callOnMainThread): Updated to take both function and context. 54139 54140 * platform/win/ThreadingWin.cpp: Added FunctionWithContext. 54141 (WebCore::callFunctionsOnMainThread): Changed to pass call function with context. 54142 (WebCore::callOnMainThread): Updated to queue both function and context. 54143 54144 * platform/wx/ThreadingWx.cpp: 54145 (WebCore::callOnMainThread): Updated to take both function and context. 54146 54147 * storage/Database.cpp: 54148 (WebCore::Database::scheduleTransactionCallback): Pass 0 for context. 54149 (WebCore::Database::deliverAllPendingCallbacks): Changed to take ignored context pointer. 54150 * storage/Database.h: Added void* parameter to deliverAllPendingCallbacks. 54151 54152 * storage/DatabaseTracker.cpp: 54153 (WebCore::DatabaseTracker::scheduleForNotification): Pass 0 for context. 54154 (WebCore::DatabaseTracker::notifyDatabasesChanged): Changed to take ignored context pointer. 54155 * storage/DatabaseTracker.h: Added void* parameter to notifyDatabasesChanged. 54156 54157 2008-02-01 Jon Honeycutt <jhoneycutt (a] apple.com> 54158 54159 Rubber-stamped by Ollie. 54160 54161 * plugins/win/PluginPackageWin.cpp: 54162 (WebCore::PluginPackageWin::load): Fix two function pointers 54163 54164 2008-02-01 Geoffrey Garen <ggaren (a] apple.com> 54165 54166 Reviewed by John Sullivan, Oliver Hunt. 54167 54168 Fixed <rdar://problem/5688039> REGRESSION (r29428): Weather widget 54169 fails to load due to reliance on "var location" quirk 54170 54171 Added a Dashboard quirk. 54172 54173 * bindings/js/kjs_window.cpp: 54174 (KJS::Window::put): In DB backwards compatibility mode, make assignment 54175 to window.location in top-level windows shadow the DOM location API 54176 instead of performing a navigation. This makes a reasonable amount of 54177 sense, because widgets can't navigate their top-level frames, anyway. 54178 54179 2008-02-01 David Hyatt <hyatt (a] apple.com> 54180 54181 Fix for bug 11387, CSS3 :empty selector is not dynamic. 54182 54183 Add support for dynamically updating elements whose style is affected by :empty when the child count changes. 54184 54185 Reviewed by olliej, mitzpettel 54186 54187 fast/css/empty-pseudo-class.html 54188 54189 * css/CSSStyleSelector.cpp: 54190 (WebCore::CSSStyleSelector::locateSharedStyle): 54191 (WebCore::CSSStyleSelector::checkOneSelector): 54192 * dom/Element.cpp: 54193 (WebCore::Element::childrenChanged): 54194 * dom/Element.h: 54195 * rendering/RenderStyle.h: 54196 (WebCore::RenderStyle::affectedByEmpty): 54197 (WebCore::RenderStyle::emptyState): 54198 (WebCore::RenderStyle::setEmptyState): 54199 54200 2008-02-01 Dan Bernstein <mitz (a] apple.com> 54201 54202 Reviewed by Darin Adler. 54203 54204 - switch line breaking from using Carbon Unicode Utilities to using ICU 54205 on Leopard 54206 <http://bugs.webkit.org/show_bug.cgi?id=4628> 54207 54208 fast/text/international/thai-line-breaks.html results do not change. 54209 54210 * rendering/break_lines.cpp: 54211 (WebCore::nextBreakablePosition): Changed to use Carbon only on Tiger. 54212 54213 2008-02-01 Rodney Dawes <dobey (a] wayofthemonkey.com> 54214 54215 Reviewed by Darin. 54216 54217 Update npfunctions.h to export the proper function signatures for UNIX and add 54218 the appropriate #if around the Windows versions 54219 54220 * plugins/npfunctions.h: 54221 54222 2008-02-01 Eric Seidel <eric (a] webkit.org> 54223 54224 Reviewed by Oliver. 54225 54226 Add getSVGDocument to frame and iframe. 54227 54228 Test: svg/custom/frame-getSVGDocument.html 54229 54230 * html/HTMLEmbedElement.cpp: 54231 * html/HTMLEmbedElement.h: 54232 * html/HTMLFrameElement.idl: 54233 * html/HTMLFrameOwnerElement.cpp: 54234 (WebCore::HTMLFrameOwnerElement::getSVGDocument): 54235 * html/HTMLFrameOwnerElement.h: 54236 * html/HTMLIFrameElement.idl: 54237 * html/HTMLObjectElement.cpp: 54238 * html/HTMLObjectElement.h: 54239 54240 2008-01-30 Eric Seidel <eric (a] webkit.org> 54241 54242 Reviewed by darin. 54243 54244 Beat CSSParser with the RefPtr stick. Hopefully squashing any leaks in the process. 54245 (Deploy RefPtr and PassRefPtr throughout CSSParser) 54246 http://bugs.webkit.org/show_bug.cgi?id=17108 54247 54248 No functional changes, thus no tests. 54249 54250 * css/CSSParser.cpp: 54251 (WebCore::CSSParser::parseColor): 54252 (WebCore::CSSParser::parseValue): 54253 (WebCore::CSSParser::addBackgroundValue): 54254 (WebCore::CSSParser::parseBackgroundShorthand): 54255 (WebCore::CSSParser::addTransitionValue): 54256 (WebCore::CSSParser::parseTransitionShorthand): 54257 (WebCore::CSSParser::parseBackgroundPosition): 54258 (WebCore::CSSParser::parseBackgroundProperty): 54259 (WebCore::CSSParser::parseTransitionProperty): 54260 (WebCore::CSSParser::parseFontFaceSrc): 54261 (WebCore::ShadowParseContext::ShadowParseContext): 54262 (WebCore::CSSParser::parseShadow): 54263 (WebCore::BorderImageParseContext::BorderImageParseContext): 54264 (WebCore::BorderImageParseContext::commitBorderImage): 54265 * css/CSSParser.h: 54266 * css/SVGCSSParser.cpp: 54267 (WebCore::CSSParser::parseSVGValue): 54268 54269 2008-01-31 Oliver Hunt <oliver (a] apple.com> 54270 54271 RS=Brady. 54272 54273 Add platform/Locker.h to vcproj 54274 54275 * WebCore.vcproj/WebCore.vcproj: 54276 54277 2008-01-31 Brady Eidson <beidson (a] apple.com> 54278 54279 Build fix 54280 54281 * WebCore.xcodeproj/project.pbxproj: Header -> WebKit 54282 54283 2008-01-31 Brady Eidson <beidson (a] apple.com> 54284 54285 Reviewed by Maciej 54286 54287 Abstracted the concept of a "Locker" as upcoming work will rely on it. 54288 54289 * platform/Locker.h: Added. Template class to "lock()" and "unlock()" some arbitrary object 54290 (WebCore::Locker::Locker): Lock the object 54291 (WebCore::Locker::~Locker): Unlock it 54292 * platform/Threading.h: `class MutexLocker` is now `typedef Locker<Mutex>` 54293 * WebCore.xcodeproj/project.pbxproj: 54294 54295 2008-01-31 Kevin McCullough <kmccullough (a] apple.com> 54296 54297 <rdar://problem/5716912> REGRESSION (r29816): Can't navigate back to 54298 Gmail Inbox from Gmail Compose page 54299 Rolling out the change that caused the regression. 54300 54301 * WebCore.base.exp: 54302 * bindings/js/JSHTMLDocumentCustom.cpp: 54303 (WebCore::JSHTMLDocument::open): 54304 * dom/DOMImplementation.cpp: 54305 (WebCore::DOMImplementation::createHTMLDocument): 54306 * dom/Document.cpp: 54307 (WebCore::Document::recalcStyle): 54308 (WebCore::Document::open): 54309 (WebCore::Document::write): 54310 (WebCore::Document::clear): 54311 * dom/Document.h: 54312 * history/HistoryItem.cpp: 54313 (WebCore::HistoryItem::HistoryItem): 54314 * history/HistoryItem.h: 54315 * loader/FrameLoader.cpp: 54316 (WebCore::FrameLoader::didExplicitOpen): 54317 (WebCore::FrameLoader::load): 54318 (WebCore::FrameLoader::reloadAllowingStaleData): 54319 (WebCore::FrameLoader::reload): 54320 (WebCore::FrameLoader::tokenizerProcessedData): 54321 (WebCore::FrameLoader::post): 54322 (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): 54323 (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): 54324 (WebCore::FrameLoader::loadItem): 54325 * loader/FrameLoader.h: 54326 * platform/text/CharacterNames.h: 54327 * xml/DOMParser.cpp: 54328 (WebCore::DOMParser::parseFromString): 54329 * xml/XMLHttpRequest.cpp: 54330 (WebCore::XMLHttpRequest::getResponseXML): 54331 * xml/XSLTProcessor.cpp: 54332 (WebCore::XSLTProcessor::createDocumentFromSource): 54333 54334 2008-01-31 Matt Lilek <webkit (a] mattlilek.com> 54335 54336 Reviewed by Tim Hatcher. 54337 54338 Bug 14960: Cannot copy text in Web Inspector Network panel 54339 http://bugs.webkit.org/show_bug.cgi?id=14960 54340 54341 * page/inspector/inspector.css: 54342 54343 2008-01-31 Matt Lilek <webkit (a] mattlilek.com> 54344 54345 Reviewed by Adam Roben. 54346 54347 Bug 14514: Add full URL view on mouseOver in the network page 54348 http://bugs.webkit.org/show_bug.cgi?id=14514 54349 <rdar://problem/5712841> 54350 54351 * page/inspector/inspector.js: 54352 54353 2008-01-31 Alp Toker <alp (a] atoker.com> 54354 54355 Rubber-stamped Adam Roben. 54356 54357 http://bugs.webkit.org/show_bug.cgi?id=17006 54358 [GTK] Header path should be webkit/webkit.h 54359 54360 Move the GTK+ API sources as needed and update the build systems. 54361 54362 * GNUmakefile.am: 54363 * WebCore.pro: 54364 54365 2008-01-31 Sam Weinig <sam (a] webkit.org> 54366 54367 Reviewed by Geoff Garen. 54368 54369 No need to get the prototype just to compare compare property names. 54370 54371 * bindings/js/JSHistoryCustom.cpp: 54372 (WebCore::JSHistory::customGetOwnPropertySlot): 54373 54374 2008-01-31 Sam Weinig <sam (a] webkit.org> 54375 54376 Fix non-mac builds. 54377 54378 * GNUmakefile.am: 54379 * WebCore.pro: 54380 * WebCore.vcproj/WebCore.vcproj: 54381 * WebCoreSources.bkl: 54382 54383 2008-01-31 David Hyatt <hyatt (a] apple.com> 54384 54385 Fix for bug 17101. 54386 54387 List items need to ignore the line box shrinking quirk, since IE and Firefox both do. 54388 54389 Reviewed by Eric 54390 54391 fast/lists/list-item-line-height.html 54392 54393 * rendering/InlineFlowBox.h: 54394 (WebCore::InlineFlowBox::InlineFlowBox): 54395 54396 2008-01-31 Samuel Weinig <sam (a] webkit.org> 54397 54398 Reviewed by Darin Adler. 54399 54400 Fix for <rdar://problem/5708993> Mutability of the History object 54401 54402 - Don't allow cross-domain get access to any of the history objects properties 54403 except the back(), forward() and go() methods. 54404 - Don't allow cross-domain put access to any of the history objects properties. 54405 - Don't allow cross-domain enumeration of the History or Location objects. 54406 54407 Tests: http/tests/security/cross-frame-access-history-get-override.html 54408 http/tests/security/cross-frame-access-history-get.html 54409 http/tests/security/cross-frame-access-history-put.html 54410 54411 * WebCore.xcodeproj/project.pbxproj: 54412 * bindings/js/JSDOMWindowCustom.cpp: Remove unnessary KJS::'s 54413 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 54414 (WebCore::JSDOMWindow::customPut): 54415 (WebCore::JSDOMWindow::getPropertyNames): Moved implementation from KJS::Window now that the declaration is autogenerated 54416 using the new CustomGetPropertyNames. 54417 (WebCore::JSDOMWindow::postMessage): 54418 54419 * bindings/js/JSHistoryCustom.cpp: Added. 54420 (WebCore::allowsAccessFromFrame): 54421 (WebCore::JSHistory::customGetOwnPropertySlot): Only allow getting the declared functions back(), forward() and go() from cross-domain. 54422 Deny all other gets. 54423 (WebCore::JSHistory::customPut): Don't allow putting cross-domain. 54424 (WebCore::JSHistory::getPropertyNames): Don't allow enumeration cross-domain. 54425 54426 * bindings/js/JSLocation.cpp: 54427 (WebCore::allowsAccessFromFrame): 54428 (WebCore::JSLocation::getPropertyNames): Don't allow enumeration cross-domain. 54429 * bindings/js/JSLocation.h: 54430 54431 * bindings/js/kjs_window.cpp: 54432 * bindings/js/kjs_window.h: 54433 54434 * bindings/scripts/CodeGeneratorJS.pm: 54435 Add support for new CustomGetPropertNames extended attribute and changed the logic of CustomPutFunction 54436 to create an overrided put() function even if no read-write properties exist. 54437 54438 * page/DOMWindow.idl: Added CustomGetPropertNames 54439 * page/History.idl: Added CustomGetPropertNames 54440 54441 2008-01-30 Justin Garcia <justin.garcia (a] apple.com> 54442 54443 Reviewed by Darin Adler. 54444 54445 <rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail 54446 54447 * page/mac/WebCoreFrameBridge.h: Re-exposed smartInsertForString:, it's used by a WebKit method used by Mail. 54448 54449 2008-01-31 Adam Roben <aroben (a] apple.com> 54450 54451 Add line box drawing code to InspectorController::drawNodeHighlight 54452 54453 This makes drawNodeHighlight a complete replacement for the painting 54454 code in WebKit/mac/WebNodeHighlightView.mm, and also brings line box 54455 rects to Windows for the first time. 54456 54457 Reviewed by Darin. 54458 54459 * dom/Node.h: Changed isSVGElement to always exist, but to only be 54460 virtual when ENABLE(SVG) is true. This way you can always call 54461 node->isSVGElement() without checking ENABLE(SVG). 54462 * page/InspectorController.cpp: 54463 (WebCore::InspectorController::drawNodeHighlight): Ported line box 54464 rect code from the Mac implementation in WebNodeHighlightView.mm. 54465 54466 2008-01-31 Adam Roben <aroben (a] apple.com> 54467 54468 Put more knowledge about the node highlight in WebCore 54469 54470 InspectorController now calculates the overlay rect and node rect when 54471 drawing the node highlight instead of having them be passed in. 54472 InspectorController now holds onto the highlighted node so that it can 54473 determine these rects. 54474 54475 Once all platforms are calling down to drawNodeHighlight instead of 54476 drawing the highlight themselves, we can change 54477 InspectorClient::highlight(Node*) to something like 54478 InspectorClient::updateAndShowHighlight(). 54479 54480 This also fixes Bug 14264: Node highlight makes it impossible to 54481 scroll the page 54482 <http://bugs.webkit.org/show_bug.cgi?id=14264> 54483 <rdar://5712788> 54484 54485 Reviewed by Darin. 54486 54487 * page/InspectorController.cpp: 54488 (WebCore::InspectorController::highlight): Store the node for use in 54489 drawNodeHighlight. 54490 (WebCore::InspectorController::drawNodeHighlight): Changed to be a 54491 const instance method. Now calculates the overlay rect and node rect 54492 instead of having them passed in. 54493 * page/InspectorController.h: 54494 54495 2008-01-31 Adam Roben <aroben (a] apple.com> 54496 54497 Add node highlight drawing code to InspectorController 54498 54499 The code came from WebKit/win/WebNodeHighlight.cpp. It's not quite as 54500 complete as the Mac implementation (in particular, it doesn't handle 54501 line-box rects), but it's a start. 54502 54503 Reviewed by Darin. 54504 54505 * page/InspectorController.cpp: 54506 (WebCore::InspectorController::drawNodeHighlight): Added. 54507 * page/InspectorController.h: 54508 54509 2008-01-31 Dan Bernstein <mitz (a] apple.com> 54510 54511 Reviewed by Dave Hyatt. 54512 54513 - fix http://bugs.webkit.org/show_bug.cgi?id=17107 54514 <rdar://problem/5716722> REGRESSION (r29834): Article text on redhat.com magazine site appears to be painting twice 54515 54516 Test: fast/block/float/intruding-painted-twice.html 54517 54518 * rendering/RenderBlock.cpp: 54519 (WebCore::RenderBlock::layoutBlock): Pass 'false' for the new 54520 makeChildPaintOtherFloats parameter to addOverhangingFloats() because at 54521 this point we are only taking away floats from the child. 54522 (WebCore::RenderBlock::layoutBlockChildren): Pass 'true' for the new 54523 makeChildPaintOtherFloats parameter to addOverhangingFloats() iff the 54524 child was not laid out again. Only in that case, it may have overhanging 54525 floats that it does not paint because they used to be overhanging from 54526 the parent, but now they are not. 54527 (WebCore::RenderBlock::addOverhangingFloats): Refined the conditions for 54528 making the child paint the float: require that the float be a descendant 54529 of the child (the other case is when it intrudes into the child from 54530 another sibling) and that it does not have a layer (in which case it 54531 paints itself). In addition, do the check only if the caller passed 54532 'true' for the makeChildPaintOtherFloats parameter. 54533 * rendering/RenderBlock.h: 54534 54535 2008-01-30 Dan Bernstein <mitz (a] apple.com> 54536 54537 Reviewed by Sam Weinig. 54538 54539 - change the interpretation of unicode-range values in "from-to" form 54540 to include the "to" character. 54541 54542 Test: fast/css/font-face-unicode-range.html 54543 54544 * css/CSSParser.cpp: 54545 (WebCore::CSSParser::parseFontFaceUnicodeRange): 54546 * css/CSSSegmentedFontFace.cpp: 54547 (WebCore::CSSSegmentedFontFace::overlayRange): 54548 * platform/graphics/GlyphPageTreeNode.cpp: 54549 (WebCore::GlyphPageTreeNode::initializePage): 54550 * platform/graphics/SegmentedFontData.cpp: 54551 (WebCore::SegmentedFontData::fontDataForCharacter): 54552 (WebCore::SegmentedFontData::containsCharacters): 54553 54554 2008-01-30 Dan Bernstein <mitz (a] apple.com> 54555 54556 Reviewed by Darin Adler. 54557 54558 - prune references to custom fonts' SimpleFontData from the glyph page 54559 tree when they are destroyed 54560 54561 * css/CSSFontFaceSource.cpp: 54562 (WebCore::CSSFontFaceSource::pruneTable): 54563 54564 2008-01-30 Darin Adler <darin (a] apple.com> 54565 54566 Reviewed by Tim Hatcher. 54567 54568 New fix for <rdar://problem/5688428> Reproducible assertion failure 54569 in SQLTransaction::performNextStep() (16876) 54570 54571 Fixes a deadlock that was happening for all Database use. All 54572 storage layout tests pass. 54573 54574 * storage/Database.cpp: 54575 (WebCore::CurrentThreadSetter::CurrentThreadSetter): New helper class 54576 to set the current thread and zero it on destruction. 54577 (WebCore::CurrentThreadSetter::~CurrentThreadSetter): Set threadIdentifierStorage to 0. 54578 (WebCore::Database::Database): Set m_transactionStepThread to 0. 54579 (WebCore::Database::performTransactionStep): Set m_transactionStepThread to currentThread(). 54580 (WebCore::Database::scheduleTransactionCallback): Assert m_transactionStepThread 54581 is currentThread(). 54582 * storage/Database.h: Add m_transactionStepThread for debug builds 54583 to track which thread performTransactionStep() was called on. 54584 54585 2008-01-30 Timothy Hatcher <timothy (a] apple.com> 54586 54587 Reviewed by Darin Adler. 54588 54589 ASSERTION FAILED: JSLock::lockCount() > 0 when opening the 54590 Web Inspector on a page with a Database. 54591 54592 Fix the ASSERT by taking a JSLock before calling toJS(). 54593 54594 * page/InspectorController.cpp: 54595 (WebCore::InspectorController::addDatabaseScriptResource): 54596 54597 2008-01-30 Beth Dakin <bdakin (a] apple.com> 54598 54599 Reviewed by Darin. 54600 54601 Fix for <rdar://problem/5598609> CrashTracer: [USER] 626 crashes in 54602 Safari at com.apple.WebCore: WebCore::FrameView::needsFullRepaint 54603 const + 6 54604 54605 The real problem here is tracked by rdar://5598072, which is that 54606 frames can lose sync between their view and their document when a 54607 non-HTML view is loaded (such as bookmarks view or a PDF). That can 54608 cause this crash if the layout timer fires before things have fixed 54609 themselves. This fix turns an ASSERT in FrameView::layout() into an 54610 early return to cause graceful failure until the root of the 54611 problem is addressed. 54612 54613 * page/FrameView.cpp: 54614 (WebCore::FrameView::layout): 54615 54616 2008-01-30 Justin Garcia <justin.garcia (a] apple.com> 54617 54618 Reviewed by Darin Adler. 54619 54620 <rdar://problem/5700414> REGRESSION (Adama-ToT): Selecting "Header 1" style in Leopard Server wiki inserts newline 54621 54622 * editing/FormatBlockCommand.cpp: 54623 (WebCore::FormatBlockCommand::doApply): If the selected paragraph was empty, 54624 we may still need to call moveParagrah to remove the line break that holds that 54625 paragraph open because the new block of the requested type needs to to replace it. 54626 54627 2008-01-30 Timothy Hatcher <timothy (a] apple.com> 54628 54629 Reviewed by Darin Adler. 54630 54631 <rdar://problem/5688428> Reproducible assertion failure in SQLTransaction::performNextStep() (16876) 54632 54633 Revised fix to use the globalCallbackMutex() mutex and hold the mutex 54634 for the entire function scope. 54635 54636 * storage/Database.cpp: 54637 (WebCore::Database::performTransactionStep): 54638 54639 2008-01-30 Timothy Hatcher <timothy (a] apple.com> 54640 54641 Reviewed by Adam Roben. 54642 54643 Make ResourceTreeElement inherit the prototype of TreeElement. 54644 54645 * page/inspector/Resource.js: 54646 54647 2008-01-30 Sam Weinig <sam (a] webkit.org> 54648 54649 Reviewed by Adam Roben. 54650 54651 Don't include SecurityOrigin.h in Document.h so that we can avoid massive 54652 recompilation when changing the SecurityOrigin. 54653 54654 * dom/Document.cpp: 54655 (WebCore::Document::setSecurityOrigin): 54656 * dom/Document.h: 54657 54658 2008-01-30 Tim Omernick <timo (a] apple.com> 54659 54660 Reviewed by Tim Hatcher and Brady. 54661 54662 <rdar://problem/5688428> Reproducible assertion failure in SQLTransaction::performNextStep() (16876) 54663 54664 * storage/Database.cpp: 54665 (WebCore::Database::performTransactionStep): Do not perform the next transaction if 54666 a global callback is already scheduled. 54667 54668 2008-01-30 Jon Honeycutt <jhoneycutt (a] apple.com> 54669 54670 Reviewed by Darin. 54671 54672 <rdar://problem/5669317> Crash closing pop up window with Real Player 54673 content 54674 54675 Some RealPlayer versions hang on unload. To prevent this hang, don't 54676 unload versions since the last known unloadable version. 54677 <rdar://problem/5713147> tracks revisiting this when the bug in 54678 RealPlayer is fixed and we can again unload the plug-in. 54679 54680 * plugins/win/PluginPackageWin.cpp: 54681 (WebCore::PluginPackageWin::compareFileVersion): Compare the plug-in's 54682 file version to the passed file version, returning -1, 0, or 1 if the 54683 plug-in's version is less than, equal to, or greater than the version 54684 passed. 54685 (WebCore::PluginPackageWin::isPluginBlacklisted): Use 54686 compareFileVersion() 54687 * plugins/win/PluginPackageWin.h: 54688 * plugins/win/PluginViewWin.cpp: 54689 (WebCore::PluginViewWin::determineQuirks): If the plug-in version is 54690 newer than the last-known unloadable version, add the DontUnloadPlugin 54691 quirk 54692 54693 2008-01-29 Mark Rowe <mrowe (a] apple.com> 54694 54695 Reviewed by Tim Hatcher. 54696 54697 Look for headers relative to NEXT_ROOT so that build-root picks up the WebCoreSQLite 54698 version of sqlite3.h rather than the older system version. 54699 54700 * Configurations/Base.xcconfig: 54701 54702 2008-01-29 Dan Bernstein <mitz (a] apple.com> 54703 54704 - build fix 54705 54706 * loader/CachedFont.cpp: 54707 (WebCore::CachedFont::CachedFont): 54708 54709 2008-01-29 Mark Rowe <mrowe (a] apple.com> 54710 54711 Reviewed by Brady Eidson. 54712 54713 Add the correct directory to the header search paths in Production builds. 54714 54715 * Configurations/Base.xcconfig: 54716 54717 2008-01-29 Dan Bernstein <mitz (a] apple.com> 54718 54719 Reviewed by Dave Hyatt. 54720 54721 - fix http://bugs.webkit.org/show_bug.cgi?id=17085 54722 <rdar://problem/5714136> REGRESSION (r29839): All remote fonts are treated as SVG fonts 54723 54724 Test: fast/css/font-face-remote.html 54725 54726 Added an isSVGFont method to CachedFont and use it to decide how to 54727 process the font data. Currently whether the data is SVG is determined 54728 based on the format property in the @font-face rule, but in the future 54729 the MIME type or other metadata may be used when the format is 54730 unspecified. 54731 54732 * css/CSSFontFaceSource.cpp: 54733 (WebCore::CSSFontFaceSource::getFontData): Changed to parse the data as 54734 SVG only if the CachedFont is an SVG font. 54735 * css/CSSFontSelector.cpp: 54736 (WebCore::CSSFontSelector::addFontFaceRule): Mark the CachedFont as an 54737 SVG font based on format. 54738 * loader/CachedFont.cpp: 54739 (WebCore::CachedFont::CachedFont): Initialize m_isSVGFont to false. 54740 (WebCore::CachedFont::ensureCustomFontData): 54741 (WebCore::CachedFont::ensureSVGFontData): 54742 (WebCore::CachedFont::getSVGFontById): 54743 * loader/CachedFont.h: 54744 (WebCore::CachedFont::isSVGFont): Added. 54745 (WebCore::CachedFont::setSVGFont): Added. 54746 54747 2008-01-29 Antti Koivisto <antti (a] apple.com> 54748 54749 Some comment cleanup. 54750 54751 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 54752 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): 54753 * platform/graphics/win/QTMovieWin.cpp: 54754 (QTMovieWin::load): 54755 (QTMovieWin::disableUnsupportedTracks): 54756 54757 2008-01-29 Adele Peterson <adele (a] apple.com> 54758 54759 Reviewed by Antti. 54760 54761 Fix for <rdar://5683527> media/{audio,video|-controls-rendering.html failing 54762 54763 * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::isControlStyled): 54764 Don't treat all media controls as styled. This causes builds with an old version of SafariTheme to have different metrics for these controls. 54765 54766 2008-01-29 Dan Bernstein <mitz (a] apple.com> 54767 54768 Reviewed by Dave Hyatt. 54769 54770 - make Font instances cache their primary font 54771 54772 * WebCore.base.exp: 54773 * platform/graphics/Font.cpp: 54774 (WebCore::Font::Font): 54775 (WebCore::Font::operator=): 54776 (WebCore::Font::cachePrimaryFont): 54777 (WebCore::Font::update): 54778 * platform/graphics/Font.h: 54779 (WebCore::Font::primaryFont): 54780 54781 2008-01-29 Dan Bernstein <mitz (a] apple.com> 54782 54783 - Leopard build fix 54784 54785 * platform/graphics/SimpleFontData.cpp: 54786 (WebCore::SimpleFontData::SimpleFontData): 54787 54788 2008-01-29 Mark Rowe <mrowe (a] apple.com> 54789 54790 Reviewed by Tim Hatcher. 54791 54792 <rdar://problem/5600926> WebCore on Tiger must link to its own copy of SQLite 3.4 or newer (so HTML database behavior will be correct). 54793 54794 * Configurations/Base.xcconfig: Update the header search path on Tiger. 54795 * Configurations/DebugRelease.xcconfig: Update the header search path on Tiger. 54796 * Configurations/WebCore.xcconfig: Link against libWebCoreSQLite3.a when building on Tiger. 54797 * WebCore.xcodeproj/project.pbxproj: Update the header search path in Production builds on Tiger. 54798 54799 2008-01-29 Dan Bernstein <mitz (a] apple.com> 54800 54801 Reviewed by Adam Roben and Oliver Hunt. 54802 54803 - fix <rdar://problem/5713131> REGRESSION (r29246): Many SVG font tests are failing 54804 54805 * platform/graphics/SimpleFontData.cpp: 54806 (WebCore::SimpleFontData::SimpleFontData): Use double instead of float 54807 for consistent rounding behavior between Mac OS X and Windows. 54808 54809 2008-01-29 Adam Roben <aroben (a] apple.com> 54810 54811 Fix <rdar://5713302> Web Inspector on Windows is not using the 54812 localized strings 54813 54814 Reviewed by Steve. 54815 54816 * WebCore.vcproj/WebCore.vcproj: Copy InspectorLocalizedStrings.js to 54817 $WebKitOutputDir. 54818 * page/InspectorController.cpp: Touch this to force the project to 54819 build. 54820 54821 2008-01-29 Eric Seidel <eric (a] webkit.org> 54822 54823 Reviewed by Nikolas. 54824 54825 Acid3 after double-attach 54826 http://bugs.webkit.org/show_bug.cgi?id=17058 54827 54828 I believe SVGTextPathElement::buildPendingResource() was entirely 54829 bogus, removing it did not cause any tests to fail. 54830 54831 Test: svg/custom/textPath-assert.svg 54832 54833 * svg/SVGTextPathElement.cpp: 54834 (WebCore::SVGTextPathElement::insertedIntoDocument): remove buildPendingResource() 54835 * svg/SVGTextPathElement.h: 54836 54837 2008-01-29 Adam Roben <aroben (a] apple.com> 54838 54839 Fix Bug 16234: Inspector should support searching for elements by CSS selectors 54840 54841 <http://bugs.webkit.org/show_bugs.cgi?id=16234> 54842 <rdar://5712862> 54843 54844 Reviewed by Tim. 54845 54846 * page/inspector/inspector.js: Use Document.querySelectorAll to search 54847 for elements by CSS selector. Also store a custom property on nodes 54848 being added to the search results to avoid showing the same node more 54849 than once. 54850 54851 2008-01-29 Adam Roben <aroben (a] apple.com> 54852 54853 Fix <rdar://5711136> Full-screen Flash on 1up.com is unresponsive 54854 54855 Reviewed by Anders and Darin. 54856 54857 No test possible. 54858 54859 * plugins/win/PluginViewWin.cpp: 54860 (WebCore::PluginViewWin::wndProc): Set/release capture on mouse 54861 down/up, like Firefox does. 54862 54863 2008-01-28 Dan Bernstein <mitz (a] apple.com> 54864 54865 Reviewed by Sam Weinig. 54866 54867 - make isSVGFont non-virtual 54868 54869 * platform/graphics/FontData.h: 54870 * platform/graphics/SegmentedFontData.cpp: 54871 * platform/graphics/SegmentedFontData.h: 54872 * platform/graphics/SimpleFontData.h: 54873 (WebCore::SimpleFontData::isSVGFont): 54874 54875 2008-01-28 Dan Bernstein <mitz (a] apple.com> 54876 54877 Reviewed by Adam Roben. 54878 54879 - fix <rdar://problem/5700824> Chunky scrolling + scrolling artifacts @ netflix.com/Notebook 54880 54881 * platform/win/ScrollViewWin.cpp: 54882 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): Send the scroll 54883 event before updating the window, thus giving event handlers a chance 54884 to update layout for the new scroll position, eliminating the jitter. 54885 54886 2008-01-28 Adam Roben <aroben (a] apple.com> 54887 54888 Fix <rdar://5555260> Gmail doesn't load when a user stylesheet is specified 54889 54890 Reviewed by Darin. 54891 54892 A null value exception was being thrown in Gmail's JS code because a 54893 call to document.write failed. document.write failed because 54894 Document::close had not yet been called. Document::close was not 54895 called because the Document was considered to not be "complete" in 54896 FrameLoader::checkComplete because the user stylesheet was in the 54897 process of loading. The user stylesheet was loading because it had 54898 previously been evicted from the cache and was loading fresh from 54899 disk. It had been evicted from the cache because the calculation of 54900 the expiration date was incorrectly casting/overflowing in 54901 ResourceResponseCFNet.cpp. 54902 54903 We now calculate the expiration date in a way that does not cause us 54904 to overflow a time_t, and we correctly clamp the value to the range of 54905 a time_t. I also made the fix for the last modified date, though that 54906 was not causing any bug I am aware of. 54907 54908 In the long-term it seems like whether or not Document::close is 54909 called should not be dependent upon whether the user stylesheet has 54910 finished loading or not. 54911 54912 * platform/network/cf/ResourceResponseCFNet.cpp: 54913 (WebCore::toTimeT): Added. Converts from CFAbsoluteTime to time_t and 54914 clamps to the range of time_t. 54915 (WebCore::ResourceResponse::doUpdateResourceResponse): Call toTimeT. 54916 54917 2008-01-28 Dan Bernstein <mitz (a] apple.com> 54918 54919 Reviewed by Nikolas Zimmermann. 54920 54921 - fix leaks introduced in r29838 54922 54923 * svg/SVGFont.cpp: 54924 (WebCore::floatWidthMissingGlyphCallback): 54925 (WebCore::drawTextMissingGlyphCallback): 54926 54927 2008-01-28 Nikolas Zimmermann <zimmermann (a] kde.org> 54928 54929 Reviewed by Eric, Dan & Oliver. 54930 54931 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16980 54932 54933 Support external SVG Fonts, by reusing the custom font handling logic. 54934 This enables us - as first engine - to render HTML pages using SVG Fonts. 54935 54936 Fixes fonts-elem-03-b.svg / fonts-elem-04-b.svg / fonts-elem-07-b.svg 54937 Add new testcase svg-fonts-in-html.html. 54938 54939 * css/CSSFontFaceSource.cpp: 54940 (WebCore::CSSFontFaceSource::getFontData): 54941 * css/CSSFontFaceSource.h: 54942 * css/CSSFontFaceSrcValue.cpp: 54943 (WebCore::CSSFontFaceSrcValue::isSVGFontFaceSrc): 54944 (WebCore::CSSFontFaceSrcValue::isSupportedFormat): 54945 * css/CSSFontFaceSrcValue.h: 54946 * css/CSSFontSelector.cpp: 54947 (WebCore::CSSFontSelector::addFontFaceRule): 54948 * loader/CachedFont.cpp: 54949 (WebCore::CachedFont::~CachedFont): 54950 (WebCore::CachedFont::ensureSVGFontData): 54951 (WebCore::CachedFont::extractFontFromSVGData): 54952 (WebCore::CachedFont::platformDataFromSVGData): 54953 * loader/CachedFont.h: 54954 * platform/graphics/Font.cpp: 54955 (WebCore::Font::offsetForPosition): 54956 * platform/graphics/Font.h: 54957 * svg/SVGFont.cpp: 54958 (WebCore::floatWidthOfSubStringUsingSVGFont): 54959 (WebCore::Font::drawTextUsingSVGFont): 54960 (WebCore::Font::offsetForPositionForTextUsingSVGFont): 54961 * svg/SVGFontFaceElement.cpp: 54962 (WebCore::SVGFontFaceElement::rebuildFontFace): 54963 * svg/SVGFontFaceElement.h: 54964 * svg/SVGFontFaceUriElement.cpp: 54965 (WebCore::SVGFontFaceUriElement::srcValue): 54966 54967 2008-01-28 Dan Bernstein <mitz (a] apple.com> 54968 54969 Reviewed by Adam Roben. 54970 54971 - fix svg/W3C-SVG-1.1/fonts-glyph-04-t.svg failure on Windows 54972 54973 The results differed between Mac OS X and Windows because the code was 54974 using a 0-size font, which Mac OS X changes to 12pt. 54975 54976 * svg/SVGFont.cpp: 54977 (WebCore::floatWidthMissingGlyphCallback): Use the font description of 54978 the primary font to initialize the fallback font. 54979 (WebCore::drawTextMissingGlyphCallback): Ditto. 54980 54981 2008-01-28 Eric Seidel <eric (a] webkit.org> 54982 54983 Reviewed by Nikolas Zimmermann. 54984 54985 Use class instead of struct to appease MSVC. 54986 54987 * history/HistoryItem.h: 54988 * loader/FrameLoaderClient.h: 54989 * page/InspectorController.h: 54990 * platform/network/ResourceRequestBase.h: 54991 * platform/network/mac/ResourceRequest.h: 54992 54993 2008-01-28 Dan Bernstein <mitz (a] apple.com> 54994 54995 Reviewed by Darin Adler. 54996 54997 - fix http://bugs.webkit.org/show_bug.cgi?id=16774 54998 REGRESSION (r27464-r27504) javascript popup menu does not display 'close' button 54999 55000 Test: fast/dynamic/float-no-longer-overhanging.html 55001 55002 * rendering/RenderBlock.cpp: 55003 (WebCore::RenderBlock::addOverhangingFloats): If a child's float turns 55004 out not to be overhanging at this time, ensure that the child paints it. 55005 55006 2008-01-28 Oliver Hunt <oliver (a] apple.com> 55007 55008 More wx fixes 55009 55010 * platform/graphics/wx/AffineTransformWx.cpp: 55011 55012 2008-01-28 Oliver Hunt <oliver (a] apple.com> 55013 55014 And another Wx build fix 55015 55016 * platform/graphics/wx/AffineTransformWx.cpp: 55017 (WebCore::AffineTransform::mapRect): 55018 55019 2008-01-28 Oliver Hunt <oliver (a] apple.com> 55020 55021 Yet another Wx build fix 55022 55023 * platform/graphics/wx/GraphicsContextWx.cpp: 55024 55025 2008-01-28 Oliver Hunt <oliver (a] apple.com> 55026 55027 Wx build fix 55028 55029 * platform/graphics/wx/GraphicsContextWx.cpp: 55030 (WebCore::GraphicsContext::getCTM): 55031 55032 2008-01-28 Oliver Hunt <oliver (a] apple.com> 55033 55034 Gtk build fix 55035 55036 * platform/graphics/cairo/GraphicsContextCairo.cpp: 55037 55038 2008-01-27 Oliver Hunt <oliver (a] apple.com> 55039 55040 Reviewed by Sam Weinig. 55041 55042 Bug 16629: <canvas> does not support isPointInPath() 55043 55044 Relatively trivial change to implement pointInPath and add 55045 it to the bindings. Most of this patch is the addition of 55046 GraphicsContext::getCTM() by pulling the various platform 55047 implementations from CanvasRenderingContext2D::willDraw 55048 55049 Test: fast/canvas/pointInPath.html 55050 55051 * html/CanvasRenderingContext2D.cpp: 55052 (WebCore::CanvasRenderingContext2D::isPointInPath): 55053 (WebCore::CanvasRenderingContext2D::willDraw): 55054 * html/CanvasRenderingContext2D.h: 55055 * html/CanvasRenderingContext2D.idl: 55056 * platform/graphics/AffineTransform.cpp: 55057 (WebCore::AffineTransform::mapPoint): 55058 Support mapping of FloatRects 55059 * platform/graphics/AffineTransform.h: 55060 * platform/graphics/GraphicsContext.h: 55061 * platform/graphics/cairo/GraphicsContextCairo.cpp: 55062 (WebCore::GraphicsContext::getCTM): 55063 * platform/graphics/cg/GraphicsContextCG.cpp: 55064 (WebCore::GraphicsContext::getCTM): 55065 * platform/graphics/qt/GraphicsContextQt.cpp: 55066 (WebCore::GraphicsContext::getCTM): 55067 55068 2008-01-27 Alexey Proskuryakov <ap (a] webkit.org> 55069 55070 Reviewed by Darin. 55071 55072 http://bugs.webkit.org/show_bug.cgi?id=17014 55073 REGRESSION: EUC-CN code A3A0 is mapped to U+E5E5 instead of U+3000 55074 55075 Test: fast/encoding/char-decoding.html 55076 55077 * platform/text/TextCodecICU.cpp: 55078 (WebCore::TextCodecICU::decode): Added a workaround that we used to have in Mac code. 55079 55080 * platform/text/mac/TextCodecMac.cpp: 55081 (WebCore::TextCodecMac::decode): Corrected a comment. 55082 55083 2008-01-27 Alp Toker <alp (a] atoker.com> 55084 55085 Reviewed by Mark Rowe. 55086 55087 http://bugs.webkit.org/show_bug.cgi?id=17029 55088 Use of deprecated class function but declares GTK_DISABLE_DEPRECATED 55089 55090 Sync gtkdrawing.h (1.51) and gtk2drawing.c (1.71) from Mozilla 55091 upstream. 55092 55093 Adapt RenderThemeGtk.cpp to track minor changes. 55094 55095 * platform/gtk/RenderThemeGtk.cpp: 55096 (WebCore::gtkTextDirection): 55097 (WebCore::adjustMozStyle): 55098 (WebCore::setMozState): 55099 (WebCore::paintMozWidget): 55100 * platform/gtk/gtk2drawing.c: 55101 (setup_widget_prototype): 55102 (ensure_hpaned_widget): 55103 (ensure_vpaned_widget): 55104 (ensure_toggle_button_widget): 55105 (ensure_combo_box_entry_widget): 55106 (ensure_dropdown_entry_widget): 55107 (moz_gtk_get_dropdown_button): 55108 (ensure_arrow_widget): 55109 (ensure_toolbar_separator_widget): 55110 (ensure_statusbar_widget): 55111 (ensure_frame_widget): 55112 (ensure_menu_separator_widget): 55113 (ensure_tree_view_widget): 55114 (ensure_tree_header_cell_widget): 55115 (ensure_expander_widget): 55116 (ConvertGtkState): 55117 (moz_gtk_button_paint): 55118 (moz_gtk_widget_get_focus): 55119 (moz_gtk_splitter_get_metrics): 55120 (moz_gtk_toggle_paint): 55121 (moz_gtk_scrollbar_button_paint): 55122 (moz_gtk_scrollbar_trough_paint): 55123 (moz_gtk_scrollbar_thumb_paint): 55124 (moz_gtk_spin_paint): 55125 (moz_gtk_spin_updown_paint): 55126 (moz_gtk_scale_paint): 55127 (moz_gtk_scale_thumb_paint): 55128 (moz_gtk_gripper_paint): 55129 (moz_gtk_hpaned_paint): 55130 (moz_gtk_vpaned_paint): 55131 (moz_gtk_entry_paint): 55132 (moz_gtk_treeview_paint): 55133 (moz_gtk_tree_header_cell_paint): 55134 (moz_gtk_tree_header_sort_arrow_paint): 55135 (moz_gtk_treeview_expander_paint): 55136 (moz_gtk_expander_paint): 55137 (moz_gtk_option_menu_paint): 55138 (moz_gtk_downarrow_paint): 55139 (moz_gtk_dropdown_arrow_paint): 55140 (moz_gtk_container_paint): 55141 (moz_gtk_toggle_label_paint): 55142 (moz_gtk_toolbar_paint): 55143 (moz_gtk_toolbar_separator_paint): 55144 (moz_gtk_tooltip_paint): 55145 (moz_gtk_resizer_paint): 55146 (moz_gtk_frame_paint): 55147 (moz_gtk_progressbar_paint): 55148 (moz_gtk_progress_chunk_paint): 55149 (moz_gtk_get_tab_thickness): 55150 (moz_gtk_tab_paint): 55151 (moz_gtk_tabpanels_paint): 55152 (moz_gtk_menu_bar_paint): 55153 (moz_gtk_menu_popup_paint): 55154 (moz_gtk_menu_separator_paint): 55155 (moz_gtk_menu_item_paint): 55156 (moz_gtk_menu_arrow_paint): 55157 (moz_gtk_check_menu_item_paint): 55158 (moz_gtk_window_paint): 55159 (moz_gtk_get_widget_border): 55160 (moz_gtk_get_dropdown_arrow_size): 55161 (moz_gtk_get_toolbar_separator_width): 55162 (moz_gtk_get_expander_size): 55163 (moz_gtk_get_treeview_expander_size): 55164 (moz_gtk_get_menu_separator_height): 55165 (moz_gtk_widget_paint): 55166 (moz_gtk_shutdown): 55167 * platform/gtk/gtkdrawing.h: 55168 55169 2008-01-27 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 55170 55171 Reviewed by Alp Toker. 55172 55173 http://bugs.webkit.org/show_bug.cgi?id=14811 55174 [gtk] [request] add a webkit_gtk_page_go_to_history_item function 55175 55176 Added webkit/gtk webkitwebbackforwardlist and webkitwebhistoryitem 55177 55178 * WebCore.pro: 55179 55180 2008-01-27 Matt Perry <mpComplete (a] gmail.com> 55181 55182 Reviewed and tweaked quite a bit by Darin. 55183 55184 Fix for http://bugs.webkit.org/show_bug.cgi?id=14959 55185 No back forward entry added for pages created in javascript 55186 55187 A new HistoryItem is created for calls to Document::open. Calls to 55188 Document::write save the written data to a SharedBuffer that is also 55189 stored on the HistoryItem. When the user navigates back to a 55190 HistoryItem that has a valid buffer, that data is used for the page 55191 content. 55192 55193 Tests: http/tests/navigation/document-open-adds-history-item.html 55194 http/tests/navigation/document-open-delayed-adds-history-item.html 55195 http/tests/navigation/document-open-new-window-adds-history-item.html 55196 http/tests/navigation/document-open-replace-no-history-item.html 55197 55198 * bindings/js/JSHTMLDocumentCustom.cpp: 55199 (WebCore::JSHTMLDocument::open): Pass a MIME type of either "text/html" or 55200 "text/plain" and a boolean for "replace" in rather than always setting replace 55201 to true and the MIME type to "text/html". 55202 55203 * dom/DOMImplementation.cpp: 55204 (WebCore::DOMImplementation::createHTMLDocument): Pass in MIME type and 55205 replace boolean explicitly, since we don't want to rely on Document::open()'s 55206 default. 55207 55208 * dom/Document.cpp: 55209 (WebCore::Document::open): Correctly determine the "replace" boolean. 55210 Pass along the MIME type, replace boolean, and shared buffer to the 55211 frame loader's didExplicitOpen function. 55212 (WebCore::Document::write): Pass MIME type and replace boolean explicitly 55213 to the open function so we don't do treat it as replace if you write without 55214 an open. Store text written by the script so it can be used later for history. 55215 (WebCore::Document::clear): Drop the text written byt he script. 55216 55217 * dom/Document.h: Added MIME type and replace boolean parameters for open. 55218 Had to keep the old version for the sake of DOM bindings. Added the shared 55219 buffer used for text written by script. 55220 55221 * history/HistoryItem.cpp: 55222 (WebCore::HistoryItem::HistoryItem): Copy m_substituteData. 55223 (WebCore::HistoryItem::substituteData): Added. 55224 (WebCore::HistoryItem::setSubstituteData): Added. 55225 * history/HistoryItem.h: Added m_substituteData, getter, and setter. 55226 55227 * loader/FrameLoader.cpp: 55228 (WebCore::FrameLoader::didExplicitOpen): Added code to create or update the 55229 history item, including attaching the shared buffer that will contain all 55230 the data written by script. 55231 (WebCore::FrameLoader::load): Added a SubstituteData parameter, passed through 55232 when creating the document loader. 55233 (WebCore::FrameLoader::reloadAllowingStaleData): Create the document loader 55234 with the substitute data from the current history item. 55235 (WebCore::FrameLoader::reload): Ditto. 55236 (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): If the current history 55237 item has substitute data, then consider the URL from the substitute data 55238 rather than the one in the history item itself. 55239 (WebCore::FrameLoader::loadItem): Pass in the history item's substitute data. 55240 * loader/FrameLoader.h: Added parameters to load and didExplicitOpen. 55241 55242 * platform/text/CharacterNames.h: Added byteOrderMark, and also added it under 55243 its other official name, zeroWidthNoBreakSpace. 55244 55245 * xml/DOMParser.cpp: 55246 (WebCore::DOMParser::parseFromString): Pass in MIME type and replace boolean 55247 explicitly, since we don't want to rely on Document::open()'s default. 55248 * xml/XMLHttpRequest.cpp: 55249 (WebCore::XMLHttpRequest::getResponseXML): Ditto. 55250 * xml/XSLTProcessor.cpp: 55251 (WebCore::XSLTProcessor::createDocumentFromSource): Ditto. 55252 55253 2008-01-25 Eric Seidel <eric (a] webkit.org> 55254 55255 Reviewed by Sam and Darin. 55256 55257 Fire a warning shot in DeprecatedChar's direction. 55258 55259 Remove DeprecatedChar::isSpace() usage, in preparation for removing DeprecatedChar 55260 Remove a needless String -> DeprecatedString -> String conversion for <script> tags 55261 55262 * css/MediaQueryEvaluator.cpp: 55263 (WebCore::parseAspectRatio): 55264 * css/SVGCSSParser.cpp: 55265 * dom/Position.cpp: 55266 (WebCore::Position::leadingWhitespacePosition): 55267 (WebCore::Position::trailingWhitespacePosition): 55268 * editing/TextIterator.cpp: 55269 (WebCore::WordAwareIterator::advance): 55270 * html/HTMLFontElement.cpp: 55271 (WebCore::parseFontSizeNumber): 55272 * html/HTMLTokenizer.cpp: 55273 (WebCore::HTMLTokenizer::scriptHandler): 55274 (WebCore::HTMLTokenizer::scriptExecution): 55275 (WebCore::HTMLTokenizer::notifyFinished): 55276 * html/HTMLTokenizer.h: 55277 * loader/CachedCSSStyleSheet.cpp: 55278 * loader/TextResourceDecoder.cpp: 55279 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 55280 * platform/mac/ClipboardMac.mm: 55281 (WebCore::ClipboardMac::getData): 55282 * platform/network/HTTPParsers.cpp: 55283 (WebCore::extractMIMETypeFromMediaType): 55284 * platform/text/PlatformString.h: 55285 * platform/text/StringImpl.cpp: 55286 (WebCore::parseLength): 55287 (WebCore::StringImpl::stripWhiteSpace): 55288 (WebCore::StringImpl::simplifyWhiteSpace): 55289 (WebCore::StringImpl::toInt): 55290 (WebCore::StringImpl::toInt64): 55291 (WebCore::StringImpl::toUInt64): 55292 * platform/text/StringImpl.h: 55293 (WebCore::isSpaceOrNewline): 55294 * rendering/InlineFlowBox.cpp: 55295 (WebCore::InlineFlowBox::placeBoxesHorizontally): 55296 * rendering/RenderBlock.cpp: 55297 (WebCore::RenderBlock::updateFirstLetter): 55298 * rendering/bidi.cpp: 55299 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 55300 * svg/SVGFontFaceElement.cpp: 55301 (WebCore::mapAttributeToCSSProperty): 55302 * svg/SVGLength.cpp: 55303 * svg/SVGStyledElement.cpp: 55304 (WebCore::mapAttributeToCSSProperty): 55305 * xml/XPathParser.cpp: 55306 55307 2008-01-25 Stephanie Lewis <slewis (a] apple.com> 55308 55309 Reviewed by Tim. 55310 55311 expand workaround for <rdar://5695848> to include js files so that the 55312 web inspector can work 55313 55314 * platform/network/cf/ResourceResponseCFNet.cpp: 55315 (WebCore::ResourceResponse::doUpdateResourceResponse): 55316 55317 2008-01-25 Antti Koivisto <antti (a] apple.com> 55318 55319 Reviewed by Adele. 55320 55321 (this is for r29798, my commit failed to include the log) 55322 55323 Windows fix to match r29773 55324 If the media is playing and the load stalls the playback wont restart by seeking backwards. 55325 55326 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 55327 (WebCore::MediaPlayerPrivate::updateStates): 55328 55329 2008-01-25 Darin Adler <darin (a] apple.com> 55330 55331 Reviewed by Anders. 55332 55333 - fix <rdar://problem/5691072> ASSERTION FAILED: isPrepared() when executing an empty statement 55334 55335 For empty statements, SQLite returns 0 for the statement. We have to cope with that. 55336 55337 Test: storage/empty-statement.html 55338 55339 * platform/sql/SQLiteStatement.cpp: 55340 (WebCore::sqlite3_prepare16_v2): Added overload so we don't need an #if inside the prepare 55341 function. 55342 (WebCore::SQLiteStatement::SQLiteStatement): Initialize the m_isPrepared boolean. Removed 55343 the code to add a null character to the end of the string; instead we will use 55344 charactersWithNullTermination. 55345 (WebCore::SQLiteStatement::prepare): Set m_isPrepared based on the error value returned. 55346 Use the error value from sqlite3_prepare16_v2, not from lastError(). 55347 (WebCore::SQLiteStatement::step): Assert that the statement is prepared rather than checking 55348 it at runtime. However, in the case where this is called with m_statement of 0, return 55349 success rather than an error. That's needed for empty statements. 55350 (WebCore::SQLiteStatement::finalize): Use early return idiom for clarity. When there is no 55351 statement, return SQLITE_OK instead of calling lastError(). 55352 (WebCore::SQLiteStatement::reset): Use early return idiom for clarity. When there is no 55353 statement, return SQLITE_OK rather than SQLITE_ERROR, but assert the statement is prepared. 55354 (WebCore::SQLiteStatement::executeCommand): Adjust the code that does a prepare so that it 55355 will work for empty statements. Do we really need to allow calling this without prepare? 55356 It would be simpler to just be able to assert that it's prepared. 55357 (WebCore::SQLiteStatement::returnsAtLeastOneResult): Ditto. 55358 (WebCore::SQLiteStatement::bindBlob): Added some assertions. Return SQLITE_ERROR if this 55359 is called with m_statement of 0 (should not be possible without assertions firing first). 55360 Return the actual error code rather than lastError(). 55361 (WebCore::SQLiteStatement::bindText): Ditto. Also simplified the special case for empty 55362 strings, since it requires any non-null pointer, not a pointer to a global zero character. 55363 (WebCore::SQLiteStatement::bindInt64): Ditto. 55364 (WebCore::SQLiteStatement::bindDouble): Ditto. 55365 (WebCore::SQLiteStatement::bindNull): Ditto. 55366 (WebCore::SQLiteStatement::bindValue): Moved default case out of the switch to take 55367 advantage of the gcc compiler warning for unhandled enum values in a switch. 55368 (WebCore::SQLiteStatement::bindParameterCount): Added assertion and code to handle the 55369 empty statement case. 55370 (WebCore::SQLiteStatement::columnCount): Added assertion and changed the code to use 55371 the early-return idiom. 55372 (WebCore::SQLiteStatement::getColumnName): Removed getColumnName16 -- we always use 16-bit 55373 characters and have no reason to ever use the 8-bit function. Added assertions about the 55374 passed-in column number. It's a little strange that this function checks the column number 55375 for too-large column numbers, but not for negative ones. I didn't change that for now. 55376 (WebCore::SQLiteStatement::getColumnText): Ditto. 55377 (WebCore::SQLiteStatement::getColumnDouble): Ditto. 55378 (WebCore::SQLiteStatement::getColumnInt): Ditto. 55379 (WebCore::SQLiteStatement::getColumnInt64): Ditto. 55380 (WebCore::SQLiteStatement::getColumnBlobAsVector): Ditto. 55381 (WebCore::SQLiteStatement::getColumnBlob): Tightened up function a bit, including use of 55382 the early-return idiom and replacing the multiple "size = 0" with a single one at the 55383 start of the function. 55384 (WebCore::SQLiteStatement::returnTextResults): Added a failure case when the prepare 55385 call doesn't work. Cleared the vector earlier to make the failure code simpler. Moved 55386 the declaration of the result boolean down lower to make it clearer what it's for. 55387 Changed use of lastError() to call on the database, to make it clearer that there's 55388 no per-statement last error kept around. It'd be even better to not use lastError() here. 55389 (WebCore::SQLiteStatement::returnIntResults): Ditto. 55390 (WebCore::SQLiteStatement::returnInt64Results): Ditto. 55391 (WebCore::SQLiteStatement::returnDoubleResults): Ditto. 55392 (WebCore::SQLiteStatement::isExpired): Changed to use || rather than ?: because I think 55393 it's slightly easier to read that way. 55394 55395 * platform/sql/SQLiteStatement.h: Removed unneeded includes and forward declarations. 55396 Also removed unnneeded functions isPrepared, getColumnName16, getColumnText16, 55397 returnTextResults16, lastError, and lastErrorMsg. Changed prepareAndStep so that it 55398 checks the result of prepare before callling step. Added a debug-only m_isPrepared boolean. 55399 55400 * loader/icon/IconDatabase.cpp: 55401 (WebCore::IconDatabase::checkIntegrity): Remove 16 suffix from text-related function names. 55402 (WebCore::IconDatabase::performURLImport): Ditto. 55403 (WebCore::IconDatabase::pruneUnretainedIcons): Ditto. 55404 * platform/sql/SQLiteDatabase.cpp: 55405 (WebCore::SQLiteDatabase::clearAllTables): Ditto. 55406 * storage/Database.cpp: 55407 (WebCore::retrieveTextResultFromDatabase): Ditto. 55408 (WebCore::Database::performGetTableNames): Ditto. 55409 * storage/DatabaseTracker.cpp: 55410 (WebCore::DatabaseTracker::fullPathForDatabase): Ditto. 55411 (WebCore::DatabaseTracker::populateOrigins): Ditto. 55412 (WebCore::DatabaseTracker::databaseNamesForOrigin): Ditto. 55413 (WebCore::DatabaseTracker::addDatabase): Ditto. 55414 * storage/SQLStatement.cpp: 55415 (WebCore::SQLStatement::execute): Ditto. 55416 55417 * platform/sql/SQLiteDatabase.h: Removed unneeded includes. 55418 * storage/SQLResultSet.h: Ditto. 55419 * storage/SQLResultSetRowList.h: Ditto. 55420 55421 2008-01-25 Adele Peterson <adele (a] apple.com> 55422 55423 Reviewed by Sam. 55424 55425 Fix for <rdar://problem/5679452> Finish tweaking layout/alignment of media controls slider to match QuickTime plug-in 55426 55427 * css/html4.css: Add horizontal padding to the media slider. 55428 * rendering/RenderSlider.cpp: 55429 (WebCore::HTMLSliderThumbElement::defaultEventHandler): Replace use of absoluteBoundingBox() with width() and height() 55430 (WebCore::RenderSlider::positionForOffset): ditto. Also, use the trackSize() for the maximum offset. 55431 (WebCore::RenderSlider::layout): Use contentWidth() and contentHeight() to take padding into account. 55432 (WebCore::RenderSlider::trackSize): ditto. 55433 55434 2008-01-24 Adam Roben <aroben (a] apple.com> 55435 55436 Better fix for Bug 16996 55437 55438 Rubberstamped by Mitz. 55439 55440 * loader/CachedFont.cpp: 55441 (WebCore::CachedFont::ensureCustomFontData): Don't call 55442 createFontCustomPlatformData if m_data is null. 55443 * platform/graphics/gtk/FontCustomPlatformData.cpp: 55444 (WebCore::createFontCustomPlatformData): Added an assertion. 55445 * platform/graphics/mac/FontCustomPlatformData.cpp: 55446 (WebCore::createFontCustomPlatformData): Ditto. 55447 * platform/graphics/qt/FontCustomPlatformData.cpp: 55448 (WebCore::createFontCustomPlatformData): Ditto. 55449 * platform/graphics/win/FontCustomPlatformData.cpp: 55450 (WebCore::createFontCustomPlatformData): Ditto. 55451 55452 2008-01-24 Adam Roben <aroben (a] apple.com> 55453 55454 Fix Bug 16996: Crash in createFontCustomPlatformData when loading 55455 0-byte font via @font-face 55456 55457 <http://bugs.webkit.org/show_bug.cgi?id=16996> 55458 55459 Reviewed by Hyatt. 55460 55461 Test: fast/loader/font-face-empty.html 55462 55463 * platform/graphics/win/FontCustomPlatformData.cpp: 55464 (WebCore::createFontCustomPlatformData): Null-check the buffer 55465 parameter. 55466 55467 2008-01-24 Jon Honeycutt <jhoneycutt (a] apple.com> 55468 55469 Reviewed by Anders. 55470 55471 <rdar://problem/5588807> Crash in Flash when destroying plug-in (found 55472 using yahoo beta mail) 55473 55474 Flash can dereference NULL in the call to NPP_URLNotify if a request 55475 made with NPN_PostURLNotify fails before NPP_NewStream is called. 55476 55477 Work around this by creating a quirk, PluginQuirkFlashURLNotifyBug, and 55478 checking for this quirk before calling NPP_URLNotify for any request 55479 made with NPN_PostURLNotify. If the quirk is present, call NPP_NewStream 55480 and NPP_DestroyStream before calling NPP_URLNotify. 55481 55482 * WebCore.vcproj/WebCore.vcproj: 55483 * plugins/PluginQuirkSet.h: Added. Moved quirks out of PluginViewWin so 55484 PluginViewWin and PluginStream could share it. Created a class, 55485 PluginQuirkSet, to store plug-in quirks 55486 (WebCore::PluginQuirkSet::PluginQuirkSet): 55487 (WebCore::PluginQuirkSet::add): 55488 (WebCore::PluginQuirkSet::contains): 55489 * plugins/PluginStream.cpp: 55490 (WebCore::PluginStream::PluginStream): Copy the PluginQuirkSet for this 55491 plug-in 55492 (WebCore::PluginStream::destroyStream): Check for the FlashURLNotifyBug 55493 quirk 55494 * plugins/PluginStream.h: 55495 * plugins/win/PluginViewWin.cpp: 55496 (WebCore::PluginViewWin::performRequest): Pass the quirks when creating 55497 the PluginStream 55498 (WebCore::PluginViewWin::didReceiveResponse): Same 55499 (WebCore::PluginViewWin::wndProc): Use add / contains instead of 55500 bit ops 55501 (WebCore::PluginViewWin::userAgent): Same 55502 (WebCore::PluginViewWin::invalidateRect): Same 55503 (WebCore::PluginViewWin::~PluginViewWin): Same 55504 (WebCore::PluginViewWin::determineQuirks): Same 55505 (WebCore::PluginViewWin::setParameters): Same 55506 (WebCore::PluginViewWin::PluginViewWin): Same 55507 (WebCore::PluginViewWin::init): Same 55508 (WebCore::PluginViewWin::setCallingPlugin): Same 55509 * plugins/win/PluginViewWin.h: 55510 55511 2008-01-24 David Hyatt <hyatt (a] apple.com> 55512 55513 http://bugs.webkit.org/show_bug.cgi?id=16982 55514 55515 Make sure to make <head> the current block if it is created before a <body> already exists. 55516 55517 Reviewed by Dan 55518 55519 * html/HTMLParser.cpp: 55520 (WebCore::HTMLParser::createHead): 55521 55522 2008-01-24 Alexey Proskuryakov <ap (a] webkit.org> 55523 55524 http://bugs.webkit.org/show_bug.cgi?id=16993 55525 <rdar://problem/5704331> REGRESSION: Loading page leads to many unexpected redirections 55526 55527 Rolled out r29590, which was not a correct fix for <rdar://problem/5692566>. 55528 55529 * loader/FrameLoader.cpp: 55530 (WebCore::FrameLoader::clear): 55531 55532 2008-01-24 Antti Koivisto <antti (a] apple.com> 55533 55534 Reviewed by Adam. 55535 55536 If the media is playing and the load stalls the playback wont restart by seeking backwards. 55537 55538 We should be in CAN_PLAY state if the current time is less than the maximum loaded time. Rate 55539 tricks were for streaming case and are not necessary now since that is now disabled. 55540 55541 Windows patch coming separately. 55542 55543 Test: http/tests/media/video-play-stall-seek.html 55544 55545 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 55546 (WebCore::MediaPlayerPrivate::updateStates): 55547 55548 2008-01-24 Antti Koivisto <antti (a] apple.com> 55549 55550 Reviewed by Adam. 55551 55552 Fix <rdar://problem/5684815> 55553 After navigating back to the page that contains a <audio> that has been muted, the audio is still heard 55554 55555 - get rid of the separate muted state in MediaPlayer, maintain the state in the cross platform code only 55556 - remove volumeChanged() callbacks from HTMLMediaElement and OS X MediaPlayer, they were not used for anything 55557 - rename updateMediaPlayer -> updatePlayState which tells more about what it actually does 55558 55559 * html/HTMLMediaElement.cpp: 55560 (WebCore::HTMLMediaElement::load): 55561 (WebCore::HTMLMediaElement::setReadyState): 55562 (WebCore::HTMLMediaElement::play): 55563 (WebCore::HTMLMediaElement::pause): 55564 (WebCore::HTMLMediaElement::setVolume): 55565 (WebCore::HTMLMediaElement::setMuted): 55566 (WebCore::HTMLMediaElement::checkIfSeekNeeded): 55567 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): 55568 (WebCore::HTMLMediaElement::updateVolume): 55569 (WebCore::HTMLMediaElement::updatePlayState): 55570 (WebCore::HTMLMediaElement::setPausedInternal): 55571 * html/HTMLMediaElement.h: 55572 * platform/graphics/MediaPlayer.cpp: 55573 (WebCore::MediaPlayer::MediaPlayer): 55574 * platform/graphics/MediaPlayer.h: 55575 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 55576 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 55577 (WebCore::MediaPlayerPrivate::createQTMovie): 55578 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 55579 * platform/graphics/win/QTMovieWin.cpp: 55580 * platform/graphics/win/QTMovieWin.h: 55581 55582 2008-01-24 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 55583 55584 Reviewed by Simon. 55585 55586 * Fix "QObject::startTimer: QTimer can only be used with threads started with QThread" 55587 * The JSC GCController gets automatically destructed on application exit, it will stop 55588 its timer and we try to schedule the next timer. Now the GCController can get destructed 55589 after our QApplication is gone. This will trigger the above warning, we can avoid this 55590 by checking if our qApp is still around. 55591 55592 * platform/qt/SharedTimerQt.cpp: 55593 (WebCore::setSharedTimerFireTime): 55594 55595 2008-01-24 Morten Johan Srvig <msorvig (a] trolltech.com> 55596 55597 Reviewed by Simon. 55598 55599 Qt/Mac: Make sure the scrollbars does not overlap the grow box. 55600 55601 When showing only one scrollbar we need to move it so it doesn't overlap the 55602 grow box. This is similar to the code in QAbstractScrollArea. 55603 55604 55605 * platform/qt/ScrollViewQt.cpp: 55606 (WebCore::ScrollView::updateScrollbars): 55607 55608 2008-01-15 Michael Goddard <michael.goddard (a] trolltech.com> 55609 55610 Reviewed by Darin. 55611 55612 While parsing -webkit-border-image, store 55613 the border widths as naked pointers rather 55614 than as OwnPtrs, since they point to the 55615 middle of an array. 55616 55617 Test: fast/css/border-image-crash.html 55618 55619 * css/CSSParser.cpp: 55620 55621 2008-01-24 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 55622 55623 Reviewed by Simon. 55624 55625 * Attempt to fix showing of popup again after a popup has been shown but 55626 the user did not select any item (e.g. clicked outside of the popup) 55627 * Keep track of the popup status using the virtuals showPopup and hidePopup 55628 and do not go into recursion when hiding a popup. 55629 55630 * platform/qt/QWebPopup.cpp: 55631 (WebCore::QWebPopup::showPopup): 55632 (WebCore::QWebPopup::hidePopup): 55633 * platform/qt/QWebPopup.h: 55634 55635 2008-01-24 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 55636 55637 Reviewed by Simon. 55638 55639 * Assert the presence of the PopupMenuClient 55640 55641 * platform/qt/QWebPopup.cpp: 55642 (WebCore::QWebPopup::QWebPopup): 55643 (WebCore::QWebPopup::hideEvent): 55644 (WebCore::QWebPopup::activeChanged): 55645 55646 2008-01-23 David Kilzer <ddkilzer (a] apple.com> 55647 55648 <rdar://problem/5702947> WebCore: CGContextDrawPDFDocument will be deprecated 55649 55650 Reviewed by Darin. 55651 55652 No test cases added since there is no change in behavior. 55653 55654 * platform/graphics/cg/PDFDocumentImage.cpp: 55655 (WebCore::PDFDocumentImage::draw): Replace CGContextDrawPDFDocument() with 55656 calls to CG methods that perform the equivalent work. 55657 55658 2008-01-23 Antti Koivisto <antti (a] apple.com> 55659 55660 Reviewed by Hyatt, Adele. 55661 55662 Timers for media controls keep running when the page is in the page cache. 55663 55664 Stop timers in RenderMedia and get rid of the controls tree when the page goes to the cache. 55665 55666 * html/HTMLMediaElement.cpp: 55667 (WebCore::HTMLMediaElement::HTMLMediaElement): 55668 (WebCore::HTMLMediaElement::willSaveToCache): 55669 (WebCore::HTMLMediaElement::didRestoreFromCache): 55670 * html/HTMLMediaElement.h: 55671 (WebCore::HTMLMediaElement::inPageCache): 55672 * rendering/RenderMedia.cpp: 55673 (WebCore::RenderMedia::updateControls): 55674 55675 2008-01-23 Antti Koivisto <antti (a] apple.com> 55676 55677 Reviewed by Adam. 55678 55679 Video that had already played to the end would start playing (from beginning) on back/forward navigation. 55680 55681 Use setPausedInternal() instead of pause(). This avoid generating pause/play events and matches specification text. 55682 55683 * html/HTMLMediaElement.cpp: 55684 (WebCore::HTMLMediaElement::willSaveToCache): 55685 55686 2008-01-23 Alexey Proskuryakov <ap (a] webkit.org> 55687 55688 Reviewed by Darin. 55689 55690 <rdar://problem/4200075> Missing support for accented chars in mailto forms 55691 55692 With some combinations of form parameters, this was resulting in regressed behavior. 55693 55694 Tests: fast/forms/mailto/get-non-ascii-text-plain-latin-1.html 55695 fast/forms/mailto/post-text-plain-with-accept-charset.html 55696 fast/forms/mailto/post-text-plain.html 55697 55698 * html/HTMLFormElement.cpp: 55699 (WebCore::HTMLFormElement::formData): Ignore accept-charset for mailto forms, which are always 55700 encoded as UTF-8. 55701 (WebCore::HTMLFormElement::isMailtoForm): Added. 55702 (WebCore::HTMLFormElement::dataEncoding): Added (factored out from formData). 55703 (WebCore::HTMLFormElement::submit): When round-tripping in text/plain case, use utf-8 encoding. 55704 * html/HTMLFormElement.h: Added a isMailtoForm() function. It may be a bit unfortunate that 55705 its result is calculated repeatedly, but this doesn't seem to be anywhere near hot code. 55706 55707 2008-01-22 Justin Garcia <justin.garcia (a] apple.com> 55708 55709 Reviewed by Alice Liu. 55710 55711 <rdar://problem/5658727> Undo/redo for pasted or typed text in yahoo mail becomes disabled after one round of being selected 55712 55713 * rendering/RenderTextControl.cpp: 55714 (WebCore::RenderTextControl::updateFromElement): If value == text() and 55715 m_innerText is empty, then value and text() are "". In that case both DOM 55716 mutations are no-ops and there is no reason to clear the Undo stack. 55717 55718 2008-01-23 Steve Falkenburg <sfalken (a] apple.com> 55719 55720 <rdar://problem/5698732> Copyright strings should include 2008 55721 55722 Reviewed by Sam. 55723 55724 * WebCore.vcproj/QTMovieWin.rc: 55725 55726 2008-01-23 Steve Falkenburg <sfalken (a] apple.com> 55727 55728 <rdar://problem/5699509> Allow file upload dialog to be localized. 55729 55730 Reviewed by Darin. 55731 55732 * platform/LocalizedStrings.h: 55733 * platform/win/FileChooserWin.cpp: 55734 (WebCore::FileChooser::openFileChooser): 55735 55736 2008-01-23 Adam Roben <aroben (a] apple.com> 55737 55738 Fix behavior of type-to-select in <select> menus 55739 55740 In r27825 we started posting both a WM_KEYDOWN and WM_CHAR message 55741 whenever a key was pressed in the dropdown menu. However, since posted 55742 messages go through TranslateMessage, the WM_KEYDOWN was generating 55743 another WM_CHAR message, so two WM_CHAR messages in a row would reach 55744 the WebView. This caused the searching to happen twice for each key, 55745 so typing "dog" would search for "ddoogg". 55746 55747 Reviewed by Darin. 55748 55749 * platform/win/PopupMenuWin.cpp: 55750 (WebCore::PopupWndProc): Repost the WM_KEYDOWN message to the WebView. 55751 This is will generate a WM_CHAR message which will trigger the 55752 type-to-select behavior. This is very similar to our behavior prior to 55753 r27825, except that we're now calling PostMessage instead of 55754 SendMessage. 55755 55756 2008-01-23 Alp Toker <alp (a] atoker.com> 55757 55758 Rubber-stamped by Mark Rowe. 55759 55760 Remove whitespace after -I in automake include lists. 55761 55762 * GNUmakefile.am: 55763 55764 2008-01-23 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 55765 55766 * Rubber stamped by Simon 55767 55768 * Load images incrementally. This will show warnings on the console 55769 and we want to fix them for Qt4.4. If that happens we have to remove 55770 the comment from the enum inside the ImageDecoderQt.cpp 55771 55772 * platform/graphics/qt/ImageDecoderQt.cpp: 55773 (WebCore::ImageDecoderQt::setData): 55774 55775 2008-01-23 Lars Knoll <lars (a] trolltech.com> 55776 55777 Reviewed by Holger Freyther <holger.freyther (a] trolltech.com>. 55778 55779 Fix rendering of the Scrollbar as well as mouse handling for some styles. 55780 55781 The QStyle expects that that painter is set up to clip to the scrollbar bounds 55782 and some of the styles seem to paint somewhat outside of these bounds. Clipping to 55783 the scrollbar bounds before drawing removes some artifacts. 55784 55785 Also set m_opt.rect.topLeft to (0/0) in the mouse handlers. Fixes some issues with 55786 the oxygen style. 55787 55788 55789 * platform/qt/PlatformScrollBarQt.cpp: 55790 (WebCore::PlatformScrollbar::paint): 55791 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 55792 (WebCore::PlatformScrollbar::handleMousePressEvent): 55793 55794 2008-01-23 Michael Brasser <michael.brasser (a] trolltech.com> 55795 55796 Reviewed by Simon. 55797 55798 Rendering fixes for Qtopia. 55799 55800 Make the focus ring work with line breaks (until we have QPainterPath::simplify) and 55801 call QStyle with better arguments when painting themed elements. 55802 55803 * platform/graphics/qt/GraphicsContextQt.cpp: 55804 (WebCore::GraphicsContext::drawFocusRing): 55805 * platform/qt/RenderThemeQt.cpp: 55806 (WebCore::RenderThemeQt::paintButton): 55807 (WebCore::RenderThemeQt::applyTheme): 55808 55809 2008-01-23 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 55810 55811 Reviewed by Simon. 55812 55813 * FormData::flatten does not include to be uploaded files. Create our own QIODevice 55814 for the QNetworkAccessManager and feed the complete content of the FormData* to 55815 the (HTTP) backend. 55816 * Try to optimize the ::readData implementation to fill the buffer as best as possible 55817 55818 * platform/network/qt/QNetworkReplyHandler.cpp: 55819 (WebCore::FormDataIODevice::FormDataIODevice): 55820 (WebCore::FormDataIODevice::~FormDataIODevice): 55821 (WebCore::FormDataIODevice::moveToNextElement): 55822 (WebCore::FormDataIODevice::readData): 55823 (WebCore::FormDataIODevice::writeData): 55824 (WebCore::FormDataIODevice::setParent): 55825 (WebCore::FormDataIODevice::isSequential): 55826 (WebCore::FormDataIODevice::slotFinished): 55827 (WebCore::QNetworkReplyHandler::start): 55828 * platform/network/qt/QNetworkReplyHandler.h: 55829 55830 2008-01-23 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 55831 55832 Reviewed by Simon. 55833 55834 * Coding-Style fixes 55835 55836 * platform/network/qt/QNetworkReplyHandler.cpp: 55837 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 55838 55839 2008-01-23 Michael Brasser <michael.brasser (a] trolltech.com> 55840 55841 Reviewed by Simon. 55842 55843 use PopupClient's font for popup menu. Otherwise, in Qtopia, the popup's font is much bigger (QApplication::font()?) and the text doesn't fit. 55844 55845 * platform/qt/QWebPopup.cpp: 55846 (WebCore::QWebPopup::QWebPopup): 55847 55848 2008-01-23 Simon Hausmann <hausmann (a] webkit.org> 55849 55850 Reviewed by Lars. 55851 55852 Implemented FrameLoaderClient::startDownload() and FrameLoaderClient::download(). 55853 55854 Added two signals to QWebPage to handle downloading of links and handling of 55855 unsupported content. 55856 55857 55858 * platform/network/qt/QNetworkReplyHandler.cpp: 55859 (WebCore::QNetworkReplyHandler::release): 55860 * platform/network/qt/QNetworkReplyHandler.h: 55861 55862 2008-01-22 Dan Bernstein <mitz (a] apple.com> 55863 55864 Reviewed by Adele Peterson. 55865 55866 - fix http://bugs.webkit.org/show_bug.cgi?id=16905 55867 <rdar://problem/5692407> REGRESSION (3.0.4-TOT): "menu" pseudocolor is badly chosen 55868 55869 The regression test for this is fast/css/css2-system-color.html which 55870 is currently disabled. 55871 55872 * rendering/RenderThemeMac.mm: 55873 (WebCore::menuBackgroundColor): Added. Uses HIThemeDrawMenuBackground 55874 to draw the menu item background into a bitmap graphics context and 55875 returns the color of the pixel at (0, 0). 55876 (WebCore::RenderThemeMac::systemColor): Changed to call 55877 menuBackgroundColor for the CSS2 menu color. 55878 55879 2008-01-22 Darin Adler <darin (a] apple.com> 55880 55881 Reviewed by Oliver Hunt. 55882 55883 - turn full repainting back on for <canvas> until we get incremental 55884 repaint working properly 55885 55886 Ollie and I came up with a plan for testing this, but for now we should 55887 just fall back on the "repaint everything" behavior we have always had. 55888 55889 * html/HTMLCanvasElement.cpp: 55890 (WebCore::HTMLCanvasElement::willDraw): Just call repaint. 55891 55892 2008-01-22 Alp Toker <alp (a] atoker.com> 55893 55894 GTK+/qmake build fix. 55895 55896 * WebCore.pro: 55897 55898 2008-01-22 Adam Roben <aroben (a] apple.com> 55899 55900 Add HTMLFrameOwnerElement::scrollingMode 55901 55902 This new virtual method is overridden by HTMLFrameElementBase to 55903 provide the scrolling mode set on the frame or iframe element. Object 55904 elements always have scrolling=auto, so there's no need to override 55905 this method for HTMLPlugInElement. 55906 55907 Reviewed by Hyatt. 55908 55909 * html/HTMLFrameElementBase.h: Declare scrollingMode as virtual. 55910 * html/HTMLFrameOwnerElement.h: 55911 (WebCore::HTMLFrameOwnerElement::scrollingMode): Added. 55912 55913 2008-01-22 David Hyatt <hyatt (a] apple.com> 55914 55915 Fix for <rdar://problem/5698481> REGRESSION: Web Inspector source view gutter double divider and no padding 55916 55917 Now that cellpadding cascades properly on <td>s, we need to make the view source padding rules in the user 55918 agent sheet have !important in order to override author settings. 55919 55920 Reviewed by Tim 55921 55922 * css/view-source.css: 55923 55924 2008-01-22 Nikolas Zimmermann <zimmermann (a] kde.org> 55925 55926 Reviewed by Alp. 55927 55928 Allow to use SVGPaintServerSolid without RenderObject/RenderStyle. Used later to draw SVG Fonts in HTML. 55929 55930 * svg/graphics/SVGPaintServer.cpp: 55931 (WebCore::SVGPaintServer::sharedSolidPaintServer): 55932 * svg/graphics/SVGPaintServer.h: 55933 * svg/graphics/cg/SVGPaintServerCg.cpp: 55934 (WebCore::SVGPaintServer::renderPath): 55935 (WebCore::SVGPaintServer::fillPath): 55936 (WebCore::SVGPaintServer::clipToFillPath): 55937 * svg/graphics/cg/SVGPaintServerSolidCg.cpp: 55938 (WebCore::SVGPaintServerSolid::setup): 55939 55940 2008-01-22 Nikolas Zimmermann <zimmermann (a] kde.org> 55941 55942 Reviewed by Alp. 55943 55944 Initialize missing variables, m_lineGap / m_lineSpacing. 55945 Only noticeable when trying to render HTML text using SVG Fonts (which is not possible with trunk, but with my local version). 55946 55947 * platform/graphics/SimpleFontData.cpp: 55948 (WebCore::SimpleFontData::SimpleFontData): 55949 55950 2008-01-22 Alp Toker <alp (a] atoker.com> 55951 55952 Reviewed by Nikolas. 55953 55954 Fix Cairo SVG fonts following changes in r29700. 55955 55956 Set the font description's details as needed in FontPlatformData and 55957 eliminate GraphicsContext::setPlatformFont() since it was redundant 55958 and assumed all fonts were Cairo fonts. 55959 55960 * platform/graphics/GraphicsContext.cpp: 55961 * platform/graphics/cairo/GraphicsContextCairo.cpp: 55962 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 55963 (WebCore::FontPlatformData::FontPlatformData): 55964 55965 2008-01-22 Dan Bernstein <mitz (a] apple.com> 55966 55967 Reviewed by Eric. 55968 55969 - fix http://bugs.webkit.org/show_bug.cgi?id=16967 55970 <rdar://problem/5699344> Reproducible crash when navigating back to a page using SVG fonts 55971 55972 Test: svg/custom/font-platformDestroy-crash.svg 55973 55974 * platform/graphics/SimpleFontData.cpp: 55975 (WebCore::SimpleFontData::~SimpleFontData): Changed to call 55976 platformDestroy() only if platformInit() was called from the 55977 constructor. 55978 55979 2008-01-22 Lars Knoll <lars (a] trolltech.com> 55980 55981 Reviewed by Simon. 55982 55983 cleanup the CookieJarQt implementation and implement cookiesEnabled. 55984 55985 * platform/qt/CookieJarQt.cpp: 55986 (WebCore::cookieJar): 55987 (WebCore::setCookies): 55988 (WebCore::cookies): 55989 (WebCore::cookiesEnabled): 55990 55991 2008-01-22 Lars Knoll <lars (a] trolltech.com> 55992 55993 Reviewed by Simon. 55994 55995 Ported the font implementation to use the new QFont features of Qt 4.4. 55996 55997 55998 * platform/graphics/Font.h: 55999 (WebCore::Font::setWordSpacing): 56000 (WebCore::Font::setLetterSpacing): 56001 (WebCore::Font::font): 56002 (WebCore::Font::): 56003 * platform/graphics/qt/FontQt.cpp: 56004 (WebCore::Font::Font): 56005 (WebCore::Font::setWordSpacing): 56006 (WebCore::Font::setLetterSpacing): 56007 (WebCore::qstring): 56008 (WebCore::setupLayout): 56009 (WebCore::Font::drawText): 56010 (WebCore::Font::width): 56011 (WebCore::Font::floatWidth): 56012 (WebCore::Font::offsetForPosition): 56013 (WebCore::Font::selectionRectForText): 56014 (WebCore::generateComponents): 56015 (WebCore::cursorToX): 56016 (WebCore::Font::~Font): 56017 (WebCore::Font::operator=): 56018 (WebCore::Font::operator==): 56019 (WebCore::Font::update): 56020 56021 2008-01-21 Eric Seidel <eric (a] webkit.org> 56022 56023 Reviewed by Nikolas & Oliver. 56024 56025 Tested by svg/custom/svg-features.html 56026 56027 * dom/DOMImplementation.cpp: 56028 (WebCore::isSVG10Feature): use ENABLE(SVG_*) conditionals 56029 (WebCore::isSVG11Feature): use ENABLE(SVG_*) conditionals 56030 56031 2008-01-21 Geoffrey Garen <ggaren (a] apple.com> 56032 56033 Reviewed by Maciej Stachowiak. 56034 56035 Adapted WebCore to the fix for http://bugs.webkit.org/show_bug.cgi?id=16909 56036 REGRESSION: Amazon.com crash (ActivationImp) 56037 56038 * bindings/js/kjs_proxy.cpp: 56039 (WebCore::KJSProxy::~KJSProxy): No convenient way to make this assertion 56040 anymore. (It wasn't firing for anyone, anyway, so it's no big loss.) 56041 56042 * bindings/objc/WebScriptObject.mm: 56043 (+[WebScriptObject throwException:]): Use the ExecState stack, instead 56044 of currentExec. 56045 (-[WebScriptObject setException:]): ditto. Also, a slight change in 56046 behavior: If no ExecStates are active, we no longer throw an exception 56047 in the global ExecState. The JavaScriptCore ChangeLog explains why. 56048 This also matches the behavior of +throwException. 56049 56050 2008-01-21 Nikolas Zimmermann <zimmermann (a] kde.org> 56051 56052 Not reviewed. Try to fix Qt build, after the rmdir() fixes.c 56053 56054 * platform/graphics/qt/SimpleFontDataQt.cpp: 56055 (WebCore::SimpleFontData::SimpleFontData): 56056 56057 2008-01-21 Nikolas Zimmermann <zimmermann (a] kde.org> 56058 56059 Not reviewed. Another Wx build fix. 56060 56061 * platform/graphics/wx/FontWx.cpp: 56062 (WebCore::Font::drawGlyphs): 56063 56064 2008-01-21 Darin Adler <darin (a] apple.com> 56065 56066 - try to fix Qt build 56067 56068 * platform/qt/FileSystemQt.cpp: 56069 (WebCore::deleteEmptyDirectory): QDir::root().rmdir() instead of QDir::rmdir(). 56070 56071 2008-01-21 Nikolas Zimmermann <zimmermann (a] kde.org> 56072 56073 Not reviewed. Yet another win/gtk build fix. 56074 56075 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 56076 (WebCore::FontPlatformData::FontPlatformData): 56077 * platform/graphics/win/FontWin.cpp: 56078 (WebCore::Font::drawGlyphs): 56079 56080 2008-01-21 Nikolas Zimmermann <zimmermann (a] kde.org> 56081 56082 Not reviewed. Another build fix for Gtk/Linux & Wx/Mac. 56083 56084 * platform/graphics/SimpleFontData.cpp: 56085 (WebCore::SimpleFontData::SimpleFontData): 56086 56087 2008-01-21 Nikolas Zimmermann <zimmermann (a] kde.org> 56088 56089 Not reviewed. Build fix for Qt/Gtk & Wx. 56090 56091 * css/CSSFontSelector.cpp: 56092 * platform/graphics/SegmentedFontData.cpp: 56093 (WebCore::SegmentedFontData::isSVGFont): Remove SVG_FONTS block, it's a pure virtual function in the base class. 56094 * platform/graphics/SegmentedFontData.h: 56095 56096 2008-01-21 Nikolas Zimmermann <zimmermann (a] kde.org> 56097 56098 Not reviewed. Build fix for ports that don't build SVG: wx. 56099 56100 * css/CSSFontFaceSource.h: Wrap include in ENABLE(SVG_FONTS) blocks. 56101 * css/CSSFontFaceSrcValue.h: Ditto. 56102 56103 2008-01-21 Nikolas Zimmermann <zimmermann (a] kde.org> 56104 56105 Not reviewed. Build fix for Qt/Gtk. 56106 56107 * platform/graphics/SimpleFontData.h: 56108 (WebCore::SimpleFontData::svgFontData): 56109 (WebCore::SimpleFontData::isSVGFont): 56110 56111 2008-01-21 Nikolas Zimmermann <zimmermann (a] kde.org> 56112 56113 Reviewed by Eric. Older parts reviewed by Dan. 56114 56115 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16880 (SVGCSSFontFace should die, instead integrate within the FontCache.) 56116 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16784 (In-document fonts work only as the first child to font-face-src) 56117 56118 Proper integration of SVG Fonts within the existing custom font concept, removing the need for a custom SVGCSSFontFace. 56119 Integrate within the CSSFontFaceSource logic for caching support, as well as the framework for external SVG Fonts. 56120 56121 Proper handling of missing glyphs, using <missing-glyph> element. If that is not specified in a font, fallback to non-SVG font rendering. 56122 56123 * GNUmakefile.am: 56124 * WebCore.pro: 56125 * WebCore.vcproj/WebCore.vcproj: 56126 * WebCore.xcodeproj/project.pbxproj: 56127 * css/CSSFontFaceSource.cpp: 56128 (WebCore::CSSFontFaceSource::getFontData): 56129 * css/CSSFontFaceSource.h: 56130 (WebCore::CSSFontFaceSource::svgFontFaceElement): 56131 (WebCore::CSSFontFaceSource::setSVGFontFaceElement): 56132 * css/CSSFontFaceSrcValue.h: 56133 (WebCore::CSSFontFaceSrcValue::m_isLocal): 56134 (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue): 56135 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement): 56136 (WebCore::CSSFontFaceSrcValue::setSVGFontFaceElement): 56137 * css/CSSFontSelector.cpp: 56138 (WebCore::CSSFontSelector::addFontFaceRule): 56139 * css/SVGCSSFontFace.cpp: Removed. 56140 * css/SVGCSSFontFace.h: Removed. 56141 * platform/graphics/Font.cpp: 56142 (WebCore::Font::ascent): 56143 (WebCore::Font::descent): 56144 (WebCore::Font::lineSpacing): 56145 (WebCore::Font::xHeight): 56146 (WebCore::Font::fontSelector): 56147 * platform/graphics/Font.h: 56148 * platform/graphics/FontData.h: 56149 * platform/graphics/SegmentedFontData.cpp: 56150 (WebCore::SegmentedFontData::isSVGFont): 56151 * platform/graphics/SegmentedFontData.h: 56152 * platform/graphics/SimpleFontData.cpp: 56153 (WebCore::SimpleFontData::SimpleFontData): 56154 * platform/graphics/SimpleFontData.h: 56155 (WebCore::SimpleFontData::ascent): 56156 (WebCore::SimpleFontData::descent): 56157 (WebCore::SimpleFontData::lineSpacing): 56158 (WebCore::SimpleFontData::lineGap): 56159 (WebCore::SimpleFontData::xHeight): 56160 (WebCore::SimpleFontData::isSVGFont): 56161 (WebCore::SimpleFontData::svgFontData): 56162 * platform/graphics/gtk/FontPlatformData.h: 56163 (WebCore::FontPlatformData::size): 56164 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 56165 (WebCore::FontPlatformData): 56166 * platform/graphics/mac/FontPlatformData.h: 56167 (WebCore::FontPlatformData::FontPlatformData): 56168 (WebCore::FontPlatformData::size): 56169 * platform/graphics/win/FontPlatformData.h: 56170 * platform/graphics/win/FontPlatformDataWin.cpp: 56171 (WebCore::FontPlatformData::FontPlatformData): 56172 * rendering/RenderSVGText.cpp: 56173 (WebCore::RenderSVGText::relativeBBox): 56174 * svg/SVGFont.cpp: 56175 (WebCore::convertEmUnitToPixel): 56176 (WebCore::isCompatibleGlyph): 56177 (WebCore::svgFontAndFontFaceElementForFontData): 56178 (WebCore::SVGTextRunWalker::SVGTextRunWalker): 56179 (WebCore::SVGTextRunWalker::walk): 56180 (WebCore::floatWidthUsingSVGFontCallback): 56181 (WebCore::floatWidthMissingGlyphCallback): 56182 (WebCore::floatWidthOfSubStringUsingSVGFont): 56183 (WebCore::drawTextUsingSVGFontCallback): 56184 (WebCore::drawTextMissingGlyphCallback): 56185 (WebCore::Font::drawTextUsingSVGFont): 56186 * svg/SVGFontData.cpp: Added. 56187 (WebCore::SVGFontData::SVGFontData): 56188 (WebCore::SVGFontData::~SVGFontData): 56189 * svg/SVGFontData.h: Added. 56190 (WebCore::SVGFontData::svgFontFaceElement): 56191 (WebCore::SVGFontData::horizontalOriginX): 56192 (WebCore::SVGFontData::horizontalOriginY): 56193 (WebCore::SVGFontData::horizontalAdvanceX): 56194 (WebCore::SVGFontData::verticalOriginX): 56195 (WebCore::SVGFontData::verticalOriginY): 56196 (WebCore::SVGFontData::verticalAdvanceY): 56197 * svg/SVGFontFaceElement.cpp: 56198 (WebCore::SVGFontFaceElement::unitsPerEm): 56199 (WebCore::SVGFontFaceElement::xHeight): 56200 (WebCore::SVGFontFaceElement::horizontalOriginX): 56201 (WebCore::SVGFontFaceElement::horizontalOriginY): 56202 (WebCore::SVGFontFaceElement::horizontalAdvanceX): 56203 (WebCore::SVGFontFaceElement::verticalOriginX): 56204 (WebCore::SVGFontFaceElement::verticalOriginY): 56205 (WebCore::SVGFontFaceElement::verticalAdvanceY): 56206 (WebCore::SVGFontFaceElement::ascent): 56207 (WebCore::SVGFontFaceElement::descent): 56208 (WebCore::SVGFontFaceElement::fontFamily): 56209 (WebCore::SVGFontFaceElement::associatedFontElement): 56210 (WebCore::SVGFontFaceElement::rebuildFontFace): 56211 * svg/SVGFontFaceElement.h: 56212 * svg/SVGGlyphElement.cpp: 56213 (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes): 56214 (WebCore::parseSVGGlyphAttribute): 56215 (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier): 56216 (WebCore::SVGGlyphElement::buildGlyphIdentifier): 56217 * svg/SVGGlyphElement.h: 56218 * svg/SVGMissingGlyphElement.cpp: 56219 * svg/svgattrs.in: 56220 56221 2008-01-21 Darin Adler <darin (a] apple.com> 56222 56223 Reviewed by John Sullivan. 56224 56225 - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases 56226 56227 - remove the default database quota setting 56228 56229 - simplify the quota-related client calls by merging the one for a new database with 56230 the one for an existing database, adding a feature where you can get details about 56231 a database being created using the same functions that work on the other databases, 56232 and removing the parameters and return values, instead having clients use a function 56233 to set the quota 56234 56235 - fix unsafe multi-thread access to the database tracker's quota map 56236 - fix bug in deleteAllDatabases where it would iterate a HashMap while modifying it 56237 56238 The tracker database is now only created when we set the quota for a database origin. 56239 Thus asking for info about databases won't cause anything to be written to disk. 56240 56241 * WebCore.base.exp: Updated. 56242 56243 * bindings/js/GCController.cpp: Added an #if to get rid of an unused function warning. 56244 56245 * page/Chrome.cpp: Removed database-related functions. There's no problem having the 56246 code deal directly with the client. 56247 * page/Chrome.h: Ditto. Also made Chrome inherit from Noncopyable. 56248 56249 * page/ChromeClient.h: Replaced the two quota-related functions with a single one. 56250 The details about the state of databases in the origin are now available by asking 56251 for database details. There's also no need to pass the security origin, since 56252 it's easy to get that from the frame's document. 56253 56254 * page/Settings.cpp: Removed the default quota setting. 56255 * page/Settings.h: Ditto. 56256 56257 * platform/FileSystem.h: Added deleteEmptyDirectory. 56258 * platform/gtk/FileSystemGtk.cpp: 56259 (WebCore::deleteEmptyDirectory): Added. 56260 * platform/posix/FileSystemPOSIX.cpp: 56261 (WebCore::deleteEmptyDirectory): Added. 56262 * platform/qt/FileSystemQt.cpp: 56263 (WebCore::deleteEmptyDirectory): Added. 56264 * platform/win/FileSystemWin.cpp: 56265 (WebCore::deleteEmptyDirectory): Added. 56266 * platform/wx/FileSystemWx.cpp: 56267 (WebCore::deleteEmptyDirectory): Added placeholder. 56268 56269 * storage/DatabaseDetails.h: Removed the isValid() function since its name is 56270 confusing -- we removed our other isValid() functions. For the few callers that 56271 need this, it's fine to just check name().isEmpty(). Made the member functions 56272 all const. 56273 56274 * storage/DatabaseTracker.cpp: 56275 (WebCore::DatabaseTracker::DatabaseTracker): Removed m_defaultQuota initialization. 56276 Added m_proposedDatabase and m_thread. 56277 (WebCore::DatabaseTracker::setDatabaseDirectoryPath): Got rid of code that would 56278 open the tracker database here. This might slightly speed up launch time, since 56279 we won't do the I/O until we have to, and before we were actually creating an SQL 56280 database in this code that's run when we go to the first webpage. 56281 (WebCore::DatabaseTracker::trackerDatabasePath): Added. 56282 (WebCore::DatabaseTracker::openTrackerDatabase): Added a boolean parameter telling 56283 this function whether to create the database. Made this function safe to call if 56284 the database is already open. Also made the function fail quietly if the path has 56285 not been set yet. 56286 (WebCore::DatabaseTracker::canEstablishDatabase): Got rid of the call to the 56287 establishEntryForOrigin function. The origin is now put in the tracker database 56288 when the quota is set to a non-zero value. When judging if there's enough space 56289 for the new database, require at least one byte even if estimatedSize is 0, and 56290 check for overflow. Also added code here to populate the origins map, which 56291 guarantees it will be ready when the database uses it on another thread later. 56292 Also changed this to call the new ChromeClient function. 56293 (WebCore::DatabaseTracker::hasEntryForDatabase): Added code to open the 56294 tracker database, since that's no longer done by setDatabaseDirectoryPath. 56295 (WebCore::DatabaseTracker::originPath): Added. 56296 (WebCore::DatabaseTracker::fullPathForDatabase): Added code so that this will 56297 return a null string for the proposed database if called from within the 56298 ChromeClient function. Also switched from empty string to null string for the 56299 error cases. 56300 (WebCore::DatabaseTracker::populateOrigins): Added code to open the tracker 56301 database. 56302 (WebCore::DatabaseTracker::databaseNamesForOrigin): Ditto. 56303 (WebCore::DatabaseTracker::detailsForNameAndOrigin): Ditto. Also added code that 56304 will return the details of the proposed database if called from within the 56305 ChromeClient function. This is how the client can learn of the display name and 56306 the estimated size of the new database. 56307 (WebCore::DatabaseTracker::setDatabaseDetails): Added code to open the tracker 56308 database. 56309 (WebCore::DatabaseTracker::quotaForOrigin): Made this code OK to call on a non-main 56310 thread by using m_quotaMapGuard to guard access to the map. Other code runs on the 56311 main thread only, and only functions that write to the map use the lock. 56312 (WebCore::DatabaseTracker::setQuota): Changed this function so it can insert the 56313 initial quota as well as updating an existing quota. Added locking since this 56314 function modifies the quota map. Added code to open the tracker database. Added 56315 an early exit if the quota is already correct, which is guarantees that if you 56316 set a quota to 0 it won't trigger creation of a tracker database. 56317 (WebCore::DatabaseTracker::addDatabase): Added code to open the tracker database. 56318 (WebCore::DatabaseTracker::deleteAllDatabases): Made a copy of the quota map before 56319 iterating it to find all the origins. This fixes a problem with the old code where 56320 it would modify the map while iterating it, which gives assertions in debug builds 56321 and unpredictable results. 56322 (WebCore::DatabaseTracker::deleteOrigin): Replaced deleteDatabasesWithOrigin with 56323 this function. Added code to open the tracker database if needed. Added code to 56324 delete the origin from the tracker database, and to close the tracker database 56325 and delete files and directories as needed if we are deleting the final origin. 56326 (WebCore::DatabaseTracker::deleteDatabase): Added code to open the tracker database 56327 if needed. 56328 56329 * storage/DatabaseTracker.h: Renamed databasePath to databaseDirectoryPath for 56330 clarity, including the data member, and the getter and setter functions. 56331 Replaced deleteDatabasesWithOrigin with deleteOrigin. Removed the functions 56332 dealing with default origin quota. There is no default any more; origins start 56333 with no quota and the client must set a quota. Added trackerDatabasePath and 56334 originPath helper functions. Added a boolean parameter to openTrackerDatabase 56335 to tell it whether to create the database or not. Removed the 56336 establishEntryForOrigin function. Renamed m_originQuotaMap to just m_quotaMap, 56337 and added m_quotaMapGuard. Added a QuotaMap typedef. Added m_proposedDatabase, 56338 which holds the origin and details for the current proposed database during 56339 the client callback function that must decide whether to grant quota. Added a 56340 m_thread data member for debugging use to assert if functions that can only 56341 be called on a single thread are misused. 56342 56343 * storage/SQLTransaction.cpp: 56344 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Changed to call the 56345 new exceededDatabaseQuota function instead of the old one. 56346 56347 * svg/graphics/SVGImageEmptyClients.h: Updated for the change to ChromeClient. 56348 56349 2008-01-21 David Hyatt <hyatt (a] apple.com> 56350 56351 Fix for http://bugs.webkit.org/show_bug.cgi?id=16935 56352 56353 Fix a bug in layers where the positioned ancestor was being computed incorrectly (the root should not 56354 automatically be included). 56355 56356 Reviewed by olliej 56357 56358 Added fast/layers/positioned-inside-root-with-margins.html 56359 56360 * rendering/RenderLayer.cpp: 56361 (WebCore::RenderLayer::stackingContext): 56362 (WebCore::RenderLayer::enclosingPositionedAncestor): 56363 56364 2008-01-21 Simon Hausmann <hausmann (a] webkit.org> 56365 56366 Reviewed by Holger. 56367 56368 Fix KURL to QUrl conversion. 56369 56370 Stick to the encoded version of the URL and in addition to KURL we encode the 56371 characters mentioned in section 2.4.3 of RFC 2396 as QUrl requires these, too. 56372 56373 This fixes fast/css/import-rule-regression-11590.html, 56374 fast/css/import-style-update.html, svg/hixie/processing-model/003.xml and 56375 svg/hixie/processing-model/004.xml. 56376 56377 56378 * platform/qt/KURLQt.cpp: 56379 (WebCore::toHex): 56380 (WebCore::KURL::operator QUrl): 56381 56382 2008-01-21 Simon Hausmann <hausmann (a] webkit.org> 56383 56384 Reviewed by Holger. 56385 56386 Fix focus chain handling and cycling through focusable objects (links) using tab/backtab. 56387 56388 * Fix GraphicsContext::drawFocusRing to also draw single focus rects. 56389 * Implemented QWebPage::focusNextPrevChild by sending fake tab/shift-tab events 56390 and make the return value depend on whether we successfully determined a focusable 56391 node or not. 56392 * Changed QWebView::focusNextPrevChild() to call the base QWidget implementation correctly 56393 if we could not handle the focus chain ourselves. 56394 * Changed the focus policy of QWebView to correctly use WheelFocus instead of ClickFocus. 56395 * Made ChromeClientQt::canTakeFocus() and takeFocus() dummy method since they are only 56396 used to control the situation of stepping out of the focus chain inside the page. 56397 * Made inclusion of links in the focus chain configurable through QWebSettings::LinksIncludedInFocusChain. 56398 The layout tests expect this to be disabled but for the user it seems sensible to have it 56399 on by default, hence the default in qwebsettings.cpp 56400 56401 * platform/graphics/qt/GraphicsContextQt.cpp: 56402 (WebCore::GraphicsContext::drawFocusRing): 56403 56404 2008-01-21 Simon Hausmann <hausmann (a] webkit.org> 56405 56406 Reviewed by Holger. 56407 56408 Fix access key support and fast/forms/legend-access-key.html 56409 56410 SVN revision 26664 changed the default access key for the non-mac build to Alt 56411 while this test relies on Ctrl. 56412 56413 * page/EventHandler.cpp: 56414 56415 2008-01-21 Simon Hausmann <hausmann (a] webkit.org> 56416 56417 Reviewed by Holger. 56418 56419 Fix error reporting when parsing X(HT)ML fragments. 56420 56421 We use the regular XMLTokenizer write()/.../end() sequence to parse those 56422 fragments, but we should not report any parsing errors inline inside the 56423 content. Instead we should just return the error and the DOM layer will take 56424 care of throwing an exception. 56425 56426 This fixes fast/innerHTML/innerHTML-changing-document-properties.xhtml 56427 56428 56429 * dom/XMLTokenizer.cpp: 56430 (WebCore::createXHTMLParserErrorHeader): 56431 56432 2008-01-21 Holger Freyther <holger.freyther (a] trolltech.com> 56433 56434 Reviewed by Simon. 56435 56436 Fix some issues with redirections. 56437 56438 * Ensure that we deliver the response to the ResourceHandleClient only once by 56439 setting m_responseSent back to false only before calling start() for the 56440 redirection 56441 * Added 307 as another HTTP status code that causes a redirection after POST to 56442 become get, just like in MainResourceLoader::isPostOrRedirectAfterPost 56443 * Also set the HTTP method on the ResourceRequest to GET before passing it to 56444 willSendRequest. 56445 * willSendRequest's newRequest argument is actually an in/out argument and could be 56446 modified in theory, so set m_request accordingly after the call. 56447 56448 56449 * platform/network/qt/QNetworkReplyHandler.cpp: 56450 (WebCore::QNetworkReplyHandler::finish): 56451 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 56452 56453 2008-01-21 Holger Freyther <holger.freyther (a] trolltech.com> 56454 56455 Reviewed by Simon. 56456 56457 Fixed WebCore::cookies() to return all cookies, not only the first one. 56458 56459 Fixes login into mail.yahoo.com. 56460 56461 56462 * platform/qt/CookieJarQt.cpp: 56463 (WebCore::cookies): 56464 56465 2008-01-20 Oliver Hunt <oliver (a] apple.com> 56466 56467 Reviewed by Mitz. 56468 56469 Fix http://bugs.webkit.org/show_bug.cgi?id=16816 , rdar://problem/5682985 56470 56471 Correctly trigger willPerformDragDestinationAction when a drop causes a 56472 load to occur. The logic that originally did this was lost during the 56473 great drag migration of '07. 56474 56475 * page/DragController.cpp: 56476 (WebCore::DragController::performDrag): 56477 56478 2008-01-20 Dan Bernstein <mitz (a] apple.com> 56479 56480 Reviewed by Darin Adler. 56481 56482 - fix http://bugs.webkit.org/show_bug.cgi?id=16951 56483 Assertion failure in FrameView::scheduleRelayout (!m_frame->document() || !m_frame->document()->inPageCache()) when going back from a page with a focused popup 56484 56485 * dom/Document.cpp: 56486 (WebCore::Document::setFocusedNode): Bail out if the document is in the 56487 page cache. Documents in the back/forward cache are "frozen" and should 56488 not change state. 56489 56490 2008-01-20 Collin Jackson <webkit (a] collinjackson.com> 56491 56492 Reviewed by Sam Weinig. 56493 56494 Fix for http://bugs.webkit.org/show_bug.cgi?id=16775 56495 56496 We now use frame()->loader()->url() for postMessage, preventing a 56497 malicious sender from overwriting the uri property (using a <base> tag, 56498 for example). Also, use frame->loader()->url().host() instead of 56499 instead of document()->SecurityOrigin()->domain() to reflect a recent 56500 clarification in the HTML5 spec. 56501 56502 Tests: http/tests/security/postMessage/domain-affected-by-document-domain.html 56503 http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag.html 56504 http/tests/security/postMessage/javascript-page-still-sends-domain.html 56505 56506 * bindings/js/JSDOMWindowCustom.cpp: 56507 (WebCore::JSDOMWindow::postMessage): 56508 56509 2008-01-20 Antti Koivisto <antti (a] apple.com> 56510 56511 Reviewed by Adele. 56512 56513 Fix <rdar://problem/5695451> 56514 Middle part of the media timeline missing on Windows if load failed 56515 56516 Add some null checking to avoid getting garbage results from the functions. 56517 56518 * platform/graphics/MediaPlayer.cpp: 56519 * platform/graphics/win/QTMovieWin.cpp: 56520 (QTMovieWin::duration): 56521 (QTMovieWin::currentTime): 56522 (QTMovieWin::setCurrentTime): 56523 (QTMovieWin::maxTimeLoaded): 56524 56525 2008-01-19 Alp Toker <alp (a] atoker.com> 56526 56527 Reviewed by Mark Rowe. 56528 56529 http://bugs.webkit.org/show_bug.cgi?id=16944 56530 Use of GST_PLUGIN_DEFINE_STATIC results in a module-level constructor 56531 56532 http://bugzilla.gnome.org/show_bug.cgi?id=510547 56533 Epiphany/Webkit fails to start due to initializing threads twice 56534 56535 Don't call GST_PLUGIN_DEFINE_STATIC() as it performs g_thread_init() 56536 in the global initializer, breaking subsequent calls to 56537 g_thread_init() in applications. 56538 56539 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 56540 56541 2008-01-19 Alp Toker <alp (a] atoker.com> 56542 56543 Reviewed by Mark Rowe. 56544 56545 Remove any fragment part from the URL to be requested just before 56546 passing it to curl, otherwise curl sends it as part of the HTTP/local 56547 file request, causing page loads to fail. 56548 56549 * platform/network/curl/ResourceHandleManager.cpp: 56550 (WebCore::ResourceHandleManager::startJob): 56551 56552 2008-01-19 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 56553 56554 Reviewed by Alp Toker. 56555 56556 Add svg foreign object and svg experimental to the GTK+/autotools 56557 build system. 56558 56559 * GNUmakefile.am: 56560 56561 2008-01-19 Dan Bernstein <mitz (a] apple.com> 56562 56563 Reviewed by Maciej Stachowiak. 56564 56565 - fix <rdar://problem/5645813> CrashTracer: [USER] 6 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::destroy + 116 56566 56567 Test: editing/selection/inconsistent-in-removeChildNode.html 56568 56569 * editing/SelectionController.cpp: 56570 (WebCore::SelectionController::nodeWillBeRemoved): If the selection 56571 base or extent are not visible any more, adjust the selection. 56572 56573 2008-01-19 Oliver Hunt <oliver (a] apple.com> 56574 56575 Reviewed by Eric Seidel. 56576 56577 Build fix for --svg-foreign-object path 56578 56579 * svg/SVGForeignObjectElement.idl: 56580 56581 2008-01-18 Stephanie <slewis (a] apple.com> 56582 56583 Reviewed by Oliver. 56584 56585 Workaround for <rdar://problem/5695848>. Set mime_type for local files based on file extension. 56586 56587 * platform/network/cf/ResourceResponseCFNet.cpp: 56588 (WebCore::ResourceResponse::doUpdateResourceResponse): 56589 56590 2008-01-18 Ada Chan <adachan (a] apple.com> 56591 56592 <rdar://problem/5682340> REGRESSION (r28188): Context menu appears at wrong place when clicking in iframe whose parent is scrolled (16827) 56593 Calling absolutePosition() in EventHandler::hitTestResultAtPoint() is extremely inefficient and passing in 56594 true as fixed before was wrong. Use HitTestResult::localPoint() instead, and take into account border and padding widths. 56595 56596 Reviewed by Hyatt and Darin. 56597 56598 * page/EventHandler.cpp: 56599 (WebCore::EventHandler::hitTestResultAtPoint): 56600 * rendering/HitTestResult.cpp: 56601 (WebCore::HitTestResult::operator=): 56602 56603 2008-01-18 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 56604 56605 Reviewed by Darin, landed by Beth. 56606 56607 - fixed http://bugs.webkit.org/show_bug.cgi?id=15765 56608 56609 The call to HTMLTokenizer::write might result in a call to ::end which will invoke 56610 HTMLParser::finished() or Document::finishedParsing(). HTMLParser::finished() will eventually 56611 call Document::finishedParsing. The Document will delete the calling HTMLTokenizer and from the deleted 56612 tokenizer we will call into FrameLoader::tokenizerProcessedData. 56613 -) FrameLoader::tokenizerProcessedData calls FrameLoader::checkCompleted which gets called from the Document::finishedParsing 56614 (FrameLoader::finishedParsing). 56615 56616 * html/HTMLTokenizer.cpp: 56617 (WebCore::HTMLTokenizer::timerFired): 56618 56619 2008-01-18 David Hyatt <hyatt (a] apple.com> 56620 56621 Don't apply the border/margin/padding check to root line boxes, since their renderers 56622 are blocks. 56623 56624 * rendering/InlineFlowBox.cpp: 56625 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 56626 (WebCore::InlineFlowBox::placeBoxesVertically): 56627 56628 2008-01-18 Geoffrey Garen <ggaren (a] apple.com> 56629 56630 Not reviewed: rolling out a previous patch. 56631 56632 Fixed <rdar://problem/5695439> Crash during GCController destructor on 56633 quitting browser 56634 56635 Used svn merge to roll out r29603 because it introduced some crashes 56636 on quit. 56637 56638 GC relies on static hash tables, so it's not safe to GC from a static 56639 destructor, which might run after the static hash tables' destructors. 56640 56641 * bindings/js/GCController.cpp: 56642 (WebCore::GCController::garbageCollectNow): 56643 * bindings/js/GCController.h: 56644 56645 2008-01-18 David Hyatt <hyatt (a] apple.com> 56646 56647 Fix for http://bugs.webkit.org/show_bug.cgi?id=15665 56648 56649 Building on Beth's earlier work to start building line boxes for empty inlines, this patch makes more 56650 empty inline cases work. Empty inlines on lines by themselves now set isLineEmpty to false so that 56651 bidiReorderLine will get properly called. In addition, the "shrink boxes with no text children" quirk 56652 needs to be disabled for inlines with padding, margins or borders. 56653 56654 Reviewed by Beth 56655 56656 Added fast/inline/inline-padding-disables-text-quirk.html 56657 56658 * rendering/InlineFlowBox.cpp: 56659 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 56660 (WebCore::InlineFlowBox::placeBoxesVertically): 56661 (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren): 56662 * rendering/RenderObject.h: 56663 (WebCore::RenderObject::hasBordersPaddingOrMargin): 56664 * rendering/bidi.cpp: 56665 (WebCore::inlineFlowRequiresLineBox): 56666 (WebCore::RenderBlock::findNextLineBreak): 56667 56668 2008-01-18 David Hyatt <hyatt (a] apple.com> 56669 56670 Fix for http://bugs.webkit.org/show_bug.cgi?id=14975 56671 56672 Computed size of padding is incorrect because we default padding to auto. This is a made-up value that 56673 was only used to implement cellpadding on tables. We needed this made-up value in order to tell that 56674 padding wasn't set so that we could then apply cellpadding. 56675 56676 This patch rewrites cellpadding to be like other browsers. Instead of being a setting on the table 56677 renderer that applies to all cells (even ones that were not <td>s), cellpadding is now mapped into the 56678 style of <td>s. With this change it effectively becomes a content model feature and not a rendering 56679 feature. 56680 56681 For example, a <td> will pick up cellpadding even when it is not a cell and/or the enclosing <table> is 56682 not a table. Anonymous cells and CSS-display-type cells will now never pick up cellpadding. This behavior 56683 is all consistent with other browsers. 56684 56685 Reviewed by Antti 56686 56687 Added fast/css/padding-no-renderer.html 56688 56689 * css/CSSStyleSelector.cpp: 56690 (WebCore::CSSStyleSelector::canShareStyleWithElement): 56691 (WebCore::CSSStyleSelector::styleForElement): 56692 * css/CSSStyleSelector.h: 56693 * dom/StyledElement.cpp: 56694 * dom/StyledElement.h: 56695 (WebCore::StyledElement::canHaveAdditionalAttributeStyleDecls): 56696 (WebCore::StyledElement::additionalAttributeStyleDecls): 56697 * html/HTMLTableCellElement.cpp: 56698 (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls): 56699 * html/HTMLTableCellElement.h: 56700 (WebCore::HTMLTableCellElement::canHaveAdditionalAttributeStyleDecls): 56701 * html/HTMLTableColElement.cpp: 56702 (WebCore::HTMLTableColElement::additionalAttributeStyleDecls): 56703 * html/HTMLTableColElement.h: 56704 (WebCore::HTMLTableColElement::canHaveAdditionalAttributeStyleDecls): 56705 * html/HTMLTableElement.cpp: 56706 (WebCore::HTMLTableElement::parseMappedAttribute): 56707 (WebCore::HTMLTableElement::additionalAttributeStyleDecls): 56708 (WebCore::HTMLTableElement::addSharedCellDecls): 56709 (WebCore::HTMLTableElement::addSharedCellBordersDecl): 56710 (WebCore::HTMLTableElement::addSharedCellPaddingDecl): 56711 (WebCore::HTMLTableElement::addSharedGroupDecls): 56712 (WebCore::HTMLTableElement::attach): 56713 * html/HTMLTableElement.h: 56714 (WebCore::HTMLTableElement::canHaveAdditionalAttributeStyleDecls): 56715 * html/HTMLTableSectionElement.cpp: 56716 (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls): 56717 * html/HTMLTableSectionElement.h: 56718 (WebCore::HTMLTableSectionElement::canHaveAdditionalAttributeStyleDecls): 56719 * rendering/AutoTableLayout.cpp: 56720 (WebCore::AutoTableLayout::recalcColumn): 56721 * rendering/RenderObject.cpp: 56722 (WebCore::RenderObject::paddingTop): 56723 (WebCore::RenderObject::paddingBottom): 56724 (WebCore::RenderObject::paddingLeft): 56725 (WebCore::RenderObject::paddingRight): 56726 * rendering/RenderStyle.cpp: 56727 (WebCore::StyleSurroundData::StyleSurroundData): 56728 * rendering/RenderStyle.h: 56729 (WebCore::RenderStyle::initialPadding): 56730 * rendering/RenderTable.cpp: 56731 (WebCore::RenderTable::RenderTable): 56732 * rendering/RenderTable.h: 56733 56734 2008-01-18 Dan Bernstein <mitz (a] apple.com> 56735 56736 Reviewed by Dave Hyatt. 56737 56738 - fix <rdar://problem/5615307> Repro crash in WebKit!WebCore::RenderContainer::destroyLeftoverChildren 56739 56740 Test: fast/table/insert-row-before-form.html 56741 56742 * rendering/RenderTableRow.cpp: 56743 (WebCore::RenderTableRow::addChild): Changed to ensure that the 56744 object a new cell is inserted before is a child of the row, and 56745 added an assertion that that object is either a cell or a form. 56746 * rendering/RenderTableSection.cpp: 56747 (WebCore::RenderTableSection::addChild): Changed to ensure that the 56748 object a new row is inserted before is a child of the table section, and 56749 added an assertion that that object is either a table row or a form. 56750 56751 2008-01-18 Geoffrey Garen <ggaren (a] apple.com> 56752 56753 Reviewed by Brady Eidson. 56754 56755 Fixed <rdar://problem/5622424> World Leak dialog when closing a page 56756 that has a Database 56757 56758 The problem was that each transaction and SQL statement would hold on 56759 to its callback indefinitely. By design, callbacks often establish 56760 reference cycles to temporarily protect their execution environments. 56761 To break the cycle, we need to explicitly release each callback as soon 56762 as it is no longer needed. 56763 56764 * storage/SQLStatement.cpp: 56765 (WebCore::SQLStatement::performCallback): Release our callback objects 56766 after performing our callback. 56767 56768 * storage/SQLTransaction.cpp: 56769 (WebCore::SQLTransaction::postflightAndCommit): Release our callback 56770 objects after the transaction has terminated. 56771 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): ditto. 56772 56773 2008-01-18 Adele Peterson <adele (a] apple.com> 56774 56775 Reviewed by Antti. 56776 56777 Fix for <rdar://problem/5679490> media controls fade in and out too jerkily and too slowly 56778 56779 * rendering/RenderMedia.cpp: Shorten the duration for the fade in/out animation. 56780 56781 2008-01-18 Beth Dakin <bdakin (a] apple.com> 56782 56783 Reviewed by Oliver. 56784 56785 Disables SVG foreign object for <rdar://problem/5686989> turn off 56786 SVG foreignobject because it does not repaint/dirty correctly 56787 56788 * DerivedSources.make: 56789 * WebCore.SVG.ForeignObject.exp: Added. 56790 * WebCore.SVG.exp: 56791 * bindings/js/JSSVGElementWrapperFactory.cpp: 56792 (WebCore::createJSSVGWrapper): 56793 * rendering/RenderForeignObject.cpp: 56794 * rendering/RenderForeignObject.h: 56795 * svg/SVGForeignObjectElement.cpp: 56796 * svg/SVGForeignObjectElement.h: 56797 * svg/SVGForeignObjectElement.idl: 56798 * svg/SVGLocatable.cpp: 56799 (WebCore::SVGLocatable::nearestViewportElement): 56800 (WebCore::SVGLocatable::farthestViewportElement): 56801 * svg/SVGUseElement.cpp: 56802 (WebCore::isDisallowedElement): 56803 * svg/svgtags.in: 56804 56805 2008-01-18 Mark Rowe <mrowe (a] apple.com> 56806 56807 Rubber-stamped by Adam Roben. 56808 56809 Fix mixed line endings in FileSystemWin.cpp and set svn:eol-style to native 56810 to try and keep them consistent in the future. 56811 56812 * platform/win/FileSystemWin.cpp: 56813 (WebCore::fileSize): 56814 (WebCore::fileExists): 56815 (WebCore::deleteFile): 56816 (WebCore::pathByAppendingComponent): 56817 (WebCore::fileSystemRepresentation): 56818 (WebCore::makeAllDirectories): 56819 (WebCore::homeDirectoryPath): 56820 (WebCore::bundleName): 56821 (WebCore::storageDirectory): 56822 (WebCore::cachedStorageDirectory): 56823 56824 2008-01-18 Antti Koivisto <antti (a] apple.com> 56825 56826 Reviewed by Adam. 56827 56828 Fix unreachable code warning in RenderVideo on Windows. 56829 56830 Make switch cases explicit. 56831 56832 * rendering/RenderImage.cpp: 56833 (WebCore::RenderImage::isWidthSpecified): 56834 (WebCore::RenderImage::isHeightSpecified): 56835 * rendering/RenderVideo.cpp: 56836 (WebCore::RenderVideo::isWidthSpecified): 56837 (WebCore::RenderVideo::isHeightSpecified): 56838 56839 2008-01-18 Timothy Hatcher <timothy (a] apple.com> 56840 56841 Reviewed by Adam Roben. 56842 56843 <rdar://problem/5693558> REGRESSION (r29581): no form field focus 56844 rings and inactive text selection after loading a page 56845 Bug 16910: [GTK] REGRESSION: keyboard cursor doesn't blink 56846 Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance 56847 56848 * page/FocusController.cpp: 56849 (WebCore::FocusController::setActive): Use focusedOrMainFrame() instead of focusedFrame() 56850 to call selectionController()->pageActivationChanged() for cases when the focusedFrame() 56851 has not been set yet. 56852 56853 2008-01-18 Alexey Proskuryakov <ap (a] webkit.org> 56854 56855 Reviewed by Brady. 56856 56857 Database origin tracking is broken. 56858 56859 * storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::populateOrigins): 56860 Move reading from statement back into the loop (broken in r29386). 56861 56862 2008-01-18 Marius Storm-Olsen <marius (a] trolltech.com> 56863 56864 Reviewed by Simon Hausmann <hausmann (a] webkit.org>. 56865 56866 Add use of precompiled header, when building inside Qt. 56867 56868 Compiling WebKit was taking forever; 17 minutes on my machine for _one_ build! Adding the PCH at least brings it down to 12 minutes for one build, for me. 56869 56870 56871 * WebCore.pro: 56872 56873 2008-01-18 Simon Hausmann <hausmann (a] webkit.org> 56874 56875 Reviewed by Holger. 56876 56877 Fix fast/forms/button-state-restore.html 56878 56879 Similar to the fix for fast/forms/form-post-urlencoded.html transform POST 56880 requests to data urls into GET. 56881 56882 56883 * platform/network/qt/QNetworkReplyHandler.cpp: 56884 (WebCore::QNetworkReplyHandler::start): 56885 56886 2008-01-18 Simon Hausmann <hausmann (a] webkit.org> 56887 56888 Reviewed by Holger. 56889 56890 Fix LayoutTests/fast/cookies/local-file-can-set-cookies.html 56891 56892 In WebCore::cookies() don't return the full raw form but only the name=value 56893 part. This fixes the getter part of the above test. The above test also 56894 requires a parsing fix in Qt 4.4's QNetworkCookie to fully pass. 56895 56896 56897 * platform/qt/CookieJarQt.cpp: 56898 (WebCore::cookies): 56899 56900 2008-01-18 Simon Hausmann <hausmann (a] webkit.org> 56901 56902 Reviewed by Holger. 56903 56904 Fix svg/custom/path-getTotalLength.svg 56905 56906 Path::apply creates a PathElement and its points array on the stack, 56907 to fill it in from the QPainterPath data and then use the platform 56908 independent path applier functions to calculate properties such as 56909 the length. For converting a QPainterPath::CurveToElement we need 56910 three points in the path element. However we allocated only two 56911 on the stack and as a result we got memory corruption and the 56912 failing test. 56913 56914 56915 * platform/graphics/qt/PathQt.cpp: 56916 (WebCore::Path::apply): 56917 56918 2008-01-18 Simon Hausmann <hausmann (a] webkit.org> 56919 56920 Reviewed by Holger. 56921 56922 Fix LayoutTests/fast/dom/document-attribute-js-null.html 56923 56924 Don't crash when trying to get/set cookies without a frameloader. 56925 56926 56927 * platform/qt/CookieJarQt.cpp: 56928 (WebCore::setCookies): 56929 (WebCore::cookies): 56930 56931 2008-01-18 Simon Hausmann <hausmann (a] webkit.org> 56932 56933 Reviewed by Holger. 56934 56935 Fix fast/dom/xmlhttprequest-get.xhtml 56936 56937 For local file requests remove the content length and the last-modified 56938 headers in the response. 56939 56940 56941 * platform/network/qt/QNetworkReplyHandler.cpp: 56942 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 56943 56944 2008-01-18 Simon Hausmann <hausmann (a] webkit.org> 56945 56946 Reviewed by Holger. 56947 56948 Fix fast/forms/form-post-urlencoded.html. 56949 56950 Post requests on files don't really make sense, but for 56951 fast/forms/form-post-urlencoded.html we still need to retrieve the file, 56952 which means we map it to a Get instead. 56953 56954 56955 * platform/network/qt/QNetworkReplyHandler.cpp: 56956 (WebCore::QNetworkReplyHandler::start): 56957 56958 2008-01-18 Simon Hausmann <hausmann (a] webkit.org> 56959 56960 Reviewed by Holger. 56961 56962 Make QNetworkReplyHandler::abort() more robust against multiple invocations. 56963 56964 During DRT runs I see cancel() being called on the same handle multiple times. Guard 56965 against this a bit better by setting m_reply to 0 after we called abort() on it. 56966 56967 * platform/network/qt/QNetworkReplyHandler.cpp: 56968 (WebCore::QNetworkReplyHandler::abort): 56969 56970 2008-01-18 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 56971 56972 Reviewed by Simon. 56973 56974 * httpBody() can return 0 and other ports (cf/mac) check for this condition 56975 * Looking at the cf/mac implementation we might need to call setHTTPBody somewhere 56976 as well. 56977 56978 56979 WARNING: NO TEST CASES ADDED OR CHANGED 56980 56981 * platform/network/qt/QNetworkReplyHandler.cpp: 56982 (WebCore::QNetworkReplyHandler::start): 56983 56984 2008-01-18 Prasanth Ullattil <prasanth.ullattil (a] trolltech.com> 56985 56986 Reviewed by Simon Hausmann <hausmann (a] webkit.org>. 56987 56988 Fix compilation in Win64(3): Due to the size of size_t cast the return value explicitly to double() to make sure the right Value() constructor is called. 56989 56990 * xml/XPathFunctions.cpp: 56991 (WebCore::XPath::FunCount::evaluate): 56992 56993 2008-01-18 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 56994 56995 Reviewed by Simon. 56996 56997 * Remove our windowClipRect reimplementation and instead have our own 56998 Widget::invalidate implementation that is invalidating 56999 IntRect(0, 0, width(), height()) without trying to clip it (in contrast 57000 to Widget::invalidateRect) 57001 57002 * platform/qt/PlatformScrollBar.h: 57003 * platform/qt/PlatformScrollBarQt.cpp: 57004 (WebCore::PlatformScrollbar::invalidate): 57005 57006 2008-01-18 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 57007 57008 Reviewed by Simon. 57009 57010 * Change the coordinate transformation in the PlatformMouseEvent handlers 57011 * We want to convert from coordinates of the containing window to our local 57012 position on the scrollbar. 57013 57014 * platform/qt/PlatformScrollBarQt.cpp: 57015 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 57016 (WebCore::PlatformScrollbar::handleMousePressEvent): 57017 57018 2008-01-18 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 57019 57020 Reviewed by Simon. 57021 57022 * Make the qDebug more usable. Do not have an additional newline and print 57023 the untranslated coordinates as well. 57024 57025 * platform/qt/PlatformScrollBarQt.cpp: 57026 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 57027 (WebCore::PlatformScrollbar::handleMousePressEvent): 57028 57029 2008-01-18 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 57030 57031 Reviewed by Simon. 57032 57033 * Dead code, remove it 57034 57035 * platform/qt/PlatformScrollBarQt.cpp: 57036 57037 2008-01-18 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 57038 57039 Reviewed by Simon. 57040 57041 * Coding-Style fixes. 57042 57043 * platform/qt/PlatformScrollBarQt.cpp: 57044 (WebCore::PlatformScrollbar::PlatformScrollbar): 57045 57046 2008-01-18 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 57047 57048 Reviewed by Simon. 57049 57050 * Coding-Style fix 57051 57052 * platform/graphics/qt/ImageDecoderQt.cpp: 57053 (WebCore::ImageDecoderQt::ReadContext::ReadContext): 57054 57055 2008-01-17 Geoffrey Garen <ggaren (a] apple.com> 57056 57057 Reviewed by Darin Adler. 57058 57059 Fixed: lots of WebCore leaks reported when quitting Safari 57060 57061 If we're quitting with a GC still scheduled, do the GC before quitting. 57062 That way, WebCore's leak counters won't count objects that were 57063 scheduled for GC. 57064 57065 * bindings/js/GCController.cpp: 57066 (WebCore::GCController::~GCController): 57067 (WebCore::GCController::garbageCollectNow): 57068 * bindings/js/GCController.h: 57069 57070 2008-01-17 Alp Toker <alp (a] atoker.com> 57071 57072 Reviewed by Oliver Hunt. 57073 57074 gdk_screen_get_font_options() returns NULL if no default options are 57075 set so we always have to NULL check to avoid crashes later on since 57076 Cairo doesn't accept NULL font options. 57077 57078 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 57079 (WebCore::FontPlatformData::FontPlatformData): 57080 57081 2008-01-17 Antti Koivisto <antti (a] apple.com> 57082 57083 Reviewed by Adele. 57084 57085 Windows fix for <rdar://problem/5605682> 57086 Disallow streaming protocols for media elements 57087 and <rdar://problem/5668711> 57088 Limit the container and codec types that the <video> tag supports 57089 57090 - Disable unsupported QuickTime tracks types. 57091 - Disallow streaming protocols (for now). 57092 57093 * WebCore.vcproj/WebCore.vcproj: 57094 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 57095 (WebCore::MediaPlayerPrivate::updateStates): 57096 * platform/graphics/win/QTMovieWin.cpp: 57097 (QTMovieWin::load): 57098 (QTMovieWin::disableUnsupportedTracks): 57099 * platform/graphics/win/QTMovieWin.h: 57100 57101 2008-01-17 Oliver Hunt <oliver (a] apple.com> 57102 57103 Support smart copy and paste during drag and drop 57104 57105 Reviewed by Alice 57106 57107 In order for the drag and drop tests in Windows DRT to pass 57108 we need to support smart cut and paste operations during 57109 drag and drop on windows. 57110 57111 There is no layout test as drag and drop is still unsupported 57112 on windows. Once supported smart drag/drop is tested by existing 57113 tests 57114 57115 * platform/win/ClipboardUtilitiesWin.cpp: 57116 (WebCore::smartPasteFormat): 57117 * platform/win/ClipboardUtilitiesWin.h: 57118 * platform/win/ClipboardWin.cpp: 57119 (WebCore::ClipboardWin::writeRange): 57120 * platform/win/DragDataWin.cpp: 57121 57122 2008-01-17 Oliver Hunt <oliver (a] apple.com> 57123 57124 Reviewed by Anders. 57125 57126 <rdar://problem/5692940> Crash when attempting to get text properties in 57127 SVG with no renderer 57128 57129 We use the element renderer to calculate the text element bounds, 57130 however there was no check against the possibility of the text dimension 57131 properties being requested on a element with no renderer (eg. unattached, 57132 display: none). 57133 57134 Test: svg/text/text-property-with-display-none.html 57135 57136 * svg/SVGTextContentElement.cpp: 57137 (WebCore::rootInlineBoxForTextContentElement): 57138 57139 2008-01-17 Anders Carlsson <andersca (a] apple.com> 57140 57141 Reviewed by Oliver. 57142 57143 <rdar://problem/5636742> 57144 CrashTracer: [USER] 1302 crashes in Safari at com.apple.WebCore: WTF::Vector<char, 0ul>::reserveCapacity + 78 57145 57146 When loading full-frame plug-ins, disable buffering data for the main resource loader. Otherwise, this can cause us 57147 to crash when loading large files such as movies in the browser. We already do this for embedded plug-ins. 57148 57149 * WebCore.base.exp: 57150 * loader/DocumentLoader.h: 57151 (WebCore::DocumentLoader::mainResourceLoader): 57152 New accessor method. 57153 57154 * loader/PluginDocument.cpp: 57155 (WebCore::PluginTokenizer::writeRawData): 57156 Disable buffering for the main resource loader. 57157 57158 * loader/ResourceLoader.cpp: 57159 (WebCore::ResourceLoader::setShouldBufferData): 57160 * loader/ResourceLoader.h: 57161 Have this free the buffer when disabling buffering. 57162 57163 2008-01-17 Adam Roben <aroben (a] apple.com> 57164 57165 More Qt/GTK+ build fixing. 57166 57167 * platform/gtk/ScrollViewGtk.cpp: 57168 * platform/qt/ScrollViewQt.cpp: 57169 57170 2008-01-17 Alexey Proskuryakov <ap (a] webkit.org> 57171 57172 Reviewed by Darin. 57173 57174 http://bugs.webkit.org/show_bug.cgi?id=16902 57175 <rdar://problem/5692566> fast/encoding/mailto-always-utf-8.html fails when run after 57176 fast/dom/Window/window-property-shadowing.html 57177 57178 Test: fast/dom/Window/window-property-shadowing_.html 57179 57180 * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Clear the frame name, too. 57181 57182 2008-01-17 Adam Roben <aroben (a] apple.com> 57183 57184 Qt/GTK+ build fix. 57185 57186 * platform/gtk/ScrollViewGtk.cpp: 57187 (WebCore::ScrollView::ScrollViewPrivate::isActive): 57188 * platform/qt/ScrollViewQt.cpp: 57189 (WebCore::ScrollView::ScrollViewPrivate::isActive): 57190 57191 2008-01-16 Adam Roben <aroben (a] apple.com> 57192 57193 Update scroll bars/form controls when FocusController::isActive changes 57194 57195 Part of <rdar://5006915> Inactive look for Aqua controls 57196 57197 Reviewed by Darin. 57198 57199 All tests pass. 57200 57201 * page/FocusController.cpp: 57202 (WebCore::FocusController::setActive): Update control tints when the 57203 active state changes. 57204 * page/FrameView.cpp: 57205 (WebCore::FrameView::updateControlTints): On Windows, we have to ask 57206 ScrollView to paint so that the outermost scroll bars will paint. On 57207 Mac, the outermost scroll bars are taken care of by NSScroller. 57208 * platform/PopupMenu.h: Updated for ScrollBarClient changes. 57209 * platform/ScrollBar.h: Added a new ScrollBarClient method. 57210 * platform/win/PlatformScrollBarSafari.cpp: 57211 (WebCore::PlatformScrollbar::paint): Invalidate when updating control 57212 tints so that we can paint with the new tint later. 57213 (WebCore::PlatformScrollbar::paintButton): Pass the active state down 57214 to SafariTheme. 57215 (WebCore::PlatformScrollbar::paintTrack): Ditto. 57216 (WebCore::PlatformScrollbar::paintThumb): Ditto. 57217 * platform/win/ScrollViewWin.cpp: 57218 (WebCore::ScrollView::ScrollViewPrivate::isActive): Added. 57219 (WebCore::ScrollView::paint): Pass paint calls on down if we're 57220 updating control tints so the scroll bars can invalidate. 57221 * rendering/RenderLayer.cpp: 57222 (WebCore::RenderLayer::isActive): Added. 57223 * rendering/RenderLayer.h: 57224 * rendering/RenderListBox.cpp: 57225 (WebCore::RenderListBox::isActive): Added. 57226 * rendering/RenderListBox.h: 57227 * rendering/RenderTheme.cpp: 57228 (WebCore::RenderTheme::isActive): Added. 57229 * rendering/RenderTheme.h: 57230 * rendering/RenderThemeSafari.cpp: 57231 (WebCore::RenderThemeSafari::determineState): Pass the active state 57232 down to SafariTheme. 57233 57234 2008-01-16 Adam Roben <aroben (a] apple.com> 57235 57236 Move focused/active state from Frame to SelectionController/FocusController 57237 57238 This is the first part of <rdar://5006915> Inactive look for Aqua 57239 controls. 57240 57241 The following methods were moved/renamed: 57242 - Frame::setIsActive -> FocusController::setActive 57243 - Frame::isActive -> SelectionController::isActiveAndFocused 57244 - Frame::setWindowHasFocus -> SelectionController::setFocused 57245 57246 Active state is now correctly a Page-level concept. 57247 57248 The Mac parts of this patch were written by Darin. 57249 57250 Reviewed by Darin. 57251 57252 All tests pass. 57253 57254 * WebCore.base.exp: Updated for method renames. 57255 * css/CSSStyleSelector.cpp: 57256 (WebCore::CSSStyleSelector::checkOneSelector): Ditto. 57257 * editing/SelectionController.cpp: 57258 (WebCore::SelectionController::SelectionController): Initialize new 57259 member. 57260 (WebCore::SelectionController::focusedOrActiveStateChanged): New 57261 private method. Most of this code came from Frame::setIsActive. 57262 (WebCore::SelectionController::pageActivationChanged): Added. 57263 (WebCore::SelectionController::setFocused): Added. Replaces 57264 Frame::setWindowHasFocus. 57265 (WebCore::SelectionController::isFocusedAndActive): Added. Replaces 57266 Frame::isActive. 57267 * editing/SelectionController.h: 57268 * page/FocusController.cpp: 57269 (WebCore::FocusController::FocusController): Initialize new member. 57270 (WebCore::FocusController::setFocusedFrame): Changed to just call 57271 SelectionController::setFocused, since active state has doesn't change 57272 when the focused frame changes. 57273 (WebCore::FocusController::setActive): Added. Replaces 57274 Frame::setIsActive. 57275 * page/FocusController.h: 57276 (WebCore::FocusController::isActive): Added. 57277 * page/Frame.cpp: 57278 (WebCore::Frame::setDocument): Updated for method renames. 57279 (WebCore::Frame::setFocusedNodeIfNeeded): Ditto. 57280 (WebCore::Frame::updateSecureKeyboardEntryIfActive): Ditto. 57281 (WebCore::FramePrivate::FramePrivate): Removed initialization of 57282 removed members. 57283 * page/Frame.h: 57284 * page/FramePrivate.h: 57285 * page/mac/WebCoreFrameBridge.h: Removed -selectionColor. 57286 * page/mac/WebCoreFrameBridge.mm: Ditto. 57287 * rendering/RenderListBox.cpp: 57288 (WebCore::RenderListBox::paintItemForeground): Updated for method 57289 renames. 57290 (WebCore::RenderListBox::paintItemBackground): Ditto. 57291 * rendering/RenderObject.cpp: 57292 (WebCore::RenderObject::selectionBackgroundColor): Ditto. 57293 (WebCore::RenderObject::selectionForegroundColor): Ditto. 57294 * rendering/RenderTextControl.cpp: 57295 (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Ditto. 57296 * rendering/RenderTheme.cpp: 57297 (WebCore::RenderTheme::isFocused): Ditto. 57298 57299 2008-01-17 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 57300 57301 Reviewed by Simon. 57302 57303 * Make the nice 'safari' feature work on our port. When viewing a single image, clicking 57304 on the image will zoom it. 57305 * It seems like our platform can only determine the size of the image once it is completely 57306 loaded. Call m_doc->imageChanged on the last chunk of data as well. 57307 57308 * loader/ImageDocument.cpp: 57309 (WebCore::ImageTokenizer::finish): 57310 57311 2008-01-17 Simon Hausmann <hausmann (a] webkit.org> 57312 57313 Reviewed by Lars. 57314 57315 Set the library version of QtWebKit to the Qt version. 57316 57317 * WebCore.pro: 57318 57319 2008-01-17 Simon Hausmann <hausmann (a] webkit.org> 57320 57321 Reviewed by Holger. 57322 57323 Re-enable gzip compression as accepted encoding, now that the bug is fixed in Qt 4.4's network module. 57324 57325 * platform/network/qt/QNetworkReplyHandler.cpp: 57326 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 57327 57328 2008-01-17 Simon Hausmann <hausmann (a] webkit.org> 57329 57330 Another Windows build fix, setCookies accidentially had a const 57331 Document pointer. 57332 57333 * platform/network/win/CookieJarWin.cpp: 57334 57335 2008-01-17 Simon Hausmann <hausmann (a] webkit.org> 57336 57337 MSVC Windows build fix. Forward declaring Document in CookieJar.h 57338 seems not enough for MSVC. 57339 57340 * platform/network/win/CookieJarWin.cpp: 57341 57342 2008-01-17 Simon Hausmann <hausmann (a] webkit.org> 57343 57344 Reviewed by Maciej, Lars, Holger. 57345 57346 http://bugs.webkit.org/show_bug.cgi?id=16589 57347 57348 Add a document parameter to WebCore::cookies, setCookies and cookiesEnabled. 57349 57350 * WebCore.pro: 57351 * bindings/js/kjs_navigator.cpp: 57352 (KJS::Navigator::getValueProperty): 57353 * dom/Document.cpp: 57354 (WebCore::Document::cookie): 57355 * platform/CookieJar.h: 57356 * platform/gtk/CookieJarGtk.cpp: 57357 (WebCore::setCookies): 57358 (WebCore::cookies): 57359 * platform/mac/CookieJar.mm: 57360 * platform/network/win/CookieJarWin.cpp: 57361 * platform/qt/CookieJarQt.cpp: 57362 (WebCore::setCookies): 57363 (WebCore::cookies): 57364 (WebCore::cookiesEnabled): 57365 * platform/wx/TemporaryLinkStubs.cpp: 57366 57367 2008-01-17 Simon Hausmann <hausmann (a] webkit.org> 57368 57369 Reviewed by Holger. 57370 57371 Windows build fix. (use localtime_r again instead of _s) 57372 57373 * loader/FTPDirectoryDocument.cpp: 57374 (WebCore::processFileDateString): 57375 57376 2008-01-17 Frans Englich <fenglich (a] trolltech.com> 57377 57378 Reviewed by Simon Hausmann <hausmann (a] webkit.org>. 57379 57380 Fix linking on MinGW and at least one MSVC platform by having gmtimeQt in the correct namespace. 57381 57382 * loader/FTPDirectoryDocument.cpp: 57383 57384 2008-01-17 Simon Hausmann <hausmann (a] webkit.org> 57385 57386 Reviewed by Holger. 57387 57388 Don't link QtWebKit against libQtXml when building against Qt 4.4. 57389 57390 This is not necessary anymore since QXmlStream has been moved into QtCore. 57391 57392 * WebCore.pro: 57393 57394 2008-01-17 Hvard Wall <hwall (a] trolltech.com> 57395 57396 Reviewed by Simon Hausmann <hausmann (a] webkit.org>. 57397 57398 Fix compilation on arm 57399 57400 * platform/graphics/qt/GraphicsContextQt.cpp: 57401 (WebCore::GraphicsContext::endTransparencyLayer): 57402 57403 2008-01-17 Simon Hausmann <shausman (a] trolltech.com> 57404 57405 Reviewed by Holger. 57406 57407 Fix compilation against Qt 4.4 without files that are specific for the Qt 4.3 build. 57408 57409 * WebCore.pro: 57410 * platform/network/qt/ResourceHandleQt.cpp: 57411 * platform/qt/MIMETypeRegistryQt.cpp: 57412 * platform/qt/PlugInInfoStoreQt.cpp: 57413 57414 2008-01-17 Frans Englich <fenglich (a] trolltech.com> 57415 57416 Reviewed by Simon Hausmann <hausmann (a] webkit.org>. 57417 57418 Fixes compilation with MinGW. 57419 Neither localtime_r nor localtime_s are available on MingW, so instead of 57420 calling back to the thread-unsafe localtime use QDateTime instead. 57421 57422 * loader/FTPDirectoryDocument.cpp: 57423 (WebCore::FTPDirectoryTokenizer::WebCore::processFilesizeString): 57424 (WebCore::FTPDirectoryTokenizer::WebCore::wasLastDayOfMonth): 57425 (WebCore::FTPDirectoryTokenizer::WebCore::WebCore::gmtimeQt): 57426 * loader/FTPDirectoryParser.cpp: 57427 (WebCore::parseOneFTPLine): 57428 57429 2008-01-17 Dan Bernstein <mitz (a] apple.com> 57430 57431 Reviewed by Dave Hyatt. 57432 57433 - fix determinePitch for segmented fonts 57434 57435 Covered by fast/css/font-face-implicit-local-font.html 57436 57437 * platform/graphics/FontFallbackList.cpp: 57438 (WebCore::FontFallbackList::determinePitch): If the primary font is 57439 segmented, treat as fixed pitch only if it has only one segment 57440 and that segment is fixed-pitch. 57441 57442 2008-01-16 David Hyatt <hyatt (a] apple.com> 57443 57444 Fix for http://bugs.webkit.org/show_bug.cgi?id=16611 57445 57446 Make sure vertical-align length values are offset from their parents rather than being absolute to the 57447 line. 57448 57449 Reviewed by olliej 57450 57451 Added fast/css/vertical-align-lengths.html 57452 57453 * rendering/RenderObject.cpp: 57454 (WebCore::RenderObject::getVerticalPosition): 57455 57456 2008-01-16 Dan Bernstein <mitz (a] apple.com> 57457 57458 Reviewed by Dave Hyatt. 57459 57460 - fix for @font-face rules with unicode-range: always use a local font where not 57461 explicitly overlaid. 57462 57463 Test: fast/css/font-face-implicit-local-font.html 57464 57465 * css/CSSFontSelector.cpp: 57466 (WebCore::CSSFontSelector::addFontFaceRule): Changed to insert an implicit 57467 @font-face rule with the local font the matches the family and description before 57468 any explicit @font-face rules that overlay specific ranges of the same font. 57469 * css/CSSSegmentedFontFace.h: 57470 (WebCore::CSSSegmentedFontFace::numRanges): Addded. 57471 57472 2008-01-16 Antti Koivisto <antti (a] apple.com> 57473 57474 Fix Tiger build. 57475 57476 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 57477 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): 57478 57479 2008-01-16 Antti Koivisto <antti (a] apple.com> 57480 57481 Reviewed by Adele. 57482 57483 OS X fix for <rdar://problem/5605682> 57484 Disallow streaming protocols for media elements 57485 and <rdar://problem/5668711> 57486 Limit the container and codec types that the <video> tag supports 57487 57488 - Disable unsupported QuickTime tracks types. 57489 - Disallow streaming protocols (for now). 57490 - Set QTMovie QTMoviePreventExternalURLLinksAttribute and QTSecurityPolicyNoCrossSiteAttribute 57491 to limit QuickTime's access to external resources. 57492 57493 Windows patch coming up. 57494 57495 Tests: media/broken-video.html 57496 media/unsupported-rtsp.html 57497 media/unsupported-tracks.html 57498 57499 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 57500 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 57501 (WebCore::MediaPlayerPrivate::createQTMovie): 57502 (WebCore::MediaPlayerPrivate::updateStates): 57503 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): 57504 57505 2008-01-16 Rodney Dawes <dobey (a] wayofthemonkey.com> 57506 57507 Reviewed by Alp Toker. 57508 57509 http://bugs.webkit.org/show_bug.cgi?id=16897 57510 Add shared plugins directory to INCLUDE path 57511 57512 Add the plugins directory to INCLUDEPATH 57513 57514 * GNUmakefile.am: 57515 * WebCore.pro: 57516 57517 2008-01-16 Geoffrey Garen <ggaren (a] apple.com> 57518 57519 Reviewed by Sam Weinig. 57520 57521 Added a debug counter for SQL transactions. This helped me debug an SQL 57522 leak. 57523 57524 * bindings/js/JSCustomSQLTransactionCallback.cpp: 57525 (WebCore::JSCustomSQLTransactionCallbackCounter::~JSCustomSQLTransactionCallbackCounter): 57526 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): 57527 (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback): 57528 * bindings/js/JSCustomSQLTransactionCallback.h: 57529 57530 * bindings/js/kjs_window.cpp: Removed a silly comment. 57531 57532 2008-01-16 David Hyatt <hyatt (a] apple.com> 57533 57534 Fix for http://bugs.webkit.org/show_bug.cgi?id=14846, cell padding can't be changed dynamically. 57535 57536 Reviewed by Eric Seidel 57537 57538 Added fast/table/dynamic-cellpadding.html 57539 57540 * html/HTMLTableElement.cpp: 57541 (WebCore::HTMLTableElement::parseMappedAttribute): 57542 * rendering/RenderTable.cpp: 57543 (WebCore::RenderTable::setCellPadding): 57544 * rendering/RenderTable.h: 57545 57546 2008-01-16 David Hyatt <hyatt (a] apple.com> 57547 57548 Fix for <rdar://problem/5681647> Item pages on http://www.stendmarsofa.com/ hang Safari 57549 57550 This regression was caused by an attempt to implement a WinIE quirk in RenderBlock::calcInlinePrefWidths. 57551 The original patch introduced pathological O(n^2) behavior into this function even when the quirk didn't need 57552 to apply. In addition the quirk was only partially implemented (the full quirk did not care what was adjacent 57553 to images and also needed bidi.cpp patched, since the quirk applies both when computing pref widths and when 57554 laying out). 57555 57556 This new patch rewrites the quirk to be complete. The original test case attached to the bug that tested a variety 57557 of image/text combinations now fully matches WinIE. 57558 57559 Reviewed by Beth 57560 57561 Added fast/table/unbreakable-images-quirk.html 57562 57563 * rendering/RenderBlock.cpp: 57564 (WebCore::RenderBlock::calcInlinePrefWidths): 57565 * rendering/bidi.cpp: 57566 (WebCore::RenderBlock::findNextLineBreak): 57567 57568 2008-01-16 Rodney Dawes <dobey (a] wayofthemonkey.com> 57569 57570 Reviewed by Jon Honeycutt 57571 57572 Move isPluginBlacklisted to PluginPackageWin.cpp, to avoid 57573 a circular dependency on PluginDatabaseWin 57574 Remove the getFileVersion method, and just check the versions directly 57575 in isPluginBlacklisted, as it was the only caller 57576 57577 http://bugs.webkit.org/show_bug.cgi?id=16884 57578 57579 * plugins/win/PluginDatabaseWin.cpp: 57580 * plugins/win/PluginDatabaseWin.h: 57581 * plugins/win/PluginPackageWin.cpp: 57582 * plugins/win/PluginPackageWin.h: 57583 57584 2008-01-16 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 57585 57586 Reviewed by Lars. 57587 57588 * Set the cursor on the containingWindow() instead of the 57589 nativeWidget() 57590 * This should be safe even with plugins as the cursor is set 57591 on the mouse events. 57592 57593 * platform/qt/WidgetQt.cpp: 57594 (WebCore::Widget::setCursor): 57595 57596 2008-01-16 Brad Hughes <bhughes (a] trolltech.com> 57597 57598 Reviewed by Lars. 57599 57600 Improve the sqlite3 dependency when building WebKit inside Qt. 57601 57602 Build sqlite3 into QtWebKit if a system sqlite3 development package 57603 can't be found. 57604 57605 * WebCore.pro: 57606 57607 2008-01-16 Lars Knoll <lars (a] trolltech.com> 57608 57609 Reviewed by Simon Hausmann <simon.hausmann (a] trolltech.com>. 57610 57611 Implement GraphicsContext::clipOut and fix transparency layers. 57612 57613 Transparency layers where broken in two ways: It always used the 57614 complete device rect as the size of the layer pixmap and the pixmaps 57615 where not correctly initialized to transparent. 57616 57617 This fixes the worst drawing errors in the Inspector and makes drawing it 57618 10 times faster. 57619 57620 * platform/graphics/qt/GraphicsContextQt.cpp: 57621 (WebCore::toQtLineJoin): 57622 (WebCore::TransparencyLayer::TransparencyLayer): 57623 (WebCore::GraphicsContextPlatformPrivate::p): 57624 (WebCore::GraphicsContext::platformContext): 57625 (WebCore::GraphicsContext::savePlatformState): 57626 (WebCore::GraphicsContext::restorePlatformState): 57627 (WebCore::GraphicsContext::drawRect): 57628 (WebCore::GraphicsContext::drawLine): 57629 (WebCore::GraphicsContext::drawEllipse): 57630 (WebCore::GraphicsContext::strokeArc): 57631 (WebCore::GraphicsContext::drawConvexPolygon): 57632 (WebCore::GraphicsContext::fillRect): 57633 (WebCore::GraphicsContext::fillRoundedRect): 57634 (WebCore::GraphicsContext::clip): 57635 (WebCore::GraphicsContext::drawFocusRing): 57636 (WebCore::GraphicsContext::beginTransparencyLayer): 57637 (WebCore::GraphicsContext::endTransparencyLayer): 57638 (WebCore::GraphicsContext::clearRect): 57639 (WebCore::GraphicsContext::strokeRect): 57640 (WebCore::GraphicsContext::setLineCap): 57641 (WebCore::GraphicsContext::setLineJoin): 57642 (WebCore::GraphicsContext::setMiterLimit): 57643 (WebCore::GraphicsContext::setAlpha): 57644 (WebCore::GraphicsContext::setCompositeOperation): 57645 (WebCore::GraphicsContext::clipOut): 57646 (WebCore::GraphicsContext::translate): 57647 (WebCore::GraphicsContext::origin): 57648 (WebCore::GraphicsContext::rotate): 57649 (WebCore::GraphicsContext::scale): 57650 (WebCore::GraphicsContext::clipOutEllipseInRect): 57651 (WebCore::GraphicsContext::addInnerRoundedRectClip): 57652 (WebCore::GraphicsContext::setPlatformStrokeStyle): 57653 (WebCore::GraphicsContext::setPlatformStrokeThickness): 57654 (WebCore::GraphicsContext::setPlatformFillColor): 57655 (WebCore::GraphicsContext::setUseAntialiasing): 57656 57657 2008-01-16 Lars Knoll <lars (a] trolltech.com> 57658 57659 Reviewed by Simon Hausmann <simon.hausmann (a] trolltech.com>. 57660 57661 Trivially implement the themed search field by mapping it to a text field 57662 57663 Also add a bunch of notImplemented warnings for other places where we don't 57664 have an implementatin in RenderTheme. 57665 57666 * platform/qt/RenderThemeQt.cpp: 57667 (WebCore::RenderThemeQt::paintTextField): 57668 (WebCore::RenderThemeQt::paintMenuListButton): 57669 (WebCore::RenderThemeQt::adjustMenuListButtonStyle): 57670 (WebCore::RenderThemeQt::paintSliderTrack): 57671 (WebCore::RenderThemeQt::paintSliderThumb): 57672 (WebCore::RenderThemeQt::paintSearchField): 57673 (WebCore::RenderThemeQt::adjustSearchFieldStyle): 57674 (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle): 57675 (WebCore::RenderThemeQt::paintSearchFieldCancelButton): 57676 (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle): 57677 (WebCore::RenderThemeQt::paintSearchFieldDecoration): 57678 (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle): 57679 (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration): 57680 57681 2008-01-16 Holger Freyther <holger.freyther (a] trolltech.com> 57682 57683 Reviewed by Simon. 57684 57685 * Follow the EventHandlerWin.cpp and always return true in the handlers. 57686 * Match the windows implementation more closely as well. 57687 * This is fixing "selection" bugs with the Web Inspector 57688 57689 * page/qt/EventHandlerQt.cpp: 57690 (WebCore::EventHandler::focusDocumentView): 57691 (WebCore::EventHandler::passMousePressEventToSubframe): 57692 (WebCore::EventHandler::passMouseMoveEventToSubframe): 57693 (WebCore::EventHandler::passMouseReleaseEventToSubframe): 57694 (WebCore::EventHandler::passMousePressEventToScrollbar): 57695 57696 2008-01-16 Simon Hausmann <hausmann (a] webkit.org> 57697 57698 Reviewed by Lars Knoll <lars (a] trolltech.com>. 57699 57700 Fix crashes in the new networking code. 57701 57702 When the ResourceLoader cancels the handle we have to make sure not to access 57703 the resource handle afterwards again. 57704 57705 * platform/network/qt/QNetworkReplyHandler.cpp: 57706 (WebCore::QNetworkReplyHandler::finish): 57707 (WebCore::QNetworkReplyHandler::forwardData): 57708 57709 2008-01-16 Lars Knoll <lars (a] trolltech.com> 57710 57711 Reviewed by Simon. 57712 57713 add conversion methods from and to QUrl to KURL. 57714 57715 Use them in the places I found at the moment. Fixes a bug 57716 where form data was encoded twice. 57717 Also fix QWebSettings to take a QUrl for the user style sheet 57718 location. 57719 57720 * WebCore.pro: 57721 * platform/KURL.h: 57722 * platform/network/qt/QNetworkReplyHandler.cpp: 57723 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 57724 * platform/network/qt/ResourceRequestQt.cpp: 57725 (WebCore::ResourceRequest::toNetworkRequest): 57726 * platform/qt/KURLQt.cpp: Added. 57727 (WebCore::KURL::KURL): 57728 (WebCore::KURL::operator QUrl): 57729 57730 2008-01-15 Darin Adler <darin (a] apple.com> 57731 57732 Rubber-stamped by Maciej Stachowiak and Oliver Hunt. 57733 57734 - fix <rdar://problem/5689748> REGRESSION: Cannot redirect to protocols handled by external applications 57735 57736 Put navigation policy delegate calls back for redirects. 57737 Just rolled out the change where I took them out. 57738 57739 * loader/MainResourceLoader.cpp: 57740 (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy): 57741 (WebCore::MainResourceLoader::continueAfterNavigationPolicy): 57742 (WebCore::MainResourceLoader::willSendRequest): 57743 * loader/MainResourceLoader.h: 57744 57745 2008-01-15 Adele Peterson <adele (a] apple.com> 57746 57747 Reviewed by Sam. 57748 57749 Remove unused variable for old media control background drawing code. 57750 57751 * rendering/RenderThemeMac.h: 57752 * rendering/RenderThemeMac.mm: 57753 (WebCore::RenderThemeMac::RenderThemeMac): 57754 (WebCore::RenderThemeMac::~RenderThemeMac): 57755 57756 2008-01-15 Sam Weinig <sam (a] webkit.org> 57757 57758 Reviewed by Geoffrey Garen. 57759 57760 Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size 57761 57762 - Update JS Function implementations to use a static function based method. This decreases 57763 the binary size of an Intel only build by 1013.5K. 57764 57765 * WebCore.xcodeproj/project.pbxproj: 57766 * bindings/js/JSDOMWindowCustom.cpp: 57767 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 57768 * bindings/js/JSEventTargetBase.cpp: 57769 (WebCore::jsEventTargetAddEventListener): 57770 (WebCore::jsEventTargetRemoveEventListener): 57771 (WebCore::jsEventTargetDispatchEvent): 57772 (WebCore::retrieveEventTargetAndCorrespondingNode): 57773 * bindings/js/JSEventTargetBase.h: 57774 * bindings/js/JSHTMLInputElementBase.cpp: 57775 (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange): 57776 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): 57777 * bindings/js/JSHTMLInputElementBase.h: 57778 * bindings/js/JSLocation.cpp: 57779 (WebCore::JSLocation::getOwnPropertySlot): 57780 (WebCore::jsLocationProtoFuncReplace): 57781 (WebCore::jsLocationProtoFuncReload): 57782 (WebCore::jsLocationProtoFuncAssign): 57783 (WebCore::jsLocationProtoFuncToString): 57784 * bindings/js/JSLocation.h: 57785 * bindings/js/JSXMLHttpRequest.cpp: 57786 (KJS::jsXMLHttpRequestPrototypeFunctionAbort): 57787 (KJS::jsXMLHttpRequestPrototypeFunctionGetAllResponseHeaders): 57788 (KJS::jsXMLHttpRequestPrototypeFunctionGetResponseHeader): 57789 (KJS::jsXMLHttpRequestPrototypeFunctionOpen): 57790 (KJS::jsXMLHttpRequestPrototypeFunctionSend): 57791 (KJS::jsXMLHttpRequestPrototypeFunctionSetRequestHeader): 57792 (KJS::jsXMLHttpRequestPrototypeFunctionOverrideMIMEType): 57793 (KJS::jsXMLHttpRequestPrototypeFunctionAddEventListener): 57794 (KJS::jsXMLHttpRequestPrototypeFunctionRemoveEventListener): 57795 (KJS::jsXMLHttpRequestPrototypeFunctionDispatchEvent): 57796 * bindings/js/JSXMLHttpRequest.h: 57797 * bindings/js/JSXSLTProcessor.cpp: 57798 (KJS::jsXSLTProcessorPrototypeFunctionImportStylesheet): 57799 (KJS::jsXSLTProcessorPrototypeFunctionTransformToFragment): 57800 (KJS::jsXSLTProcessorPrototypeFunctionTransformToDocument): 57801 (KJS::jsXSLTProcessorPrototypeFunctionSetParameter): 57802 (KJS::jsXSLTProcessorPrototypeFunctionGetParameter): 57803 (KJS::jsXSLTProcessorPrototypeFunctionRemoveParameter): 57804 (KJS::jsXSLTProcessorPrototypeFunctionClearParameters): 57805 (KJS::jsXSLTProcessorPrototypeFunctionReset): 57806 * bindings/js/JSXSLTProcessor.h: 57807 * bindings/js/kjs_events.cpp: 57808 (WebCore::jsClipboardPrototypeFunctionClearData): 57809 (WebCore::jsClipboardPrototypeFunctionGetData): 57810 (WebCore::jsClipboardPrototypeFunctionSetData): 57811 (WebCore::jsClipboardPrototypeFunctionSetDragImage): 57812 * bindings/js/kjs_events.h: 57813 * bindings/js/kjs_navigator.cpp: 57814 (KJS::pluginsFunctionRefresh): 57815 (KJS::navigatorProtoFuncJavaEnabled): 57816 * bindings/js/kjs_navigator.h: 57817 * bindings/js/kjs_window.cpp: 57818 (KJS::Window::getOwnPropertySlot): 57819 (KJS::windowProtoFuncAToB): 57820 (KJS::windowProtoFuncBToA): 57821 (KJS::windowProtoFuncOpen): 57822 (KJS::windowProtoFuncSetTimeout): 57823 (KJS::windowProtoFuncClearTimeout): 57824 (KJS::windowProtoFuncSetInterval): 57825 (KJS::windowProtoFuncAddEventListener): 57826 (KJS::windowProtoFuncRemoveEventListener): 57827 (KJS::windowProtoFuncShowModalDialog): 57828 (KJS::windowProtoFuncNotImplemented): 57829 * bindings/js/kjs_window.h: 57830 * bindings/scripts/CodeGenerator.pm: 57831 * bindings/scripts/CodeGeneratorJS.pm: 57832 57833 2008-01-15 Adele Peterson <adele (a] apple.com> 57834 57835 Reviewed by Dan. 57836 57837 Fix for <rdar://problem/5682492> With the <video> element, the audio is heard when forwarding or rewinding a movie while it's playing 57838 57839 * rendering/MediaControlElements.cpp: (WebCore::MediaControlSeekButtonElement::defaultEventHandler): 57840 Instead of pausing the media when you stop seeking on mouse up, pause the video when you first start seeking on mouse down. 57841 57842 2008-01-15 Alp Toker <alp (a] atoker.com> 57843 57844 Rubber-stamped by Anders. 57845 57846 Make the HTTP backend configurable in the GTK+ port. curl is currently 57847 the only option. 57848 57849 * GNUmakefile.am: 57850 57851 2008-01-15 Adele Peterson <adele (a] apple.com> 57852 57853 Build fix. 57854 57855 * rendering/RenderThemeSafari.cpp: Removing MediaBackgroundAppearance. 57856 57857 2008-01-14 Samuel Weinig <sam (a] webkit.org> 57858 57859 Reviewed by Darin. 57860 57861 Fix for <rdar://problem/5671040> 57862 REGRESSION: 6% HTML iBench regression from r28722 (getElementsByClassName) 57863 57864 On my most consistent tests, this brings the HTML iBench from 1.46 -> 1.41, 57865 which does not completely make up reported regression, but I was not able to 57866 reproduce those findings either. 57867 57868 * css/CSSStyleSelector.cpp: 57869 (WebCore::CSSStyleSelector::matchRules): 57870 (WebCore::CSSStyleSelector::checkOneSelector): 57871 * dom/ClassNames.cpp: 57872 (WebCore::ClassNames::parseClassAttribute): 57873 * dom/ClassNames.h: 57874 (WebCore::ClassNames::contains): 57875 (WebCore::ClassNames::operator[]): 57876 57877 2008-01-15 Adele Peterson <adele (a] apple.com> 57878 57879 Build fix. This time for real. 57880 57881 * rendering/RenderThemeSafari.cpp: 57882 57883 2008-01-15 Adele Peterson <adele (a] apple.com> 57884 57885 Build fix. 57886 57887 * rendering/RenderThemeSafari.cpp: 57888 57889 2008-01-15 Dan Bernstein <mitz (a] apple.com> 57890 57891 Reviewed by Darin Adler. 57892 57893 - fix <rdar://problem/5666926> svg/custom/use-css-no-effect-on-shadow-tree.svg is failing 57894 57895 * svg/SVGPreserveAspectRatio.cpp: 57896 (WebCore::SVGPreserveAspectRatio::getCTM): Changed the arguments' type 57897 from float to double in order to make the values passed to scale() and 57898 translate() on Mac OS X and on Windows the same. 57899 * svg/SVGPreserveAspectRatio.h: 57900 57901 2008-01-15 Alexey Proskuryakov <ap (a] webkit.org> 57902 57903 Reviewed by Darin. 57904 57905 <rdar://problem/5342813> REGRESSION: Safari encodes mailto URLs incorrectly 57906 57907 Test: fast/encoding/mailto-always-utf-8.html 57908 57909 * platform/KURL.cpp: (WebCore::encodeRelativeString): Always use UTF-8 for mailto URLs. 57910 57911 2008-01-15 Adele Peterson <adele (a] apple.com> 57912 57913 Reviewed by Adam and Antti. 57914 57915 WebCore part of fix for <rdar://problem/5619062> Add load progress indicator to video controls 57916 57917 * WebCore.base.exp: Removed symbol for wkGetMediaControlBackgroundImageData. Added symbol for wkDrawMediaSliderTrack. 57918 * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Removed case for MediaBackgroundAppearance. 57919 * css/html4.css: Removed -webkit-appearance: media-background rule for the media panel element. Removed unnecessary margin for slider. 57920 * rendering/RenderStyle.h: (WebCore::): Removed MediaBackgroundAppearance. 57921 57922 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): 57923 Call updateMediaPlayer more frequently so the load progress control gets updated appropriately. 57924 * platform/mac/WebCoreSystemInterface.h: Removed wkGetMediaControlBackgroundImageData. Added wkDrawMediaSliderTrack. 57925 * platform/mac/WebCoreSystemInterface.mm: ditto. 57926 57927 * rendering/RenderTheme.h: Removed paintMediaBackground. Added paintMediaSliderTrack. 57928 * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paint): Call paintMediaSliderTrack for elements with MediaSliderAppearance. 57929 * rendering/RenderThemeMac.h: Removed paintMediaBackground. Added paintMediaSliderTrack. 57930 * rendering/RenderThemeMac.mm: 57931 (WebCore::RenderThemeMac::adjustSliderThumbSize): Added different sizes for the media slider thumb. 57932 (WebCore::RenderThemeMac::paintMediaSliderTrack): Added. Calls wkDrawMediaSliderTrack with the percentage the media has loaded. 57933 * rendering/RenderThemeSafari.cpp: ditto. 57934 (WebCore::RenderThemeSafari::adjustSliderThumbSize): 57935 (WebCore::RenderThemeSafari::paintMediaSliderTrack): 57936 * rendering/RenderThemeSafari.h: 57937 57938 2008-01-15 Alexey Proskuryakov <ap (a] webkit.org> 57939 57940 Reviewed by Mark Rowe. 57941 57942 Some logging channels weren't initialized from user defaults. 57943 57944 * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary): 57945 Initialize LogPlatformLeaks, LogStorageAPI, LogMedia, LogPlugin. 57946 57947 2008-01-14 Steve Falkenburg <sfalken (a] apple.com> 57948 57949 Use shared vsprops for most vcproj properties. 57950 57951 Reviewed by Darin. 57952 57953 * WebCore.vcproj/QTMovieWin.vcproj: 57954 * WebCore.vcproj/WebCore.vcproj: 57955 * platform/graphics/win/QTMovieWin.cpp: 57956 (QTMovieWin::initializeQuickTime): Fix compiler warning. 57957 57958 2008-01-14 Eric Seidel <eric (a] webkit.org> 57959 57960 Reviewed by mjs. 57961 57962 Remove a couple more uses of DeprecatedString 57963 57964 No functional changes, thus no test case. 57965 57966 * dom/Document.cpp: 57967 (WebCore::Document::write): 57968 (WebCore::Document::writeln): 57969 (WebCore::Document::recalcStyleSelector): 57970 * dom/Document.h: 57971 57972 2008-01-14 Pierre-Luc Beaudoin <pierre-luc.beaudoin (a] collabora.co.uk> 57973 57974 Reviewed by Alp Toker. 57975 57976 Build fix: missing symbols when compiling WebKit/Gtk+ with --enable-svg-filters 57977 http://bugs.webkit.org/show_bug.cgi?id=16874 57978 57979 * GNUmakefile.am: 57980 * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Added. 57981 (WebCore::SVGResourceFilter::createPlatformData): 57982 (WebCore::SVGResourceFilter::prepareFilter): 57983 (WebCore::SVGResourceFilter::applyFilter): 57984 57985 2008-01-14 Finnur Thorarinsson <finnur.webkit (a] gmail.com> 57986 57987 Reviewed by hyatt & eseidel. 57988 57989 - fix http://bugs.webkit.org/show_bug.cgi?id=16844 57990 RenderText::addLineBoxRects erroneously includes last char for boundingBox 57991 57992 This patch fixes an issue with addLineBoxRects not correctly calculating the 57993 rects due to an off-by-one error in using box->end(). We were assuming that 57994 end() gives the index past the last character, when in fact it gives the 57995 index _of_ the last character. 57996 57997 Eric Seidel and I could not find a way to test this via DRT. This method is 57998 only used by WebKit or Safari for displaying selection rects AFAICT. 57999 58000 * rendering/RenderText.cpp: 58001 (WebCore::RenderText::addLineBoxRects): 58002 58003 2008-01-14 Darin Adler <darin (a] apple.com> 58004 58005 Reviewed by Geoff. 58006 58007 - fix crash seen in layout tests 58008 58009 * html/HTMLFrameSetElement.cpp: 58010 (WebCore::HTMLFrameSetElement::attach): 58011 Remove incorrect cast to HTMLElement* for parentNode(). The parent is either an 58012 HTMLElement or a Document, not necessarily an HTMLElement. 58013 58014 2008-01-14 Darin Adler <darin (a] apple.com> 58015 58016 Reviewed by Sam. 58017 58018 - fix mistakes Sam noticed in my re-speed-up patch 58019 58020 * dom/Element.cpp: 58021 (WebCore::Element::virtualHasTagName): Moved out of header file. No reason to make 58022 this inline. 58023 * dom/Element.h: Moved virtualHasTagName out of header file. 58024 58025 * dom/Node.cpp: 58026 (WebCore::Node::virtualHasTagName): Moved out of header file. No reason to make 58027 this inline. 58028 * dom/Node.h: Removed incorrect "virtual" on hasTagName and moved virtualHasTagName 58029 out of header file. 58030 58031 * platform/text/StringBuffer.h: Added. Has just the new StringBuffer class. 58032 58033 * platform/text/StringImpl.h: Removed StringBuffer class. 58034 58035 * loader/DocumentLoader.cpp: Added StringBuffer.h include. 58036 * platform/text/String.cpp: Ditto. 58037 * platform/text/StringImpl.cpp: Ditto. 58038 * platform/text/TextCodecLatin1.cpp: Ditto. 58039 * platform/text/TextCodecUTF16.cpp: Ditto. 58040 * platform/text/TextCodecUserDefined.cpp: Ditto. 58041 58042 * WebCore.vcproj/WebCore.vcproj: Added StringBuffer.h. 58043 * WebCore.xcodeproj/project.pbxproj: Ditto. 58044 58045 2008-01-14 Dave Hyatt <hyatt (a] apple.com> 58046 58047 Clean up all the misplaced graphics files after the recent file moves. Clean up the project to 58048 accurately reflect the location of all the graphics files. 58049 58050 Reviewed by Adam 58051 58052 * WebCore.vcproj/WebCore.vcproj: 58053 * platform/graphics/win/GraphicsContextWin.cpp: Copied from platform/win/GraphicsContextWin.cpp. 58054 * platform/graphics/win/UniscribeController.cpp: Copied from platform/win/UniscribeController.cpp. 58055 * platform/graphics/win/UniscribeController.h: Copied from platform/win/UniscribeController.h. 58056 * platform/win/GraphicsContextWin.cpp: Removed. 58057 * platform/win/UniscribeController.cpp: Removed. 58058 * platform/win/UniscribeController.h: Removed. 58059 58060 2008-01-14 Geoffrey Garen <ggaren (a] apple.com> 58061 58062 Reviewed by Sam Weinig. 58063 58064 Some cleanup to my last patch. 58065 58066 Removed one unused setter declaration and one unused setter definition. 58067 58068 Renamed DoNotCheckDomainSecurityOnRead to DoNotCheckDomainSecurityOnGet 58069 because "get" is all over the IDL files, and "read" is not. 58070 58071 * bindings/scripts/CodeGeneratorJS.pm: 58072 * page/DOMWindow.h: 58073 (WebCore::DOMWindow::defaultstatus): 58074 * page/DOMWindow.idl: 58075 58076 2008-01-14 Dan Bernstein <mitz (a] apple.com> 58077 58078 Rubber-stamped by Alice Liu. 58079 58080 - remove reference to nonexistent file 58081 58082 * WebCore.vcproj/WebCore.vcproj: Removed reference to SVGFont.h. 58083 58084 2008-01-14 Darin Adler <darin (a] apple.com> 58085 58086 Reviewed by Adam. 58087 58088 - re-speed-up the page load test (my StringImpl change slowed it down) 58089 <rdar://problem/5677241> 1.5% PLT regression from r29098 58090 58091 To reverse the slowdown I caused by changing StringImpl, I tightened it up, 58092 and also did a little optimization in the HTML tokenizer and in other clients 58093 of Vector. 58094 58095 * WebCore.base.exp: Removed export of a now-inline function. 58096 58097 * css/CSSParser.cpp: 58098 (WebCore::CSSParser::parseTransitionProperty): Removed use of DeprecatedString 58099 to get property ID. This could be sped up even more by writing a fast path 58100 to use a local Vector<char> rather than allocating a string. 58101 (WebCore::convertASCIIToFloat): Added. Allows numeric conversion without 58102 allocating a string object to hold the number. 58103 (WebCore::CSSParser::lex): Changed to call convertASCIIToFloat instead of 58104 DeprecatedString::toFloat. 58105 58106 * dom/Element.h: 58107 (WebCore::Element::hasTagName): Made this non-virtual and inline if you have 58108 an Element*. It's still virtual if you have a Node*. 58109 (WebCore::Element::virtualHasTagName): Virtual version that makes the Node* 58110 case work. 58111 58112 * dom/Node.h: 58113 (WebCore::Node::hasTagName): Made this non-virtual and inline so that Element 58114 can override it with an inline. This is the same technique we use for 58115 firstChild and lastChild. 58116 (WebCore::Node::virtualHasTagName): This is the private virtual that Element 58117 overrides. 58118 58119 * dom/Text.cpp: 58120 (WebCore::Text::splitText): Clean up by using a RefPtr here instead of a 58121 PassRefPtr. 58122 58123 * html/HTMLTokenizer.cpp: 58124 (WebCore::HTMLTokenizer::parseSpecial): Use the new advancePastNonNewline(), 58125 which is more efficient in cases where we know the character is not a newline 58126 and hence we don't have to update the line number. 58127 (WebCore::HTMLTokenizer::parseComment): Ditto. 58128 (WebCore::HTMLTokenizer::parseServer): Ditto. 58129 (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto. 58130 (WebCore::HTMLTokenizer::parseText): Ditto. 58131 (WebCore::HTMLTokenizer::parseEntity): Ditto. 58132 (WebCore::HTMLTokenizer::parseTag): Ditto. Also streamline the QuotedValue case 58133 so there's one less branch taken for non-punctuation characters since this 58134 code path is *so* hot. 58135 (WebCore::HTMLTokenizer::write): More of the same. 58136 58137 * loader/Cache.cpp: 58138 (WebCore::Cache::lruListFor): Use Vector::grow instead of resize. 58139 58140 * loader/DocumentLoader.cpp: 58141 (WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>. 58142 58143 * loader/TextResourceDecoder.cpp: 58144 (WebCore::TextResourceDecoder::checkForCSSCharset): Use Vector::grow instead of resize. 58145 (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto. 58146 (WebCore::TextResourceDecoder::decode): Use Vector::grow and shrink instead of resize. 58147 (WebCore::TextResourceDecoder::flush): Use Vector::shrink instead of resize. 58148 58149 * platform/KURL.cpp: 58150 (WebCore::KURL::decode_string): Use Vector::grow instead of resize. 58151 58152 * platform/SharedBuffer.cpp: 58153 (WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize. 58154 58155 * platform/graphics/BitmapImage.cpp: 58156 (WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize. 58157 58158 * platform/network/FormData.cpp: 58159 (WebCore::FormData::appendData): Use Vector::grow instead of resize. 58160 (WebCore::FormData::flatten): Ditto. 58161 58162 * platform/text/AtomicString.cpp: 58163 (WebCore::CStringTranslator::translate): Use a new StringImpl constructor made just 58164 for use by AtomicString. Avoids setting fields twice, and also preserves reference 58165 count behavior (which I changed for the other constructors, since they're entirely 58166 private and used only inside the class). 58167 (WebCore::UCharBufferTranslator::translate): Ditto. 58168 58169 * platform/text/Base64.cpp: 58170 (WebCore::base64Encode): Use Vector::grow instead of resize. 58171 (WebCore::base64Decode): Use Vector::grow and shrink instead of resize. 58172 58173 * platform/text/PlatformString.h: 58174 (WebCore::String::adopt): Added an overload for the new StringBuffer class. Also 58175 made both versions inline. 58176 58177 * platform/text/SegmentedString.h: 58178 (WebCore::SegmentedString::advancePastNewline): Added. One less branch for case 58179 where the character is known to be a newline. 58180 (WebCore::SegmentedString::advancePastNonNewline): Added. Less code for case where 58181 the character is known not to be a newline. 58182 58183 * platform/text/String.cpp: 58184 (WebCore::String::append): Use StringBuffer instead of Vector<UChar>. 58185 (WebCore::String::insert): Ditto. 58186 (WebCore::String::truncate): Ditto. 58187 (WebCore::String::remove): Ditto. 58188 (WebCore::String::format): Use Vector::grow instead of resize. 58189 58190 * platform/text/StringImpl.cpp: 58191 (WebCore::StringImpl::StringImpl): Changed constructors to start with a refCount 58192 of 1 instead of 0, and made them all inline. Eliminates the WithOneRef constructor 58193 since they all behave this way now. The only exceptions are the constructors for 58194 AtomicString, which retain the old behavior. 58195 (WebCore::StringImpl::empty): Simplified, since we no longer need to use the 58196 special WithOneRef constructor. 58197 (WebCore::StringImpl::toCoordsArray): Use StringBuffer instead of Vector<UChar>. 58198 (WebCore::StringImpl::lower): Ditto. 58199 (WebCore::StringImpl::upper): Ditto. 58200 (WebCore::StringImpl::secure): Ditto. 58201 (WebCore::StringImpl::foldCase): Ditto. 58202 (WebCore::StringImpl::simplifyWhiteSpace): Ditto. Also change to use Vector::shrink 58203 instead of resize (since half of the function uses Vector<UChar>). 58204 (WebCore::StringImpl::capitalize): Use StringBuffer instead of Vector<UChar>. 58205 (WebCore::StringImpl::replace): Ditto. 58206 (WebCore::StringImpl::ascii): Streamlined a bit. 58207 (WebCore::StringImpl::createStrippingNullCharacters): Use StringBuffer insetad of 58208 Vector<UChar>. Took out checks for null characters and 0 length that aren't needed. 58209 Coded the check for null characters in a slightly more efficient way. Since this 58210 is so hot, didn't call adopt at all, putting the code right in here, including 58211 the call to the StringImpl constructor and adoptRef (for the fast case). 58212 (WebCore::StringImpl::adopt): Added a version for the new StringBuffer class. 58213 Removed the attempt to resize the buffer at the time we adopt based on measuring 58214 actual use and realizing that it's just a character here or there and not worth 58215 a call to fastRealloc. Changed to use adoptRef since the constructor now starts 58216 with a refCount of 1. 58217 (WebCore::StringImpl::create): Changed to use adoptRef since the constructor now 58218 starts with a refCount of 1. 58219 (WebCore::StringImpl::createWithTerminatingNullCharacter): Ditto. 58220 (WebCore::StringImpl::copy): Ditto. Also made non-inline since the constructor 58221 itself is now inline. 58222 58223 * platform/text/StringImpl.h: Added a StringBuffer class that's useful for 58224 putting characters into a buffer before creating an immutable string. Not good 58225 at resizing the way Vector<UChar> is, so only useful for things that rarely need 58226 to be resized. Added a new AdoptBuffer constructor and empty constructor, but 58227 made all constructors private so they can be inlined and only used inside the 58228 StringImpl class. Added two new constructors for AtomicString. Made copy() 58229 no longer inline. Changed the type of the [] operator to unsigned instead of 58230 int and added an assertion. Made the hash functions inline. 58231 58232 * platform/text/TextCodecICU.cpp: 58233 (WebCore::TextCodecICU::encode): Use Vector::grow instead of resize. 58234 58235 * platform/text/TextCodecLatin1.cpp: 58236 (WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>. 58237 (WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize. 58238 58239 * platform/text/TextCodecUTF16.cpp: 58240 (WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>. 58241 58242 * platform/text/TextCodecUserDefined.cpp: 58243 (WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>. 58244 (WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize. 58245 58246 * platform/text/TextEncoding.cpp: 58247 (WebCore::TextEncoding::encode): Use Vector::grow instead of resize. 58248 58249 * platform/text/TextStream.cpp: 58250 (WebCore::TextStream::operator<<): Use Vector::grow instead of resize. 58251 58252 * platform/text/mac/TextCodecMac.cpp: 58253 (WebCore::TextCodecMac::encode): Use Vector::grow instead of resize. 58254 58255 * rendering/AutoTableLayout.cpp: 58256 (WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize. 58257 58258 * rendering/RenderFrameSet.h: 58259 (WebCore::FrameEdgeInfo::FrameEdgeInfo): Allocate vectors with the correct initial 58260 size instead of calling resize on them after allocating empty. 58261 58262 * rendering/RenderListMarker.cpp: 58263 (WebCore::RenderListMarker::paint): Use Vector::grow instead of resize. 58264 58265 * rendering/RenderStyle.cpp: Removed CursorList::operator==. 58266 * rendering/RenderStyle.h: 58267 (WebCore::CursorList::operator==): Implemented using the Vector ==. 58268 (WebCore::CursorList::operator!=): Ditto. 58269 58270 * rendering/RenderTable.cpp: 58271 (WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize. 58272 (WebCore::RenderTable::appendColumn): Ditto. 58273 58274 * rendering/RenderTableSection.cpp: 58275 (WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize. 58276 58277 * rendering/bidi.cpp: 58278 (WebCore::addMidpoint): Use Vector::grow instead of resize. 58279 58280 * xml/XPathNodeSet.h: 58281 (WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize. 58282 58283 2008-01-13 Steve Falkenburg <sfalken (a] apple.com> 58284 58285 Share common files across projects. 58286 58287 Unify vsprops files 58288 Debug: common.vsprops, debug.vsprops 58289 Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops 58290 Release: common.vsprops, release.vsprops 58291 58292 Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops. 58293 debug_internal.vsprops will be mostly empty except for file path prefix modifiers. 58294 58295 Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools. 58296 58297 Reviewed by Adam Roben. 58298 58299 * WebCore.vcproj/PRODUCTVERSION: Removed. 58300 * WebCore.vcproj/QTMovieWin.vcproj: 58301 * WebCore.vcproj/VERSION: Removed. 58302 * WebCore.vcproj/WebCore.vcproj: 58303 * WebCore.vcproj/auto-version.sh: Removed. 58304 * WebCore.vcproj/debug.vsprops: Removed. 58305 * WebCore.vcproj/debug_internal.vsprops: Removed. 58306 * WebCore.vcproj/release.vsprops: Removed. 58307 58308 2008-01-13 Dan Bernstein <mitz (a] apple.com> 58309 58310 Reviewed by Darin Adler. 58311 58312 - fix http://bugs.webkit.org/show_bug.cgi?id=16865 58313 fast/layers/resize-layer-deletion-crash.html crashes under GuardMalloc 58314 58315 * rendering/RenderBox.cpp: 58316 (WebCore::RenderBox::destroy): Removed the call to 58317 RenderLayer::destroy() from here, because ~RenderLayer() calls 58318 RenderObject() methods. 58319 * rendering/RenderObject.cpp: 58320 (WebCore::RenderObject::destroy): Added the call to 58321 RenderLayer::destroy() here. 58322 58323 2008-01-13 Eric Seidel <eric (a] webkit.org> 58324 58325 Reviewed by darin. 58326 58327 Range.insertNode does not update endContainer endIndex correctly 58328 in the case where it had to split a text node. 58329 http://bugs.webkit.org/show_bug.cgi?id=16765 58330 58331 Darin pointed out during review that we still don't handle the dynamic 58332 range case (where the dom tree changes not using range methods) 58333 Thus this code will get ripped out when we add that. The test cases 58334 are still valid and useful however, so I'm landing this as-is. 58335 58336 Tests: fast/dom/Range/range-insertNode-separate-endContainer.html 58337 fast/dom/Range/range-insertNode-splittext.html 58338 58339 * dom/Range.cpp: 58340 (WebCore::Range::insertNode): handle the splitText case correctly. 58341 58342 2008-01-13 Darin Adler <darin (a] apple.com> 58343 58344 Reviewed by Eric. 58345 58346 - http://bugs.webkit.org/show_bug.cgi?id=16861 58347 get rid of unnecessary string copying 58348 58349 * dom/Document.cpp: 58350 (WebCore::Document::setDomain): Removed unneeded call to copy. 58351 (WebCore::Document::parseQualifiedName): Removed unneeded call to copy, and 58352 unneeded length argument to substring, which stops at the end of the string 58353 if you don't specify a length. 58354 (WebCore::Document::createAttributeNS): Replaced code that was calling copy 58355 with more-efficient code using the substring function. 58356 * dom/StyledElement.cpp: 58357 (WebCore::StyledElement::addCSSColor): Removed unneeded call to copy. 58358 * editing/InsertIntoTextNodeCommand.cpp: 58359 (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Removed 58360 unneeded copy and also initialized text instead of assigning to it. 58361 (WebCore::InsertIntoTextNodeCommand::doApply): Removed redundant assertions. 58362 (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto. 58363 58364 * editing/htmlediting.cpp: 58365 (WebCore::stringWithRebalancedWhitespace): Removed unneeded call to copy. 58366 This one was particularly bad since we just turned around and copied it again! 58367 58368 * editing/markup.cpp: 58369 (WebCore::stringValueForRange): Removed unneeded call to copy. 58370 58371 * loader/icon/IconDatabase.cpp: 58372 (WebCore::IconDatabase::performOpenInitialization): Changed logging code to not 58373 get the path from the database object. This was the only reason the database 58374 had to keep its path around. 58375 58376 * platform/sql/SQLiteDatabase.cpp: 58377 (WebCore::SQLiteDatabase::open): Use a local variable instead of a data member to 58378 convert the string to a null-terminated one. 58379 (WebCore::SQLiteDatabase::close): Removed the code to clear out m_path. 58380 * platform/sql/SQLiteDatabase.h: Removed the m_path data member and the path 58381 functio member. Also tweaked formatting and comments a bit. Removed the unused 58382 escapeSQLString function. 58383 58384 * platform/text/String.cpp: (WebCore::operator+): Removed uneeded calls to copy. 58385 58386 2008-01-13 Oliver Hunt <oliver (a] apple.com> 58387 58388 Attempt to fix QT build 58389 58390 * html/CanvasRenderingContext2D.cpp: 58391 (WebCore::CanvasRenderingContext2D::willDraw): 58392 58393 2008-01-13 Oliver Hunt <oliver (a] apple.com> 58394 58395 Reviewed by Mark Rowe. 58396 58397 Avoid repainting the entire canvas element when possible. 58398 58399 http://bugs.webkit.org/show_bug.cgi?id=16859 58400 58401 We now only register the dirty regions of a canvas for repainting, rather 58402 than the entire element (though repaint coalescing may choose to combine 58403 these regions). This doesn't cause a measurable regression in the worst 58404 case (clearing the canvas repeatedly), but is a moderate-large win if only 58405 a minor update has occurred. If there is any CSS scaling applied to the 58406 canvas almost any update short of clearing the entire element is substantially 58407 faster. 58408 58409 * html/CanvasRenderingContext2D.cpp: 58410 (WebCore::CanvasRenderingContext2D::willDraw): 58411 * html/HTMLCanvasElement.cpp: 58412 (WebCore::HTMLCanvasElement::willDraw): 58413 58414 2008-01-13 Michael Goddard <michael.goddard (a] trolltech.com> 58415 58416 Reviewed by Anders Carlsson. 58417 58418 Move RuntimeObjectImp creations into Instance. 58419 Make the ctor protected, and Instance a friend class, so 58420 that all creation of RuntimeObjectImps goes through 58421 one place. 58422 58423 * bindings/js/kjs_dom.cpp: 58424 (WebCore::getRuntimeObject): 58425 58426 2008-01-12 Rodney Dawes <dobey (a] wayofthemonkey.com> 58427 58428 Gtk debug build fix. Reviewed by Mark Rowe. 58429 58430 Add plugin logging channel, and use it rather than Win32-specific debugging methods _RPTF1 _RPTF2 and _CRT_WARN. 58431 58432 * WebCore.pro: Add plugins directory to DEPENDPATH so dependencies are correctly tracked. 58433 * platform/Logging.cpp: 58434 * platform/Logging.h: 58435 * plugins/PluginDebug.h: 58436 58437 2008-01-12 Adam Barth <hk9565 (a] gmail.com> 58438 58439 Reviewed by Maciej (and also tweaked a little bit). 58440 58441 - more thorough fix for some crashing tests 58442 http://bugs.webkit.org/show_bug.cgi?id=16782 58443 58444 * loader/FrameLoader.cpp: 58445 (WebCore::FrameLoader::urlSelected): 58446 (WebCore::FrameLoader::submitForm): 58447 (WebCore::FrameLoader::executeIfJavaScriptURL): 58448 * loader/FrameLoader.h: 58449 58450 2008-01-12 Maciej Stachowiak <mjs (a] apple.com> 58451 58452 Reviewed by Sam. 58453 58454 - fixed <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't 58455 58456 * platform/SecurityOrigin.cpp: 58457 (WebCore::isDefaultPortForProtocol): 58458 (WebCore::SecurityOrigin::SecurityOrigin): 58459 58460 2008-01-11 Geoffrey Garen <ggaren (a] apple.com> 58461 58462 Reviewed by Oliver Hunt. 58463 58464 Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global 58465 variable access (16644) 58466 58467 Removed the ReadOnly bit from some properties, to match Firefox. Also 58468 removed status-related setters, to allow using their names as variable 58469 names. 58470 58471 * bindings/scripts/CodeGeneratorJS.pm: Added support for properties that 58472 are one-way across domain boundaries, to match Firefox. 58473 58474 * bindings/js/kjs_window.cpp: Changed ReadOnly declarations to match FF. 58475 58476 * bindings/scripts/CodeGeneratorJS.pm: Don't use JSObject:: because 58477 we don't know that JSObject is our base class. 58478 58479 * page/DOMWindow.idl: Replaced lots of readonly declarations with 58480 [Replaceable] declarations. 58481 58482 * page/DOMWindow.h: Removed interfaces for setting status text via the 58483 DOM. (They were getting in the way of, e.g., "var status" 58484 declarations.) By default, IE 7 and FF disable these interfaces in order 58485 to defend against phishing attacks that try to spoof domain names in the 58486 statusbar. 58487 * page/DOMWindow.cpp: 58488 58489 2008-01-11 Anyang Ren <anyang.ren (a] gmail.com> 58490 58491 Reviewed by Darin Adler. 58492 58493 http://bugs.webkit.org/show_bug.cgi?id=15960 58494 The view source mode should skip an empty attribute value only if 58495 the attribute name is not followed by an equal sign (=). 58496 58497 Test: fast/frames/viewsource-empty-attribute-value.html 58498 58499 * html/HTMLViewSourceDocument.cpp: 58500 (WebCore::HTMLViewSourceDocument::addViewSourceToken): 58501 58502 2008-01-11 Sylvain Pasche <sylvain.pasche (a] gmail.com> 58503 58504 Reviewed by Alp Toker. 58505 58506 [Gtk] Uneven glyph spacing with subpixel antialiasing 58507 http://bugs.webkit.org/show_bug.cgi?id=16715 58508 58509 Use cairo font options from the default GDK screen when creating a 58510 scaled font. 58511 58512 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 58513 (WebCore::FontPlatformData::FontPlatformData): 58514 58515 2008-01-11 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 58516 58517 Reviewed by Maciej. 58518 58519 Added a new forwarding header, because Activation.h has been separated 58520 from function.h 58521 58522 * ForwardingHeaders/kjs/Activation.h: Added. 58523 58524 2008-01-11 Luca Bruno <lethalman88 (a] gmail.com> 58525 58526 Reviewed by Alp Toker. 58527 58528 http://bugs.webkit.org/show_bug.cgi?id=16729 58529 [cURL] Allow multiple files for upload 58530 58531 * platform/network/ResourceHandleInternal.h: 58532 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 58533 * platform/network/curl/ResourceHandleCurl.cpp: 58534 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 58535 * platform/network/curl/ResourceHandleManager.cpp: 58536 (WebCore::readCallback): added 58537 (WebCore::ResourceHandleManager::setupPOST): setup for streaming the POST 58538 (WebCore::ResourceHandleManager::startJob): 58539 (WebCore::ResourceHandleManager::cancel): revert the previous patch for regression 58540 * platform/network/curl/ResourceHandleManager.h: 58541 58542 2008-01-11 Christian Dywan <christian (a] imendio.com> 58543 58544 Reviewed by Alp Toker. 58545 58546 [Gtk] Menu items need underscores 58547 http://bugs.webkit.org/show_bug.cgi?id=16817 58548 58549 Add underscores to appropriate menu labels. 58550 Also adjust strings slightly. 58551 58552 * platform/gtk/ContextMenuItemGtk.cpp: 58553 (WebCore::ContextMenuItem::createNativeMenuItem): 58554 * platform/gtk/LocalizedStringsGtk.cpp: 58555 (WebCore::searchableIndexIntroduction): 58556 (WebCore::fileButtonChooseFileLabel): 58557 (WebCore::fileButtonNoFileSelectedLabel): 58558 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 58559 (WebCore::contextMenuItemTagDownloadLinkToDisk): 58560 (WebCore::contextMenuItemTagCopyLinkToClipboard): 58561 (WebCore::contextMenuItemTagOpenImageInNewWindow): 58562 (WebCore::contextMenuItemTagDownloadImageToDisk): 58563 (WebCore::contextMenuItemTagCopyImageToClipboard): 58564 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 58565 (WebCore::contextMenuItemTagCopy): 58566 (WebCore::contextMenuItemTagGoBack): 58567 (WebCore::contextMenuItemTagGoForward): 58568 (WebCore::contextMenuItemTagStop): 58569 (WebCore::contextMenuItemTagReload): 58570 (WebCore::contextMenuItemTagCut): 58571 (WebCore::contextMenuItemTagPaste): 58572 (WebCore::contextMenuItemTagIgnoreSpelling): 58573 (WebCore::contextMenuItemTagLearnSpelling): 58574 (WebCore::contextMenuItemTagSearchWeb): 58575 (WebCore::contextMenuItemTagLookUpInDictionary): 58576 (WebCore::contextMenuItemTagOpenLink): 58577 (WebCore::contextMenuItemTagIgnoreGrammar): 58578 (WebCore::contextMenuItemTagSpellingMenu): 58579 (WebCore::contextMenuItemTagShowSpellingPanel): 58580 (WebCore::contextMenuItemTagCheckSpelling): 58581 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 58582 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 58583 (WebCore::contextMenuItemTagFontMenu): 58584 (WebCore::contextMenuItemTagBold): 58585 (WebCore::contextMenuItemTagItalic): 58586 (WebCore::contextMenuItemTagUnderline): 58587 (WebCore::contextMenuItemTagOutline): 58588 (WebCore::contextMenuItemTagWritingDirectionMenu): 58589 (WebCore::contextMenuItemTagDefaultDirection): 58590 (WebCore::contextMenuItemTagLeftToRight): 58591 (WebCore::contextMenuItemTagRightToLeft): 58592 (WebCore::contextMenuItemTagInspectElement): 58593 (WebCore::searchMenuClearRecentSearchesText): 58594 58595 2008-01-11 Ada Chan <adachan (a] apple.com> 58596 58597 <rdar://problem/5681557> On Windows Safari, mouse events are ignored after clicking on link that triggers download 58598 Moved the call to cache page from provisionalLoadStarted() to commitProvisionalLoad(), since 58599 provisionalLoadStarted() can be called for cases that do not result in a page navigation, for example, 58600 when a link to download a file has been clicked. 58601 58602 Reviewed by John and Anders. 58603 58604 * loader/FrameLoader.cpp: 58605 (WebCore::FrameLoader::provisionalLoadStarted): 58606 (WebCore::FrameLoader::commitProvisionalLoad): 58607 58608 2008-01-11 Jon Honeycutt <jhoneycutt (a] apple.com> 58609 58610 Reviewed by Anders. 58611 58612 <rdar://problem/5683529> plugins/embed-inside-object.html is timing 58613 out/failing 58614 58615 Revert to using FrameTree::find() so that frame aliases like "_self" and 58616 "_current" are interpreted properly 58617 58618 * plugins/win/PluginViewWin.cpp: 58619 (WebCore::PluginViewWin::performRequest): 58620 (WebCore::PluginViewWin::load): 58621 58622 2008-01-11 Alp Toker <alp (a] atoker.com> 58623 58624 Reviewed by Dave Hyatt and Mark Rowe. 58625 58626 http://bugs.webkit.org/show_bug.cgi?id=16089 58627 [GTK] Support custom fonts, CachedFont::platformDataFromCustomData() 58628 58629 Add support for CSS2 @font-face custom/downloadable fonts to the GTK+ 58630 port. 58631 58632 * GNUmakefile.am: 58633 * WebCore.pro: 58634 * loader/CachedFont.cpp: 58635 (WebCore::CachedFont::~CachedFont): 58636 (WebCore::CachedFont::ensureCustomFontData): 58637 (WebCore::CachedFont::platformDataFromCustomData): 58638 (WebCore::CachedFont::allReferencesRemoved): 58639 * platform/graphics/gtk/FontCustomPlatformData.cpp: Added. 58640 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): 58641 (WebCore::FontCustomPlatformData::fontPlatformData): 58642 (WebCore::releaseData): 58643 (WebCore::createFontCustomPlatformData): 58644 * platform/graphics/gtk/FontCustomPlatformData.h: Added. 58645 (WebCore::FontCustomPlatformData::FontCustomPlatformData): 58646 * platform/graphics/gtk/FontPlatformData.h: 58647 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 58648 (WebCore::FontPlatformData::FontPlatformData): 58649 (WebCore::FontPlatformData::init): 58650 (WebCore::FontPlatformData::isFixedPitch): 58651 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 58652 (WebCore::SimpleFontData::platformDestroy): 58653 58654 2008-01-11 Adam Roben <aroben (a] apple.com> 58655 58656 Remove FrameLoader::committedFirstRealDocumentLoad 58657 58658 This method no longer has any callers. 58659 58660 Reviewed by Hyatt. 58661 58662 * loader/FrameLoader.h: 58663 58664 2008-01-11 Antti Koivisto <antti (a] apple.com> 58665 58666 Add a standalone version of the blog post video player as a manual test. 58667 58668 * manual-tests/resources/touch-poster.png: Added. 58669 * manual-tests/video-player.html: Added. 58670 58671 2008-01-10 Antti Koivisto <antti (a] apple.com> 58672 58673 Reviewed by Adam. 58674 58675 Fix <rdar://problem/5682767> 58676 Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows 58677 58678 Take care that GWorld is created and deletes when needed as size or visibility changes. 58679 58680 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 58681 (WebCore::MediaPlayerPrivate::load): 58682 * platform/graphics/win/QTMovieWin.cpp: 58683 (QTMovieWinPrivate::QTMovieWinPrivate): 58684 (QTMovieWinPrivate::updateGWorld): 58685 (QTMovieWinPrivate::setSize): 58686 (QTMovieWin::setVisible): 58687 (QTMovieWin::initializeQuickTime): 58688 58689 2008-01-11 David Hyatt <hyatt (a] apple.com> 58690 58691 Fix for bug 11188, setting hspace on a table overrides align=center. Fix align=center to be done using 58692 mapped attributes so that it does not get overridden by hspace all the time. 58693 58694 Reviewed by mitz 58695 58696 Added fast/table/table-hspace-align-center.html 58697 58698 * css/html4.css: 58699 * html/HTMLTableElement.cpp: 58700 (WebCore::HTMLTableElement::parseMappedAttribute): 58701 58702 2008-01-11 Mark Rowe <mrowe (a] apple.com> 58703 58704 Qt build fix. 58705 58706 * platform/qt/TemporaryLinkStubs.cpp: Include CString.h. 58707 58708 2008-01-11 Mark Rowe <mrowe (a] apple.com> 58709 58710 Qt build fix. Add link stubs for the new FileSystem.h functions introduced 58711 in r29399. 58712 58713 * platform/qt/TemporaryLinkStubs.cpp: 58714 (WebCore::openTemporaryFile): 58715 58716 2008-01-11 Rodney Dawes <dobey (a] wayofthemonkey.com> 58717 58718 Reviewed by Anders Carlsson. 58719 58720 Bug 16779: Make the PluginStream implementation be shared across platforms 58721 http://bugs.webkit.org/show_bug.cgi?id=16779 58722 58723 Add the new shared PluginStream files to the GTK+ and Win32 builds. 58724 Add PluginStreamClient class for the streamDidFinishLoading method. 58725 Add open/close/write methods to FileSystem for temporary file handling. 58726 Add PluginDebug.h and npfunctions.h for shared PluginStream. 58727 Add shared PluginStream. 58728 Remove PluginStreamWin. 58729 Update PluginViewWin to use shared PluginStream and PluginStreamClass. 58730 58731 * GNUmakefile.am: 58732 * WebCore.pro: 58733 * WebCore.vcproj/WebCore.vcproj: 58734 * platform/FileSystem.h: 58735 * platform/gtk/FileSystemGtk.cpp: 58736 * platform/win/FileSystemWin.cpp: 58737 * plugins/PluginDebug.h: 58738 * plugins/PluginStream.cpp: 58739 * plugins/PluginStream.h: 58740 * plugins/npfunctions.h: 58741 * plugins/win/PluginDebug: Moved to PluginDebug.h. 58742 * plugins/win/PluginStreamWin.cpp: Moved to PluginStream.cpp. 58743 * plugins/win/PluginStreamWin.h: Moved to PluginStream.h 58744 * plugins/win/PluginViewWin.cpp: 58745 * plugins/win/PluginViewWin.h: 58746 * plugins/win/npfunctions.h: Moved to npfunctions.h 58747 58748 2008-01-11 Geoffrey Garen <ggaren (a] apple.com> 58749 58750 Try to fix Mac build: Edit the right .exp file. 58751 58752 * WebCore.base.exp: 58753 58754 2008-01-11 Geoffrey Garen <ggaren (a] apple.com> 58755 58756 Try to fix Qt build: don't use pthreads if they're not available. 58757 58758 * bindings/js/GCController.cpp: 58759 58760 2008-01-10 Geoffrey Garen <ggaren (a] apple.com> 58761 58762 Reviewed by John Sullivan. 58763 58764 Fixed some world leak reports: 58765 * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript 58766 Interpreter after running cvs-base suite 58767 58768 * <rdar://problem/5669423> PLT complains about world leak if browser 58769 window is open when PLT starts 58770 58771 These were both bugs in the reporting mechanism, so I took the 58772 opportunity to do some house cleaning there. 58773 58774 Stupid class, I kill you: 58775 * bridge/JavaScriptStatistics.cpp: Removed. 58776 * bridge/JavaScriptStatistics.h: Removed. 58777 58778 * bindings/js/GCController.h: Adopted the only useful features of 58779 JavaScriptStatistics, since they were GC-related. 58780 * bindings/js/GCController.cpp: 58781 58782 2008-01-10 Eric Seidel <eric (a] webkit.org> 58783 58784 Reviewed by Adele. 58785 58786 No functional changes, only code cleanup. 58787 58788 * css/MediaQueryEvaluator.cpp: 58789 (WebCore::compareValue): renamed from cmpvalue 58790 (WebCore::colorMediaFeatureEval): 58791 (WebCore::device_aspect_ratioMediaFeatureEval): 58792 (WebCore::device_pixel_ratioMediaFeatureEval): 58793 (WebCore::gridMediaFeatureEval): 58794 (WebCore::device_heightMediaFeatureEval): 58795 (WebCore::device_widthMediaFeatureEval): 58796 (WebCore::heightMediaFeatureEval): 58797 (WebCore::widthMediaFeatureEval): 58798 58799 2008-01-10 Dan Bernstein <mitz (a] apple.com> 58800 58801 Reviewed by Anders Carlsson. 58802 58803 - fix a crash when calling alert() from a repeating timer 58804 58805 On non-Mac platforms, the PageGroupLoadDeferrer pauses DOM timers during 58806 alert() and other similar functions, which deletes the actual 58807 DOMWindowTimer objects and replaces them with new objects when resuming. 58808 58809 * bindings/js/kjs_window.cpp: 58810 (KJS::Window::timerFired): Re-fetch the timer object from the map in 58811 case it has been deleted or replaced. 58812 58813 2008-01-10 Maciej Stachowiak <mjs (a] apple.com> 58814 58815 Reviewed by Sam. 58816 58817 - remove SecurityOriginData and fold its functionality into SecurityOrigin 58818 58819 * GNUmakefile.am: 58820 * WebCore.base.exp: 58821 * WebCore.pro: 58822 * WebCore.vcproj/WebCore.vcproj: 58823 * WebCore.xcodeproj/project.pbxproj: 58824 * WebCoreSources.bkl: 58825 * bindings/js/JSDOMWindowCustom.cpp: 58826 (WebCore::JSDOMWindow::postMessage): 58827 * dom/Document.cpp: 58828 (WebCore::Document::domain): 58829 * page/Chrome.cpp: 58830 (WebCore::Chrome::requestQuotaIncreaseForNewDatabase): 58831 (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation): 58832 * page/Chrome.h: 58833 * page/ChromeClient.h: 58834 * platform/SecurityOrigin.cpp: 58835 (WebCore::SecurityOrigin::copy): 58836 (WebCore::SecurityOrigin::createFromIdentifier): 58837 (WebCore::SecurityOrigin::stringIdentifier): 58838 * platform/SecurityOrigin.h: 58839 (WebCore::SecurityOrigin::host): 58840 (WebCore::SecurityOrigin::protocol): 58841 (WebCore::SecurityOrigin::port): 58842 (WebCore::SecurityOrigin::equal): 58843 * platform/SecurityOriginData.cpp: Removed. 58844 * platform/SecurityOriginData.h: Removed. 58845 * storage/Database.cpp: 58846 (WebCore::Database::openDatabase): 58847 (WebCore::Database::Database): 58848 (WebCore::Database::securityOriginCopy): 58849 * storage/Database.h: 58850 * storage/DatabaseTracker.cpp: 58851 (WebCore::SecurityOriginHash::hash): 58852 (WebCore::SecurityOriginHash::equal): 58853 (WebCore::SecurityOriginTraits::deletedValue): 58854 (WebCore::SecurityOriginTraits::emptyValue): 58855 (WebCore::DatabaseTracker::canEstablishDatabase): 58856 (WebCore::DatabaseTracker::hasEntryForOrigin): 58857 (WebCore::DatabaseTracker::hasEntryForDatabase): 58858 (WebCore::DatabaseTracker::establishEntryForOrigin): 58859 (WebCore::DatabaseTracker::fullPathForDatabase): 58860 (WebCore::DatabaseTracker::populateOrigins): 58861 (WebCore::DatabaseTracker::origins): 58862 (WebCore::DatabaseTracker::databaseNamesForOrigin): 58863 (WebCore::DatabaseTracker::detailsForNameAndOrigin): 58864 (WebCore::DatabaseTracker::setDatabaseDetails): 58865 (WebCore::DatabaseTracker::usageForDatabase): 58866 (WebCore::DatabaseTracker::usageForOrigin): 58867 (WebCore::DatabaseTracker::quotaForOrigin): 58868 (WebCore::DatabaseTracker::setQuota): 58869 (WebCore::DatabaseTracker::addDatabase): 58870 (WebCore::DatabaseTracker::deleteAllDatabases): 58871 (WebCore::DatabaseTracker::deleteDatabasesWithOrigin): 58872 (WebCore::DatabaseTracker::deleteDatabase): 58873 (WebCore::DatabaseTracker::deleteDatabaseFile): 58874 (WebCore::notificationQueue): 58875 (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): 58876 (WebCore::DatabaseTracker::notifyDatabasesChanged): 58877 * storage/DatabaseTracker.h: 58878 * storage/DatabaseTrackerClient.h: 58879 * storage/SQLTransaction.cpp: 58880 (WebCore::SQLTransaction::openTransactionAndPreflight): 58881 (WebCore::SQLTransaction::runStatements): 58882 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): 58883 (WebCore::SQLTransaction::postflightAndCommit): 58884 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): 58885 * svg/graphics/SVGImageEmptyClients.h: 58886 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase): 58887 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation): 58888 58889 2008-01-10 Anders Carlsson <andersca (a] apple.com> 58890 58891 Reviewed by Sam. 58892 58893 Use the correct frame loader load method. Using the old method would not cause a 58894 new window to be open if the frame navigation was not allowed. 58895 58896 * plugins/win/PluginViewWin.cpp: 58897 (WebCore::PluginViewWin::performRequest): 58898 58899 2008-01-10 Alp Toker <alp (a] atoker.com> 58900 58901 SVG font build fix for GTK+/autotools. 58902 58903 * GNUmakefile.am: 58904 58905 2008-01-10 Adam Barth <hk9565 (a] gmail.com> 58906 58907 Reviewed by Sam Weinig and Anders Carlsson. 58908 58909 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522 58910 <rdar://problem/5657355> 58911 58912 This patch makes two changes: 58913 58914 1) Java calls FrameLoader::load in a slightly different way than 58915 JavaScript, which previously let a malicious web site bypass the 58916 shouldAllowNavigation check. This patch adds that check to that 58917 code path. 58918 58919 2) FrameLoader now wraps calls to m_frame->tree()->find(name) with 58920 findFrameForNavigation, which calls shouldAllowNavigation. This 58921 treats disallowed frame navigations as if the named frame did not 58922 exist, resulting in a popup window when appropriate. 58923 58924 Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html 58925 http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html 58926 58927 * WebCore.base.exp: 58928 * bindings/js/kjs_window.cpp: 58929 (KJS::WindowProtoFuncOpen::callAsFunction): 58930 * loader/FrameLoader.cpp: 58931 (WebCore::FrameLoader::createWindow): 58932 (WebCore::FrameLoader::load): 58933 (WebCore::FrameLoader::post): 58934 (WebCore::FrameLoader::findFrameForNavigation): 58935 * loader/FrameLoader.h: 58936 58937 2008-01-10 John Sullivan <sullivan (a] apple.com> 58938 58939 Written by Hyatt, reviewed by me 58940 58941 - fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display 58942 a <video> element that uses controls attribute 58943 58944 * rendering/MediaControlElements.cpp: 58945 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): 58946 force the render style to inherit from the media element's style; Hyatt filed 5682383 to cover cleaning 58947 up this architecture, but this one-line fix will prevent the crash in the meantime 58948 58949 2008-01-10 Ada Chan <adachan (a] apple.com> 58950 58951 Fix fast/forms/input-radio-checked-tab.html 58952 Meta key is not the same as Alt key on windows. 58953 58954 Reviewed by Darin. 58955 58956 * platform/win/KeyEventWin.cpp: 58957 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 58958 58959 2008-01-10 Anders Carlsson <andersca (a] apple.com> 58960 58961 Reviewed by Jon. 58962 58963 Fix an assert that would happen when a plug-in tries to load a URL while a provisional load is going. 58964 58965 * plugins/win/PluginViewWin.cpp: 58966 (WebCore::PluginViewWin::performRequest): 58967 Move document loader check here since we don't start loading until here and a new document load could have started in the meantime. 58968 58969 (WebCore::PluginViewWin::requestTimerFired): 58970 Don't leak the plugin requests. 58971 58972 (WebCore::PluginViewWin::load): 58973 58974 2008-01-10 Anders Carlsson <andersca (a] apple.com> 58975 58976 Reviewed by John Sullivan. 58977 58978 <rdar://problem/5455889> 58979 REGRESSION: BumperCar crashes when attempting to load a long invalid URL 58980 58981 Make sure to call FrameLoader::receivedMainResourceError before calling 58982 FrameLoader::didFailToLoad. The call to receivedMainResourceError takes care of 58983 clearing out the provisional document loader so that we won't call the didFail 58984 ResourceLoadDelegate method twice. This also makes us call the FrameLoadDelegate method 58985 didFailPrivisionalLoad before calling the ResourceLoadDelegate method, which Safari 2.0 does. 58986 58987 * loader/MainResourceLoader.cpp: 58988 (WebCore::MainResourceLoader::receivedError): 58989 58990 2008-01-10 Antti Koivisto <antti (a] apple.com> 58991 58992 Reviewed by Adele. 58993 58994 Fix <rdar://problem/5658048> 58995 After <video> has finished playing, dragging the scroller on different location of controller starts to play movie 58996 58997 - Move to paused state if the playback had ended and the controller is used to seek to earlier time 58998 - Pause video playback during drag so the knob does not constantly try to escape from the mouse pointer 58999 59000 * html/HTMLMediaElement.cpp: 59001 (WebCore::HTMLMediaElement::HTMLMediaElement): 59002 (WebCore::HTMLMediaElement::updateMediaPlayer): 59003 (WebCore::HTMLMediaElement::setPausedInternal): 59004 * html/HTMLMediaElement.h: 59005 * rendering/MediaControlElements.cpp: 59006 (WebCore::MediaControlTimelineElement::defaultEventHandler): 59007 59008 2008-01-10 Alexey Proskuryakov <ap (a] webkit.org> 59009 59010 Reviewed by Adam Roben. 59011 59012 <rdar://problem/5667003> fast/dom/xmlhttprequest-html-response-encoding.html is failing 59013 59014 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Do not disable sniffing for file:// 59015 requests, as CFNetwork doesn't perform extension to MIME type mapping then. 59016 59017 2008-01-10 Adam Roben <aroben (a] apple.com> 59018 59019 Fixes to allow multiple FrameViews on Windows 59020 59021 Reviewed by Hyatt. 59022 59023 * page/FrameView.cpp: 59024 (WebCore::FrameView::FrameView): Added a new constructor that takes an 59025 IntSize to specify the FrameView's initial size. 59026 (WebCore::FrameView::scheduleRelayout): Added an assertion that our 59027 Document is not in the page cache. 59028 * page/FrameView.h: 59029 * platform/gtk/WidgetGtk.cpp: 59030 (WebCore::Widget::~Widget): Add a warm, fuzzy ASSERT. 59031 * platform/qt/WidgetQt.cpp: 59032 (WebCore::Widget::~Widget): Ditto. 59033 * rendering/RenderWidget.cpp: 59034 (WebCore::RenderWidget::setWidget): Make sure to remove any existing 59035 Widget from the Widget hierarchy before deleting it. One instance 59036 where this is needed is when setWidget is called during FrameView 59037 creation on Windows. 59038 59039 2008-01-10 Alp Toker <alp (a] atoker.com> 59040 59041 Include math.h to get ceilf(). Part of the SVG font GTK+ build fix. 59042 59043 * svg/SVGFontFaceElement.cpp: 59044 59045 2008-01-10 Justin Garcia <justin.garcia (a] apple.com> 59046 59047 Reviewed by Alice Liu. 59048 59049 <rdar://problem/5658603> Crash in InsertNodeBefore::doUnapply() on Undo in Yahoo Mail 59050 <rdar://problem/5658709> Crash in RenderView::setSelection on Undo in Yahoo Mail 59051 59052 Make sure we have an updated layout before we perform any editing work. 59053 59054 * editing/EditCommand.cpp: 59055 (WebCore::EditCommand::apply): 59056 (WebCore::EditCommand::unapply): 59057 (WebCore::EditCommand::reapply): 59058 59059 2008-01-10 Luca Bruno <lethalman88 (a] gmail.com> 59060 59061 Reviewed by Alp Toker. 59062 59063 Back out r29206 which was causing regressions in curl http job 59064 cancellation. 59065 59066 * platform/network/curl/ResourceHandleManager.cpp 59067 (ResourceHandleManager::cancel): 59068 59069 2008-01-10 Kevin McCullough <kmccullough (a] apple.com> 59070 59071 Reviewed by Darin, Sam, and Adam. 59072 59073 - <rdar://problem/5654486> REGRESSION (Safari 3.0.4-TOT): clicking on 59074 - link in gmail message displays JavaScript alert falsely complaining 59075 about pop-up blocking 59076 - When trying to open a new window, we now see if the user gesture 59077 occurred in the global dynamic object instead of the frame since that is 59078 the only place an event can occur. 59079 59080 * bindings/js/kjs_window.cpp: - Check the dynamic global object instead 59081 of the frame. 59082 (KJS::allowPopUp): 59083 (KJS::showModalDialog): 59084 (KJS::WindowProtoFuncOpen::callAsFunction): 59085 59086 2008-01-10 David Hyatt <hyatt (a] apple.com> 59087 59088 Fix for bug 16247, visibility:hidden not honored when hit testing inline replaced elements. 59089 59090 Reviewed by adele 59091 59092 Added fast/css/visibility-hit-test.html test case. 59093 59094 * rendering/RenderBox.cpp: 59095 (WebCore::RenderBox::nodeAtPoint): 59096 59097 2008-01-10 Lars Knoll <lars (a] trolltech.com> 59098 59099 Reviewed by Simon. 59100 59101 rename QWebPageHistory to QWebHistory. 59102 59103 * WebCore.pro: 59104 59105 2008-01-10 Lars Knoll <lars (a] trolltech.com> 59106 59107 Reviewed by Simon. 59108 59109 fix the drawing errors that where introduced due to refactoring. 59110 59111 Correctly clip to the rectangle we want to draw in ScrollView::paint(). 59112 59113 * platform/qt/ScrollViewQt.cpp: 59114 (WebCore::ScrollView::paint): 59115 59116 2008-01-10 Simon Hausmann <hausmann (a] webkit.org> 59117 59118 Reviewed by Lars. 59119 59120 Temporarily disable gzip decompression in qhttp due to a bug. 59121 59122 * platform/network/qt/QNetworkReplyHandler.cpp: 59123 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 59124 59125 2008-01-10 Simon Hausmann <hausmann (a] webkit.org> 59126 59127 Reviewed by Lars. 59128 59129 http://bugs.webkit.org/show_bug.cgi?id=16588 59130 59131 Added a (last) Frame argument to ResourceHandle::loadResourceSynchronously. 59132 This allows implementing the synchronous loading correctly for the Qt port where the networking 59133 backend is bound to the page. 59134 59135 * loader/FrameLoader.cpp: 59136 (WebCore::FrameLoader::loadResourceSynchronously): 59137 * platform/network/ResourceHandle.h: 59138 * platform/network/cf/ResourceHandleCFNet.cpp: 59139 * platform/network/curl/ResourceHandleCurl.cpp: 59140 * platform/network/mac/ResourceHandleMac.mm: 59141 * platform/network/qt/ResourceHandleQt.cpp: 59142 (WebCore::ResourceHandle::loadResourceSynchronously): 59143 59144 2008-01-10 Kevin Ollivier <kevino (a] theolliviers.com> 59145 59146 wx build fix for changes in r29328 59147 59148 * WebCoreSources.bkl: 59149 59150 2008-01-09 Maciej Stachowiak <mjs (a] apple.com> 59151 59152 Reviewed by Sam. 59153 59154 - refactor SecurityOrigin in preparation for merging with SecurityOriginData 59155 59156 * platform/SecurityOrigin.cpp: 59157 (WebCore::SecurityOrigin::SecurityOrigin): 59158 (WebCore::SecurityOrigin::create): 59159 (WebCore::SecurityOrigin::createForFrame): 59160 * platform/SecurityOrigin.h: 59161 59162 2008-01-09 Ada Chan <adachan (a] apple.com> 59163 59164 Tabs with ctrl, meta, or altgraph modifier key down should not advance focus. 59165 59166 Reviewed by Darin. 59167 59168 Test: fast/forms/tabs-with-modifiers.html 59169 59170 * page/EventHandler.cpp: 59171 (WebCore::EventHandler::defaultKeyboardEventHandler): 59172 (WebCore::EventHandler::defaultTabEventHandler): bail if ctrl, meta, or altgraph key is down. 59173 Clean up the code a bit. 59174 * page/EventHandler.h: 59175 * page/FocusController.cpp: Remove the advanceFocus() that takes in a KeyboardEvent. It was 59176 only called in EventHandler::defaultTabEventHandler() but we have cleaned up the code there and 59177 no longer needs it. 59178 * page/FocusController.h: 59179 59180 2008-01-09 Antti Koivisto <antti (a] apple.com> 59181 59182 Reviewed by Mitz. 59183 59184 Fix http://bugs.webkit.org/show_bug.cgi?id=16376 59185 <rdar://problem/5665206> 59186 <video> element fails to play frames when navigating back to page (16376) 59187 59188 Don't make MediaPlayer visible when it is actually in page cache. 59189 59190 * rendering/RenderVideo.cpp: 59191 (WebCore::RenderVideo::updatePlayer): 59192 59193 2008-01-09 Anders Carlsson <andersca (a] apple.com> 59194 59195 Reviewed by Darin. 59196 59197 <rdar://problem/5532361> 59198 CrashTracer: 9840 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::CInstance::~CInstance [in-charge deleting] + 35 59199 59200 Clear the frame's plugin root objects so that they don't outlive the plugin bundle. 59201 59202 * page/Frame.cpp: 59203 (WebCore::Frame::pageDestroyed): 59204 59205 2008-01-09 John Sullivan <sullivan (a] apple.com> 59206 59207 Reviewed by Adam Roben and Anders Carlsson 59208 59209 - fixed <rdar://problem/5469398> Repro assertion failure in context menu code due to 59210 missing-but-expected Reload item 59211 59212 * platform/ContextMenu.cpp: 59213 (WebCore::ContextMenu::populate): 59214 use isLoadingInAPISense when deciding whether to include Stop or Reload in context 59215 menu, to match the WebKit API 59216 59217 2008-01-09 Mark Rowe <mrowe (a] apple.com> 59218 59219 Fix Windows debug build for opensource developers. 59220 59221 * WebCore.vcproj/QTMovieWin.vcproj: Use the correct library suffix. 59222 59223 2007-10-01 Allan Sandfeld Jensen <sandfeld (a] kde.org> 59224 59225 Reworked by Eric, Reviewed by Hyatt. 59226 59227 - fix http://bugs.webkit.org/show_bug.cgi?id=9454 59228 Add support for :lang inheritance and xml:lang support. 59229 59230 Tests: fast/selectors/lang-inheritance.html 59231 fast/selectors/lang-inheritance2.html 59232 fast/selectors/lang-vs-xml-lang.html 59233 fast/selectors/lang-vs-xml-lang-xhtml.xhtml 59234 59235 * css/CSSStyleSelector.cpp: 59236 (WebCore::CSSStyleSelector::canShareStyleWithElement): Do not share style between elements with 59237 different LANG-attribute. 59238 (WebCore::CSSStyleSelector::checkOneSelector): Change :lang() to recursively check the LANG attribute 59239 for all the elements parents and the content-language of the document. 59240 * dom/Document.cpp: 59241 (WebCore::Document::processHttpEquiv): Parse MIME Content-Language 59242 * dom/Document.h: 59243 (WebCore::Document::contentLanguage): 59244 (WebCore::Document::setContentLanguage): 59245 59246 2008-01-08 Timothy Hatcher <timothy (a] apple.com> 59247 59248 Reviewed by Brady. 59249 59250 Bug 16678: Unreproducible crash in KJS::JSObject::inherits() after using Web Inspector 59251 http://bugs.webkit.org/show_bug.cgi?id=16678 59252 59253 Add a NULL check for controller before calling JSObjectSetPrivate. 59254 59255 * page/InspectorController.cpp: 59256 (WebCore::InspectorController::~InspectorController): 59257 59258 2008-01-08 Xan Lopez <xan (a] gnome.org> 59259 59260 Reviewed by Alp Toker. 59261 59262 http://bugs.webkit.org/show_bug.cgi?id=15610 59263 [GTK] Text rendering using Pango 59264 59265 Use Pango to render Complex path text. 59266 59267 * platform/graphics/gtk/FontGtk.cpp: 59268 (WebCore::utf16_to_utf8): 59269 (WebCore::convertUniCharToUTF8): 59270 (WebCore::setPangoAttributes): 59271 (WebCore::Font::drawGlyphs): 59272 (WebCore::Font::drawComplexText): 59273 (WebCore::Font::floatWidthForComplexText): 59274 (WebCore::Font::offsetForPositionForComplexText): 59275 59276 2008-01-08 Timothy Hatcher <timothy (a] apple.com> 59277 59278 Reviewed by Darin Adler. 59279 59280 <rdar://problem/5665860> With the web inspector displayed, a crash occurs 59281 at WebCore::Frame::document() when navigating back to previous page 59282 59283 This fixes the crash, but the inspector was totally broken with back/forward. 59284 So this also fixes back/forward navigation so the right main resource shows 59285 up in the inspector. 59286 59287 * page/InspectorController.cpp: 59288 (WebCore::addSourceToFrame): Add some null checks for the frame when 59289 getting the textEncoding. This was the crash. 59290 (WebCore::InspectorController::addScriptResource): Create a script object 59291 only if needed, and always add it by calling addResource. 59292 (WebCore::InspectorController::didCommitLoad): Check if the loader is 59293 loading from the page cache, and clear m_mainResource. If the load is 59294 normal, then call addAndUpdateScriptResource with the main resource. 59295 (WebCore::InspectorController::identifierForInitialRequest): If the load 59296 is from the page cache and the resource is the main resource call 59297 addAndUpdateScriptResource since didCommitLoad did not do it. 59298 59299 2008-01-08 Alp Toker <alp (a] atoker.com> 59300 59301 Back out VIDEO by default in the GTK+ qmake build. The build bot 59302 doesn't have the necessary libraries installed. 59303 59304 * WebCore.pro: 59305 59306 2008-01-08 Alp Toker <alp (a] atoker.com> 59307 59308 Win build fix for breakage introduced in r29328. 59309 59310 * WebCore.vcproj/WebCore.vcproj: 59311 59312 2008-01-08 Alp Toker <alp (a] atoker.com> 59313 59314 Rubber-stamped by Mark Rowe. 59315 59316 Enable VIDEO by default in the GTK+ qmake build. 59317 59318 * WebCore.pro: 59319 59320 2008-01-08 Alp Toker <alp (a] atoker.com> 59321 59322 GTK+ VIDEO build fix for breakage introduced in r29328. 59323 59324 Issue noticed by Ori_B. 59325 59326 * GNUmakefile.am: 59327 * WebCore.pro: 59328 59329 2008-01-08 Antti Koivisto <antti (a] apple.com> 59330 59331 Reviewed by Darin. 59332 59333 HTMLAudioElement needs generated constructor. Otherwise video instanceof HTMLAudioElement is true which is 59334 bit strange. 59335 59336 Renamed custom constructor JSHTMLAudioElementConstructor to JSAudioConstructor to avoid name clashes. 59337 59338 Test: media/constructors.html 59339 59340 * WebCore.xcodeproj/project.pbxproj: 59341 * bindings/js/JSAudioConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.cpp. 59342 (WebCore::JSAudioConstructor::JSAudioConstructor): 59343 (WebCore::JSAudioConstructor::implementsConstruct): 59344 (WebCore::JSAudioConstructor::construct): 59345 * bindings/js/JSAudioConstructor.h: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.h. 59346 * bindings/js/JSHTMLAudioElementConstructor.cpp: Removed. 59347 * bindings/js/JSHTMLAudioElementConstructor.h: Removed. 59348 * bindings/js/kjs_window.cpp: 59349 (KJS::Window::getValueProperty): 59350 * html/HTMLAudioElement.idl: 59351 59352 2008-01-08 Anders Carlsson <andersca (a] apple.com> 59353 59354 Reviewed by Mitz. 59355 59356 Don't add the applet widget to the view, that's done later by RenderApplet. 59357 59358 * loader/FrameLoader.cpp: 59359 (WebCore::FrameLoader::createJavaAppletWidget): 59360 59361 2008-01-08 Antti Koivisto <antti (a] apple.com> 59362 59363 Reviewed by Weinig. 59364 59365 Add security check for Audio constructor. 59366 59367 * bindings/js/kjs_window.cpp: 59368 (KJS::Window::getValueProperty): 59369 59370 2008-01-08 Timothy Hatcher <timothy (a] apple.com> 59371 59372 Reviewed by Adam Roben. 59373 59374 <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567) 59375 59376 InspectorController::didLoadResourceFromMemoryCache was not being called for 59377 resources that loaded from the memory cache that the FrameLoader's client 59378 has already been notified about. This fix always calls the InspectorController 59379 when loading a memory cached resource. No test possible for the Web Inspector. 59380 59381 * loader/DocLoader.cpp: 59382 (WebCore::DocLoader::checkCacheObjectStatus): Moved most of the logic to 59383 FrameLoader::loadedResourceFromMemoryCache so the InspectorController can always be notified. 59384 * loader/FrameLoader.cpp: 59385 (WebCore::FrameLoader::didTellClientAboutLoad): Renamed from didTellBridgeAboutLoad. 59386 (WebCore::FrameLoader::haveToldClientAboutLoad): Renamed from haveToldBridgeAboutLoad. 59387 (WebCore::FrameLoader::loadResourceSynchronously): Call the renamed didTellClientAboutLoad. 59388 (WebCore::FrameLoader::loadedResourceFromMemoryCache): Only takes a CachedResource now. 59389 Always call InspectorController. If the resource's sendResourceLoadCallbacks is false or 59390 didTellClientAboutLoad is true, do an early return. Otherwise call the client and call 59391 didTellClientAboutLoad. 59392 (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Removed, work now done 59393 in FrameLoader::loadedResourceFromMemoryCache. 59394 * loader/FrameLoader.h: Renamed {didTell,haveTold}BridgeAboutLoad to {didTell,haveTold}ClientAboutLoad. 59395 Made loadedResourceFromMemoryCache only take a CachedResource. Renamed m_urlsBridgeKnowsAbout to 59396 m_urlsClientKnowsAbout. 59397 * loader/SubresourceLoader.cpp: 59398 (WebCore::SubresourceLoader::load): Call the renamed didTellClientAboutLoad. 59399 59400 2008-01-08 Dan Bernstein <mitz (a] apple.com> 59401 59402 Rubber-stamped by Sam Weinig. 59403 59404 - prefix all member variables in CSSStyleSelector with m_ 59405 59406 * css/CSSStyleSelector.cpp: 59407 (WebCore::CSSStyleSelector::CSSStyleSelector): 59408 (WebCore::CSSStyleSelector::init): 59409 (WebCore::CSSStyleSelector::setEncodedURL): 59410 (WebCore::CSSStyleSelector::loadDefaultStyle): 59411 (WebCore::CSSStyleSelector::matchRules): 59412 (WebCore::CSSStyleSelector::matchRulesForList): 59413 (WebCore::CSSStyleSelector::initElementAndPseudoState): 59414 (WebCore::CSSStyleSelector::initForStyleResolve): 59415 (WebCore::CSSStyleSelector::canShareStyleWithElement): 59416 (WebCore::CSSStyleSelector::locateSharedStyle): 59417 (WebCore::CSSStyleSelector::matchUARules): 59418 (WebCore::CSSStyleSelector::styleForElement): 59419 (WebCore::CSSStyleSelector::pseudoStyleForElement): 59420 (WebCore::CSSStyleSelector::updateFont): 59421 (WebCore::CSSStyleSelector::cacheBorderAndBackground): 59422 (WebCore::CSSStyleSelector::checkSelector): 59423 (WebCore::CSSStyleSelector::checkOneSelector): 59424 (WebCore::CSSStyleSelector::applyProperty): 59425 (WebCore::CSSStyleSelector::mapBackgroundImage): 59426 (WebCore::CSSStyleSelector::mapBackgroundSize): 59427 (WebCore::CSSStyleSelector::mapBackgroundXPosition): 59428 (WebCore::CSSStyleSelector::mapBackgroundYPosition): 59429 (WebCore::CSSStyleSelector::checkForTextSizeAdjust): 59430 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): 59431 * css/CSSStyleSelector.h: 59432 (WebCore::CSSStyleSelector::): 59433 (WebCore::CSSRuleData::CSSRuleData): 59434 (WebCore::CSSRuleDataList::CSSRuleDataList): 59435 (WebCore::CSSRuleDataList::append): 59436 * css/SVGCSSStyleSelector.cpp: 59437 (WebCore::CSSStyleSelector::applySVGProperty): 59438 * rendering/RenderStyle.cpp: 59439 (WebCore::RenderStyle::isStyleAvailable): 59440 59441 2008-01-08 David D. Kilzer <ddkilzer (a] apple.com> 59442 59443 Removed unnecessary files from Copy Bundle Resources build phase. 59444 59445 Reviewed by Sam. 59446 59447 * WebCore.xcodeproj/project.pbxproj: Files removed from build phase: 59448 DOMCoreException.idl 59449 EventException.idl 59450 MessageEvent.idl 59451 SVGAElement.idl 59452 SVGAngle.idl 59453 SVGAnimateColorElement.idl 59454 SVGAnimateElement.idl 59455 SVGAnimateTransformElement.idl 59456 SVGAnimatedAngle.idl 59457 SVGAnimatedBoolean.idl 59458 SVGAnimatedEnumeration.idl 59459 SVGAnimatedInteger.idl 59460 SVGAnimatedLength.idl 59461 SVGAnimatedLengthList.idl 59462 SVGAnimatedNumber.idl 59463 SVGAnimatedNumberList.idl 59464 SVGAnimatedPathData.idl 59465 SVGAnimatedPoints.idl 59466 SVGAnimatedPreserveAspectRatio.idl 59467 SVGAnimatedRect.idl 59468 SVGAnimatedString.idl 59469 SVGAnimatedTransformList.idl 59470 SVGAnimationElement.idl 59471 SVGCSSPropertyNames.in 59472 SVGCSSValueKeywords.in 59473 SVGCircleElement.idl 59474 SVGClipPathElement.idl 59475 SVGColor.idl 59476 SVGComponentTransferFunctionElement.idl 59477 SVGCursorElement.idl 59478 SVGDefinitionSrcElement.idl 59479 SVGDefsElement.idl 59480 SVGDescElement.idl 59481 SVGDocument.idl 59482 SVGElement.idl 59483 SVGElementInstance.idl 59484 SVGElementInstanceList.idl 59485 SVGEllipseElement.idl 59486 SVGException.idl 59487 SVGExternalResourcesRequired.idl 59488 SVGFEBlendElement.idl 59489 SVGFEColorMatrixElement.idl 59490 SVGFEComponentTransferElement.idl 59491 SVGFECompositeElement.idl 59492 SVGFEDiffuseLightingElement.idl 59493 SVGFEDisplacementMapElement.idl 59494 SVGFEDistantLightElement.idl 59495 SVGFEFloodElement.idl 59496 SVGFEFuncAElement.idl 59497 SVGFEFuncBElement.idl 59498 SVGFEFuncGElement.idl 59499 SVGFEFuncRElement.idl 59500 SVGFEGaussianBlurElement.idl 59501 SVGFEImageElement.idl 59502 SVGFEMergeElement.idl 59503 SVGFEMergeNodeElement.idl 59504 SVGFEOffsetElement.idl 59505 SVGFEPointLightElement.idl 59506 SVGFESpecularLightingElement.idl 59507 SVGFESpotLightElement.idl 59508 SVGFETileElement.idl 59509 SVGFETurbulenceElement.idl 59510 SVGFilterElement.idl 59511 SVGFilterPrimitiveStandardAttributes.idl 59512 SVGFitToViewBox.idl 59513 SVGFontElement.idl 59514 SVGFontFaceElement.idl 59515 SVGFontFaceFormatElement.idl 59516 SVGFontFaceNameElement.idl 59517 SVGFontFaceSrcElement.idl 59518 SVGFontFaceUriElement.idl 59519 SVGForeignObjectElement.idl 59520 SVGGElement.idl 59521 SVGGlyphElement.idl 59522 SVGGradientElement.idl 59523 SVGImageElement.idl 59524 SVGLangSpace.idl 59525 SVGLength.idl 59526 SVGLengthList.idl 59527 SVGLineElement.idl 59528 SVGLinearGradientElement.idl 59529 SVGLocatable.idl 59530 SVGMarkerElement.idl 59531 SVGMaskElement.idl 59532 SVGMatrix.idl 59533 SVGMetadataElement.idl 59534 SVGMissingGlyphElement.idl 59535 SVGNumber.idl 59536 SVGNumberList.idl 59537 SVGPaint.idl 59538 SVGPathElement.idl 59539 SVGPathSeg.idl 59540 SVGPathSegArcAbs.idl 59541 SVGPathSegArcRel.idl 59542 SVGPathSegClosePath.idl 59543 SVGPathSegCurvetoCubicAbs.idl 59544 SVGPathSegCurvetoCubicRel.idl 59545 SVGPathSegCurvetoCubicSmoothAbs.idl 59546 SVGPathSegCurvetoCubicSmoothRel.idl 59547 SVGPathSegCurvetoQuadraticAbs.idl 59548 SVGPathSegCurvetoQuadraticRel.idl 59549 SVGPathSegCurvetoQuadraticSmoothAbs.idl 59550 SVGPathSegCurvetoQuadraticSmoothRel.idl 59551 SVGPathSegLinetoAbs.idl 59552 SVGPathSegLinetoHorizontalAbs.idl 59553 SVGPathSegLinetoHorizontalRel.idl 59554 SVGPathSegLinetoRel.idl 59555 SVGPathSegLinetoVerticalAbs.idl 59556 SVGPathSegLinetoVerticalRel.idl 59557 SVGPathSegList.idl 59558 SVGPathSegMovetoAbs.idl 59559 SVGPathSegMovetoRel.idl 59560 SVGPatternElement.idl 59561 SVGPoint.idl 59562 SVGPointList.idl 59563 SVGPolygonElement.idl 59564 SVGPolylineElement.idl 59565 SVGPreserveAspectRatio.idl 59566 SVGRadialGradientElement.idl 59567 SVGRect.idl 59568 SVGRectElement.idl 59569 SVGRenderingIntent.idl 59570 SVGSVGElement.idl 59571 SVGScriptElement.idl 59572 SVGSetElement.idl 59573 SVGStopElement.idl 59574 SVGStringList.idl 59575 SVGStylable.idl 59576 SVGStyleElement.idl 59577 SVGSwitchElement.idl 59578 SVGSymbolElement.idl 59579 SVGTRefElement.idl 59580 SVGTSpanElement.idl 59581 SVGTests.idl 59582 SVGTextContentElement.idl 59583 SVGTextElement.idl 59584 SVGTextPathElement.idl 59585 SVGTextPositioningElement.idl 59586 SVGTitleElement.idl 59587 SVGTransform.idl 59588 SVGTransformList.idl 59589 SVGTransformable.idl 59590 SVGURIReference.idl 59591 SVGUnitTypes.idl 59592 SVGUseElement.idl 59593 SVGViewElement.idl 59594 SVGViewSpec.idl 59595 SVGZoomAndPan.idl 59596 SVGZoomEvent.idl 59597 XMLHttpRequestException.idl 59598 XPathException.idl 59599 character-sets.txt 59600 mac-encodings.txt 59601 make-charset-table.pl 59602 svgattrs.in 59603 svgtags.in 59604 xlinkattrs.in 59605 59606 2008-01-08 Luca Bruno <lethalman88 (a] gmail.com> 59607 59608 Reviewed by Alp Toker. 59609 59610 Support copying the selected URL to the clipboard. 59611 59612 * platform/gtk/PasteboardGtk.cpp: 59613 (WebCore::Pasteboard::writeURL): implemented 59614 59615 2008-01-08 David D. Kilzer <ddkilzer (a] webkit.org> 59616 59617 Renamed CharacterData::m_str to m_data 59618 59619 Rubber-stamped by Adam again. 59620 59621 No test cases added since there is no change in behavior. 59622 59623 * dom/CDATASection.cpp: 59624 * dom/CharacterData.cpp: 59625 (WebCore::CharacterData::CharacterData): 59626 (WebCore::CharacterData::setData): 59627 (WebCore::CharacterData::substringData): 59628 (WebCore::CharacterData::appendData): 59629 (WebCore::CharacterData::insertData): 59630 (WebCore::CharacterData::deleteData): 59631 (WebCore::CharacterData::replaceData): 59632 (WebCore::CharacterData::nodeValue): 59633 (WebCore::CharacterData::containsOnlyWhitespace): 59634 (WebCore::CharacterData::dispatchModifiedEvent): 59635 (WebCore::CharacterData::checkCharDataOperation): 59636 (WebCore::CharacterData::dump): 59637 * dom/CharacterData.h: 59638 * dom/Comment.cpp: 59639 * dom/Text.cpp: 59640 (WebCore::Text::splitText): 59641 (WebCore::Text::createRenderer): 59642 (WebCore::Text::recalcStyle): 59643 59644 2008-01-08 Steve Falkenburg <sfalken (a] apple.com> 59645 59646 Fix a couple of compiler warnings. 59647 59648 Reviewed by Mitz. 59649 59650 * platform/win/ThreadingWin.cpp: 59651 * platform/win/UniscribeController.cpp: Remove unused function. 59652 (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable. 59653 59654 2008-01-08 Adele Peterson <adele (a] apple.com> 59655 59656 Reviewed by Darin. 59657 59658 Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257 59659 59660 * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler): 59661 After fixing a bug in EventHandler to make sure events always go to the capturing node, this bug was exposed. 59662 MouseMove and MouseUp events were going to the thumb element, but not to the slider input element. 59663 This change makes the input element the capturing node, and then the input element forwards the mouse events to the thumb element. 59664 I also added a missing call to setDefaultHandled for the mousemove event. 59665 59666 2008-01-08 Adele Peterson <adele (a] apple.com> 59667 59668 Reviewed by Adam. 59669 59670 * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to 59671 paint the media controls in RenderThemeSafari. 59672 59673 2008-01-08 Oliver Hunt <oliver (a] apple.com> 59674 59675 Reviewed by Adele and John. 59676 59677 Fix <rdar://problem/5652740> Crash occurs at WebCore::Widget::getView() after 59678 dragging file into window that contains web page ( http://www.econocraft.com/flood_arch.htm ) 59679 59680 We hit this crash if the page reloads between DragController::dragUpdated 59681 and DragController::performDrag, meaning that m_document starts pointing to 59682 a now viewless document. This is picked up by an assertion in performDrag 59683 which I have now replaced with an assignment given that the assertion is 59684 invalid -- it is possible for m_document to be changed between dragUpdated 59685 performDrag 59686 59687 * page/DragController.cpp: 59688 (WebCore::DragController::performDrag): 59689 59690 2008-01-08 Alexey Proskuryakov <ap (a] webkit.org> 59691 59692 Reviewed by Darin. 59693 59694 <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore: 59695 WebCore::Node::setChanged + 96 59696 59697 Test: fast/dom/cssTarget-crash.html 59698 59699 * dom/Node.cpp: (WebCore::Node::removedFromDocument): 59700 Check to see if the node being removed is currently set as the Document's cssTarget. 59701 If it is, clear the cssTarget to prevent a hanging reference to it. 59702 59703 2008-01-08 Adam Roben <aroben (a] apple.com> 59704 59705 * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will 59706 rebuild on Windows now that the media elements are enabled. 59707 59708 2008-01-08 Adam Roben <aroben (a] apple.com> 59709 59710 * svg/svgtags.in: Touch this again for the sake of the Windows bots. 59711 59712 2008-01-08 Timothy Hatcher <timothy (a] apple.com> 59713 59714 Reviewed by Adam Roben. 59715 59716 Use JSRetainPtr in the Web Inspector everywhere we own a JSStringRef. 59717 Also added some #pragma marks to help find places in the file. 59718 59719 * page/InspectorController.cpp: 59720 (WebCore::callSimpleFunction): Use JSRetainPtr<JSStringRef>. 59721 And return the result of JSObjectCallAsFunction. 59722 (WebCore::search): Use JSRetainPtr<JSStringRef>. 59723 (WebCore::databaseTableNames): Ditto. 59724 (WebCore::localizedStrings): Ditto. 59725 (WebCore::InspectorController::~InspectorController): Ditto. 59726 (WebCore::InspectorController::focusNode): Ditto. 59727 (WebCore::InspectorController::windowScriptObjectAvailable): Ditto. 59728 (WebCore::InspectorController::scriptObjectReady): Ditto. 59729 (WebCore::addHeaders): Ditto. 59730 (WebCore::InspectorController::addScriptResource): Ditto. 59731 (WebCore::InspectorController::removeScriptResource): Ditto. 59732 (WebCore::InspectorController::updateScriptResourceRequest): Ditto. 59733 (WebCore::InspectorController::updateScriptResourceResponse): Ditto. 59734 (WebCore::InspectorController::updateScriptResource): Ditto. 59735 (WebCore::InspectorController::addDatabaseScriptResource): Ditto. 59736 (WebCore::InspectorController::removeDatabaseScriptResource): Ditto. 59737 (WebCore::InspectorController::addScriptConsoleMessage): Ditto. 59738 59739 2008-01-08 Dan Bernstein <mitz (a] apple.com> 59740 59741 Rubber-stamped by Sam Weinig. 59742 59743 - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h} 59744 59745 * GNUmakefile.am: 59746 * WebCore.pro: 59747 * WebCore.vcproj/WebCore.vcproj: 59748 * WebCore.xcodeproj/project.pbxproj: 59749 * WebCoreSources.bkl: 59750 * editing/Editor.cpp: 59751 * platform/graphics/FontData.cpp: Copied from WebCore/platform/graphics/FontDataBaseClass.cpp. 59752 * platform/graphics/FontData.h: Copied from WebCore/platform/graphics/FontDataBaseClass.h. 59753 * platform/graphics/FontDataBaseClass.cpp: Removed. 59754 * platform/graphics/FontDataBaseClass.h: Removed. 59755 * platform/graphics/SegmentedFontData.h: 59756 * platform/graphics/SimpleFontData.h: 59757 59758 2008-01-08 Dan Bernstein <mitz (a] apple.com> 59759 59760 Fix a Wx build error. 59761 59762 * platform/graphics/wx/GlyphMapWx.cpp: 59763 (WebCore::GlyphPage::fill): 59764 59765 2008-01-08 Dan Bernstein <mitz (a] apple.com> 59766 59767 Fix a Qt build error. 59768 59769 * platform/graphics/qt/SimpleFontDataQt.cpp: 59770 (WebCore::SimpleFontData::containsCharacters): 59771 (WebCore::SimpleFontData::fontDataForCharacter): 59772 (WebCore::SimpleFontData::isSegmented): 59773 59774 2008-01-08 Adam Roben <aroben (a] apple.com> 59775 59776 Windows build fix. 59777 59778 Touch config.h to force a rebuild (apparently changing preprocessor 59779 definitions in the .vcproj doesn't force a rebuild). 59780 59781 * config.h: 59782 59783 2008-01-08 Dan Bernstein <mitz (a] apple.com> 59784 59785 Fix a Wx build failure. 59786 59787 * webcore-wx.bkl: 59788 59789 2008-01-08 Dan Bernstein <mitz (a] apple.com> 59790 59791 Fix a Qt build failure. 59792 59793 * WebCore.pro: 59794 59795 2008-01-08 John Sullivan <sullivan (a] apple.com> 59796 59797 Reviewed by Adam Roben 59798 59799 - fixed <rdar://problem/5671668> REGRESSION (r28711-r28730): With caret in an empty form field, 59800 Delete menu item is enabled but shouldn't be 59801 59802 The enabled logic was incorrect for the Delete menu item. To fix this, I added an EditorCommandSource 59803 parameter to the enabled functions so that they can have parallel logic to the execute functions. 59804 59805 * editing/EditorCommand.cpp: 59806 added EditorCommandSource parameter to isEnabled function prototype 59807 (WebCore::enabled): 59808 added unused EditorCommandSource parameter to these isEnabled functions: 59809 (WebCore::enabledAnySelection): 59810 (WebCore::enabledAnySelectionAndMark): 59811 (WebCore::enableCaretInEditableText): 59812 (WebCore::enabledCopy): 59813 (WebCore::enabledCut): 59814 59815 (WebCore::enabledDelete): 59816 new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut 59817 for menu source 59818 59819 added unused EditorCommandSource parameter to these isEnabled functions: 59820 (WebCore::enabledInEditableText): 59821 (WebCore::enabledInRichlyEditableText): 59822 (WebCore::enabledPaste): 59823 (WebCore::enabledRangeInEditableText): 59824 (WebCore::enabledRangeInRichlyEditableText): 59825 (WebCore::enabledRedo): 59826 (WebCore::enabledUndo): 59827 59828 (WebCore::CommandEntry::): 59829 wire up new enabledDelete function as delete function for Delete command 59830 59831 (WebCore::Editor::Command::isEnabled): 59832 pass EditorCommandSource parameter to isEnabled function 59833 59834 2008-01-08 Adam Roben <aroben (a] apple.com> 59835 59836 Visual C++ Express build fix 59837 59838 * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib 59839 and advapi32.lib. VS implicitly links against these, VC++ Express 59840 doesn't. 59841 59842 2008-01-08 Dan Bernstein <mitz (a] apple.com> 59843 59844 - add bug number 59845 59846 * platform/graphics/mac/FontCustomPlatformData.cpp: 59847 (WebCore::createFontCustomPlatformData): 59848 59849 2008-01-08 Dan Bernstein <mitz (a] apple.com> 59850 59851 Try to fix the Qt build. 59852 59853 * WebCore.pro: 59854 59855 2008-01-08 Nikolas Zimmermann <zimmermann (a] kde.org> 59856 59857 Not reviewed. Try to fix Qt builds after Timothy's inspector changes. 59858 59859 * page/inspector/WebKit.qrc: 59860 59861 2008-01-08 Maciej Stachowiak <mjs (a] apple.com> 59862 59863 Reviewed by Mark. 59864 59865 - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings) 59866 59867 * bindings/objc/PublicDOMInterfaces.h: 59868 * html/HTMLDocument.idl: 59869 59870 2008-01-08 David D. Kilzer <ddkilzer (a] webkit.org> 59871 59872 Renamed CharacterData::str to m_str to match coding style 59873 59874 Rubber-stamped by Adam. 59875 59876 No test cases added since there is no change in behavior. 59877 59878 * dom/CDATASection.cpp: 59879 * dom/CharacterData.cpp: 59880 (WebCore::CharacterData::CharacterData): 59881 (WebCore::CharacterData::setData): 59882 (WebCore::CharacterData::substringData): 59883 (WebCore::CharacterData::appendData): 59884 (WebCore::CharacterData::insertData): 59885 (WebCore::CharacterData::deleteData): 59886 (WebCore::CharacterData::replaceData): 59887 (WebCore::CharacterData::nodeValue): 59888 (WebCore::CharacterData::containsOnlyWhitespace): 59889 (WebCore::CharacterData::dispatchModifiedEvent): 59890 (WebCore::CharacterData::checkCharDataOperation): 59891 (WebCore::CharacterData::dump): 59892 * dom/CharacterData.h: 59893 * dom/Comment.cpp: 59894 * dom/Text.cpp: 59895 (WebCore::Text::splitText): 59896 (WebCore::Text::createRenderer): 59897 (WebCore::Text::recalcStyle): 59898 59899 2008-01-08 Oliver Hunt <oliver (a] apple.com> 59900 59901 Set the ENABLE_SVG_FONTS flag in Windows build, now builds, 59902 I'm not sure if it just caused the right files to regenerate, 59903 or if there's some configuration weirdness in the non-SVG-fonts 59904 build. 59905 59906 * WebCore.vcproj/WebCore.vcproj: 59907 59908 2008-01-07 Maciej Stachowiak <mjs (a] apple.com> 59909 59910 Reviewed by Brady. 59911 59912 - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases 59913 59914 Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now) 59915 59916 * dom/Document.cpp: 59917 (WebCore::Document::Document): 59918 * dom/Document.h: 59919 (WebCore::Document::setHasOpenDatabases): 59920 (WebCore::Document::hasOpenDatabases): 59921 * loader/FrameLoader.cpp: 59922 (WebCore::FrameLoader::canCachePage): 59923 * storage/Database.cpp: 59924 (WebCore::Database::openDatabase): 59925 59926 2008-01-07 Dan Bernstein <mitz (a] apple.com> 59927 59928 Reviewed by Oliver Hunt. 59929 59930 - fix leaks seen on the build bot 59931 59932 * css/CSSFontSelector.cpp: 59933 (WebCore::CSSFontSelector::addFontFaceRule): Avoid creating a 59934 CSSFontFaceSource for SVG font-face elements going into an 59935 SVGCSSFontFace because it just leaks them. Avoid adding SVG font- 59936 face elements to a CSSFontFace because it will not work as expected. 59937 59938 2008-01-07 Mark Rowe <mrowe (a] apple.com> 59939 59940 Tiger build fix. 59941 59942 * platform/graphics/mac/FontCustomPlatformData.cpp: 59943 (WebCore::createFontCustomPlatformData): Only include this code on Leopard. 59944 It's not needed on Tiger, and breaks the build. 59945 59946 2008-01-07 Antti Koivisto <antti (a] apple.com> 59947 59948 Reviewed by Steve. 59949 59950 Re-enable media support in Windows build. 59951 59952 * WebCore.vcproj/QTMovieWin.vcproj: 59953 * WebCore.vcproj/WebCore.vcproj: 59954 * WebCore.vcproj/build-generated-files.sh: 59955 59956 2008-01-07 Steve Falkenburg <sfalken (a] apple.com> 59957 59958 Add version resource to QTMovieWin.dll 59959 59960 Reviewed by Adam. 59961 59962 * WebCore.vcproj/PRODUCTVERSION: Copied from ../WebKit/win/WebKit.vcproj/PRODUCTVERSION. 59963 * WebCore.vcproj/QTMovieWin.rc: Added. 59964 * WebCore.vcproj/QTMovieWin.vcproj: 59965 * WebCore.vcproj/VERSION: Copied from ../WebKit/win/WebKit.vcproj/VERSION. 59966 * WebCore.vcproj/auto-version.sh: Copied from ../WebKit/win/WebKit.vcproj/auto-version.sh. 59967 59968 2008-01-07 Dan Bernstein <mitz (a] apple.com> 59969 59970 Build fix. 59971 59972 * platform/graphics/qt/FontCustomPlatformData.cpp: 59973 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added. 59974 Calls QFontDatabase::removeApplicationFont(). 59975 * platform/graphics/qt/FontCustomPlatformData.h: 59976 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: 59977 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): Removed the 59978 implementation because Qt does not use the WebCore glyph cache. 59979 59980 2008-01-07 Dan Bernstein <mitz (a] apple.com> 59981 59982 Reviewed by Oliver Hunt. 59983 59984 - fix an assertion failure in svg/W3C-SVG-1.1/fonts-elem-03-b.svg on 59985 Tiger and multiple SVG layout test failures on Leopard. 59986 59987 * css/CSSSegmentedFontFace.cpp: 59988 (WebCore::CSSSegmentedFontFace::getFontData): Avoid returning an 59989 empty SegmentedFontData. 59990 * platform/graphics/mac/FontCustomPlatformData.cpp: 59991 (WebCore::createFontCustomPlatformData): Avoid creating a font that 59992 contains no glyphs. On Leopard, ATS might create such a font given 59993 data in an unsupported format (such as SVG). 59994 59995 2008-01-07 Steve Falkenburg <sfalken (a] apple.com> 59996 59997 Build fix. 59998 59999 * WebCore.vcproj/WebCore.sln: 60000 * WebCore.vcproj/WebCore.submit.sln: 60001 60002 2008-01-07 Oliver Hunt <oliver (a] apple.com> 60003 60004 Reviewed by Niko. 60005 60006 Fix painting of SVG <image> when the image must be scaled to retain aspect ratio 60007 60008 Test: svg/custom/image-with-aspect-ratio-stretch.svg 60009 60010 * rendering/RenderSVGImage.cpp: 60011 (WebCore::RenderSVGImage::adjustRectsForAspectRatio): 60012 60013 2008-01-07 Dan Bernstein <mitz (a] apple.com> 60014 60015 Build fix. 60016 60017 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: 60018 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): 60019 60020 2008-01-07 Adele Peterson <adele (a] apple.com> 60021 60022 Add missing newline. 60023 60024 * rendering/MediaControlElements.cpp: 60025 60026 2008-01-07 Jon Honeycutt <jhoneycutt (a] apple.com> 60027 60028 Reviewed by Hyatt. 60029 60030 <rdar://problem/5673489> Safari does not render windowless plugins in an 60031 iframe when opacity < 1.0 60032 60033 Plugins in transparency layers handle their own world transforms, so 60034 only apply the horizontal/vertical transform if we are not in a 60035 transparency layer. 60036 60037 * platform/graphics/GraphicsContext.h: Add a Windows-platform-only 60038 inTransparencyLayer() function 60039 * platform/win/GraphicsContextWin.cpp: 60040 (WebCore::GraphicsContext::getWindowsContext): Use inTransparencyLayer() 60041 (WebCore::GraphicsContext::inTransparencyLayer): 60042 (WebCore::GraphicsContext::releaseWindowsContext): Use 60043 inTransparencyLayer() 60044 * plugins/win/PluginViewWin.cpp: 60045 (WebCore::PluginViewWin::paint): When retrieving the HDC, use the rect 60046 relative to the window. Pass m_isTransparent to 60047 get/releaseWindowsContext(). Only set the world transform if we are not 60048 in a transparency layer. 60049 60050 2008-01-07 Adele Peterson <adele (a] apple.com> 60051 60052 Build fix. Need to wrap these classes in #if ENABLE(VIDEO) 60053 60054 * rendering/MediaControlElements.cpp: 60055 * rendering/MediaControlElements.h: 60056 60057 2008-01-07 Nikolas Zimmermann <zimmermann (a] kde.org> 60058 60059 Reviewed by Mark. 60060 60061 Enable SVG_FONTS by default. 60062 60063 * Configurations/WebCore.xcconfig: 60064 * WebCore.vcproj/build-generated-files.sh: 60065 60066 2008-01-07 Dan Bernstein <mitz (a] apple.com> 60067 60068 Build fix. 60069 60070 * platform/graphics/qt/SimpleFontDataQt.cpp: 60071 (WebCore::SimpleFontData::SimpleFontData): 60072 (WebCore::SimpleFontData::~SimpleFontData): 60073 60074 2008-01-07 Adam Barth <hk9565 (a] gmail.com> 60075 60076 Reviewed by Sam Weinig 60077 60078 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523 60079 <rdar://problem/5657447> 60080 60081 When a frame is created with the URL "about:blank" or "", it should 60082 inherit its SecurityOrigin from its opener. However, once it has 60083 decided on that SecurityOrigin, it should not change its mind. 60084 Prior to this patch, several events could induce the frame to change 60085 its SecurityOrigin, permitting an attacker to inject script into an 60086 arbitrary SecurityOrigin. 60087 60088 This patch makes several changes: 60089 60090 1) Documents refuse to change from one SecurityOrigin to another 60091 unless explicitly instructed to do so. 60092 60093 2) Navigating to a JavaScript URL that produces a value 60094 preserves the current SecurityOrigin explicitly instead of 60095 relying on the URL to preserve the origin (which fails for 60096 about:blank URLs and SecurityOrigins with document.domain set). 60097 60098 Ideally, we should not preserve the URL at all. Instead, the 60099 frame's URL should be the JavaScript URL, as in Firefox, but this 60100 would require changes that are too risky for this patch. I'll 60101 file this as a separate issue. 60102 60103 3) Various methods of navigating to JavaScript URLs were not 60104 properly handling JavaScript that returned a value (and should 60105 therefore replace the current document). This patch unifies 60106 those code paths with the path that works. 60107 60108 There are still a handful of bugs relating to the handling of 60109 JavaScript URLs, but I'll file those as separate issues. 60110 60111 Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html 60112 http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html 60113 http/tests/security/aboutBlank/xss-DENIED-set-opener.html 60114 60115 * dom/Document.cpp: 60116 (WebCore::Document::initSecurityOrigin): 60117 * dom/Document.h: 60118 (WebCore::Document::setSecurityOrigin): 60119 * loader/FrameLoader.cpp: 60120 (WebCore::FrameLoader::changeLocation): 60121 (WebCore::FrameLoader::urlSelected): 60122 (WebCore::FrameLoader::requestFrame): 60123 (WebCore::FrameLoader::submitForm): 60124 (WebCore::FrameLoader::executeIfJavaScriptURL): 60125 (WebCore::FrameLoader::begin): 60126 * loader/FrameLoader.h: 60127 * platform/SecurityOrigin.cpp: 60128 (WebCore::SecurityOrigin::setForURL): 60129 (WebCore::SecurityOrigin::createForFrame): 60130 * platform/SecurityOrigin.h: 60131 60132 2008-01-07 Adele Peterson <adele (a] apple.com> 60133 60134 Forgot to check in these changes in my last checkin. 60135 60136 * rendering/RenderThemeSafari.cpp: 60137 60138 2008-01-07 Dan Bernstein <mitz (a] apple.com> 60139 60140 Build fixes. 60141 60142 * WebCore.pro: 60143 * platform/graphics/qt/FontCacheQt.cpp: 60144 (WebCore::FontCache::getCachedFontData): 60145 60146 2008-01-07 Timothy Hatcher <timothy (a] apple.com> 60147 60148 Reviewed by John Sullivan. 60149 60150 <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked 60151 60152 * page/inspector/inspector.css: Changed CSS rules to have the toolbar and buttons be 60153 normal height when not docked, and small when docked. Also added some cursor properties 60154 prevent showing the text cursor over areas that are not selectable. 60155 * page/inspector/Images: A few images added and old ones removed or renamed. 60156 60157 2008-01-07 Alp Toker <alp (a] atoker.com> 60158 60159 Prospective GTK+ autotools/qmake VIDEO build fix for breakage 60160 introduced in r29257. 60161 60162 * GNUmakefile.am: 60163 * WebCore.pro: 60164 60165 2008-01-07 Nikolas Zimmermann <zimmermann (a] kde.org> 60166 60167 Reviewed by Oliver. 60168 60169 Build fix affecting all builds - again related to the unicode-range addition. 60170 60171 * css/CSSFontSelector.cpp: 60172 (WebCore::CSSFontSelector::addFontFaceRule): 60173 * css/SVGCSSFontFace.cpp: 60174 (WebCore::SVGCSSFontFace::SVGCSSFontFace): 60175 * css/SVGCSSFontFace.h: 60176 * rendering/RenderSVGText.cpp: 60177 * svg/SVGFont.cpp: 60178 (WebCore::svgFontAndFontFaceElementForFontData): 60179 (WebCore::floatWidthMissingGlyphCallback): 60180 (WebCore::drawTextMissingGlyphCallback): 60181 * svg/SVGFontFaceElement.cpp: 60182 60183 2008-01-07 Adele Peterson <adele (a] apple.com> 60184 60185 Reviewed by Antti, Adam, and Mitz. 60186 60187 WebCore part of fix for 60188 <rdar://problem/5619073> Updated look for <video> controls 60189 <rdar://problem/5619057> Add volume control to video controls 60190 60191 * WebCore.base.exp: Added symbols for WebKitSystemInterface drawing methods. 60192 * WebCore.xcodeproj/project.pbxproj: Added MediaControlElements.h/cpp 60193 * WebCore.vcproj/WebCore.vcproj: ditto. 60194 60195 * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added cases for new appearances. 60196 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added cases for new types. 60197 * css/CSSSelector.h: (WebCore::CSSSelector::): Added new pseudo elements. 60198 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): ditto. 60199 * css/CSSValueKeywords.in: Added keywords for new control appearance styles. 60200 * css/html4.css: Added new styles for new controls. 60201 60202 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account. 60203 * html/HTMLMediaElement.h: 60204 60205 * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one. 60206 60207 * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls. 60208 * platform/mac/WebCoreSystemInterface.mm: ditto. 60209 60210 * rendering/MediaControlElements.cpp: Added. 60211 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Moved from RenderMedia. Made this relatively positioned, instead of absolute. 60212 (WebCore::MediaControlInputElement::MediaControlInputElement): Moved from RenderMedia. Removed call to updateFromElement, 60213 since its too early to do this here, and causes crashes for the slider. 60214 (WebCore::MediaControlInputElement::attachToParent): Moved from RenderMedia. 60215 (WebCore::MediaControlInputElement::update): ditto. 60216 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Added. 60217 (WebCore::MediaControlMuteButtonElement::defaultEventHandler): ditto. 60218 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Moved from RenderMedia. 60219 (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto. 60220 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Added. 60221 (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto. 60222 (WebCore::MediaControlSeekButtonElement::seekTimerFired): ditto. 60223 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Moved from RenderMedia. 60224 (WebCore::MediaControlTimelineElement::defaultEventHandler): ditto. 60225 (WebCore::MediaControlTimelineElement::update): ditto. 60226 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Added. 60227 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto. 60228 * rendering/MediaControlElements.h: Added. Moved from RenderMedia. 60229 (WebCore::MediaControlShadowRootElement::isShadowNode): 60230 (WebCore::MediaControlShadowRootElement::shadowParentNode): 60231 (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot): 60232 (WebCore::RenderMediaControlShadowRoot::setParent): 60233 60234 * rendering/RenderMedia.cpp: Moved control element classes to MediaControlElements files. 60235 (WebCore::RenderMedia::RenderMedia): No need to initialize RefPtrs. 60236 (WebCore::RenderMedia::layout): Set the position for the controlsRenderer. 60237 (WebCore::RenderMedia::createPanel): Added nil check for the renderer. 60238 (WebCore::RenderMedia::createMuteButton): Added. 60239 (WebCore::RenderMedia::createSeekBackButton): ditto. 60240 (WebCore::RenderMedia::createSeekForwardButton): ditto. 60241 (WebCore::RenderMedia::createTimeDisplay): Added nil check for the renderer. 60242 (WebCore::RenderMedia::createFullscreenButton): Added. 60243 (WebCore::RenderMedia::updateControls): Create, delete, and update new controls when appropriate. 60244 (WebCore::RenderMedia::updateControlVisibility): Don't fade controls for audio controls. 60245 (WebCore::RenderMedia::forwardEvent): Forward events for new controls. 60246 * rendering/RenderMedia.h: Added new methods for creating new controls. 60247 60248 * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Updated special case for media elements, which are replaced elements, 60249 but also can contain children (the controls' container) that may need to look for the containing block. 60250 60251 * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance. 60252 60253 * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls. 60254 (WebCore::RenderStyle::): 60255 60256 * rendering/RenderTheme.cpp: 60257 (WebCore::RenderTheme::adjustStyle): Added cases for new appearances. 60258 (WebCore::RenderTheme::paint): ditto. 60259 * rendering/RenderTheme.h: Added new methods for painting new appearances. 60260 (WebCore::RenderTheme::paintMediaBackground): 60261 (WebCore::RenderTheme::paintMediaFullscreenButton): 60262 (WebCore::RenderTheme::paintMediaPlayButton): 60263 (WebCore::RenderTheme::paintMediaMuteButton): 60264 (WebCore::RenderTheme::paintMediaSeekBackButton): 60265 (WebCore::RenderTheme::paintMediaSeekForwardButton): 60266 (WebCore::RenderTheme::paintMediaSliderThumb): 60267 * rendering/RenderThemeMac.h: 60268 * rendering/RenderThemeMac.mm: 60269 (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_mediaControlBackgroundImage. 60270 (WebCore::RenderThemeMac::~RenderThemeMac): Delete m_mediaControlBackgroundImage. 60271 (WebCore::RenderThemeMac::paintCapsLockIndicator): Use LocalCurrentGraphicsContext here too, since we use it in all other painting methods. 60272 (WebCore::RenderThemeMac::paintSliderTrack): Added case for MediaSliderAppearance. 60273 (WebCore::RenderThemeMac::adjustSliderThumbSize): Added case for MediaSliderThumbAppearance. 60274 (WebCore::RenderThemeMac::paintMediaBackground): Draws the new artwork for the controls. 60275 (WebCore::RenderThemeMac::paintMediaFullscreenButton): ditto. 60276 (WebCore::RenderThemeMac::paintMediaMuteButton): ditto. 60277 (WebCore::RenderThemeMac::paintMediaPlayButton): ditto. 60278 (WebCore::RenderThemeMac::paintMediaSeekBackButton): ditto. 60279 (WebCore::RenderThemeMac::paintMediaSeekForwardButton): ditto. 60280 (WebCore::RenderThemeMac::paintMediaSliderThumb): ditto. 60281 * rendering/RenderThemeSafari.cpp: Draws the new artwork on Windows. 60282 (WebCore::RenderThemeSafari::paintSliderTrack): 60283 (WebCore::RenderThemeSafari::adjustSliderThumbSize): 60284 (WebCore::RenderThemeSafari::paintMediaBackground): 60285 (WebCore::RenderThemeSafari::paintMediaFullscreenButton): 60286 (WebCore::RenderThemeSafari::paintMediaMuteButton): 60287 (WebCore::RenderThemeSafari::paintMediaPlayButton): 60288 (WebCore::RenderThemeSafari::paintMediaSeekBackButton): 60289 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): 60290 (WebCore::RenderThemeSafari::paintMediaSliderThumb): 60291 * rendering/RenderThemeSafari.h: 60292 60293 2008-01-07 Timothy Hatcher <timothy (a] apple.com> 60294 60295 Reviewed by Darin Adler. 60296 60297 Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size()) 60298 when the replacment string is a different length. 60299 60300 * platform/text/StringImpl.cpp: 60301 (WebCore::StringImpl::replace): Move the parenthesis to be around only the subtraction in 60302 the Vector size calculation, correcting the order of math operations. 60303 60304 2008-01-07 Nikolas Zimmermann <zimmermann (a] kde.org> 60305 60306 Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there. 60307 60308 * platform/graphics/mac/FontCacheMac.mm: 60309 60310 2008-01-07 Nikolas Zimmermann <zimmermann (a] kde.org> 60311 60312 Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default. 60313 60314 * css/CSSFontSelector.cpp: 60315 (WebCore::CSSFontSelector::getFontData): 60316 60317 2008-01-07 Nikolas Zimmermann <zimmermann (a] kde.org> 60318 60319 Not reviewed. Next try to fix wx/mac leopard build. 60320 60321 * css/CSSFontSelector.cpp: Need to wrap a SVG* include in ENABLE(SVG) blocks, as this port doesn't build this generated file. 60322 * svg/SVGFontFaceElement.cpp: 60323 (WebCore::SVGFontFaceElement::createFontData): Fix double<->float conversion issue. 60324 * webcore-base.bkl: Undo svg/ include. 60325 60326 2008-01-07 Dan Bernstein <mitz (a] apple.com> 60327 60328 Reviewed by Dave Hyatt. 60329 60330 - <rdar://problem/5665216> Support the unicode-range property in @font-face rules 60331 60332 * GNUmakefile.am: 60333 * WebCore.pro: 60334 * WebCore.vcproj/WebCore.vcproj: 60335 * WebCore.xcodeproj/project.pbxproj: 60336 * WebCoreSources.bkl: 60337 * bindings/objc/DOM.mm: 60338 * bridge/mac/WebCoreAXObject.mm: 60339 * css/CSSComputedStyleDeclaration.cpp: 60340 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 60341 * css/CSSFontFace.cpp: 60342 (WebCore::CSSFontFace::fontLoaded): Changed to call the owning segmented 60343 font face. 60344 (WebCore::CSSFontFace::getFontData): 60345 * css/CSSFontFace.h: 60346 (WebCore::CSSFontFace::CSSFontFace): 60347 (WebCore::CSSFontFace::setSegmentedFontFace): 60348 * css/CSSFontFaceSource.cpp: 60349 (WebCore::CSSFontFaceSource::pruneTable): Removed the calls to 60350 GlyphPageTreeNode::pruneTreeCustomFontData because the fonts in the 60351 font table are not exposed in the glyph page tree. Only the segmented 60352 font is, and that is taken care of by the segmented font face. 60353 (WebCore::CSSFontFaceSource::getFontData): 60354 * css/CSSFontFaceSource.h: 60355 * css/CSSFontSelector.cpp: 60356 (WebCore::CSSFontSelector::addFontFaceRule): Changed to collect 60357 @font-face rules with the same family and traits into a single 60358 segmented font face, instead of just retaining the most recent one. 60359 (WebCore::CSSFontSelector::fontLoaded): 60360 (WebCore::CSSFontSelector::getFontData): 60361 * css/CSSFontSelector.h: 60362 * css/CSSGrammar.y: 60363 * css/CSSParser.cpp: 60364 (WebCore::CSSParser::parseValue): 60365 (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode 60366 range value. 60367 * css/CSSParser.h: 60368 * css/CSSPrimitiveValue.h: 60369 (WebCore::CSSPrimitiveValue::): 60370 * css/CSSPropertyNames.in: 60371 * css/CSSSegmentedFontFace.cpp: Added. 60372 (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace): 60373 (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace): 60374 (WebCore::CSSSegmentedFontFace::pruneTable): 60375 (WebCore::CSSSegmentedFontFace::isLoaded): 60376 (WebCore::CSSSegmentedFontFace::isValid): 60377 (WebCore::CSSSegmentedFontFace::fontLoaded): 60378 (WebCore::CSSSegmentedFontFace::overlayRange): 60379 (WebCore::CSSSegmentedFontFace::getFontData): 60380 * css/CSSSegmentedFontFace.h: Added. 60381 (WebCore::FontFaceRange::FontFaceRange): 60382 (WebCore::FontFaceRange::from): 60383 (WebCore::FontFaceRange::to): 60384 (WebCore::FontFaceRange::fontFace): 60385 (WebCore::CSSSegmentedFontFace::fontSelector): 60386 * css/CSSStyleSelector.cpp: 60387 (WebCore::CSSStyleSelector::applyProperty): 60388 * css/CSSUnicodeRangeValue.cpp: Added. 60389 (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue): 60390 (WebCore::CSSUnicodeRangeValue::cssText): 60391 * css/CSSUnicodeRangeValue.h: Added. 60392 (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue): 60393 (WebCore::CSSUnicodeRangeValue::from): 60394 (WebCore::CSSUnicodeRangeValue::to): 60395 * css/SVGCSSFontFace.cpp: 60396 (WebCore::SVGCSSFontFace::getFontData): 60397 * css/SVGCSSFontFace.h: 60398 * editing/Editor.cpp: 60399 (WebCore::Editor::fontForSelection): 60400 * editing/Editor.h: 60401 * page/mac/FrameMac.mm: 60402 * page/mac/WebCoreFrameBridge.mm: 60403 (-[WebCoreFrameBridge fontForSelection:]): 60404 * platform/graphics/Font.cpp: 60405 (WebCore::WidthIterator::advance): 60406 (WebCore::Font::glyphDataForCharacter): 60407 (WebCore::Font::primaryFont): Changed to return the simple font data 60408 used for the space character. 60409 (WebCore::Font::fontDataAt): 60410 (WebCore::Font::fontDataForCharacters): 60411 (WebCore::Font::drawGlyphBuffer): 60412 * platform/graphics/Font.h: 60413 * platform/graphics/FontCache.cpp: 60414 (WebCore::FontCache::getCachedFontData): 60415 (WebCore::FontCache::getFontData): 60416 * platform/graphics/FontCache.h: 60417 * platform/graphics/FontData.cpp: Renamed to SimpleFontData.cpp 60418 * platform/graphics/FontData.h: Renamed to SimpleFontData.cpp. 60419 * platform/graphics/FontDataBaseClass.cpp: Added. This will be renamed 60420 FontData.cpp. 60421 (WebCore::FontData::~FontData): 60422 * platform/graphics/FontDataBaseClass.h: Added. This will be renamed 60423 FontData.h. 60424 * platform/graphics/FontFallbackList.cpp: 60425 (WebCore::FontFallbackList::determinePitch): 60426 (WebCore::FontFallbackList::fontDataAt): 60427 (WebCore::FontFallbackList::fontDataForCharacters): 60428 * platform/graphics/FontFallbackList.h: 60429 (WebCore::FontFallbackList::primaryFont): 60430 * platform/graphics/FontSelector.h: 60431 * platform/graphics/GlyphBuffer.h: 60432 (WebCore::GlyphBuffer::fontDataAt): 60433 (WebCore::GlyphBuffer::swap): 60434 (WebCore::GlyphBuffer::add): 60435 * platform/graphics/GlyphPageTreeNode.cpp: 60436 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): 60437 (WebCore::GlyphPageTreeNode::initializePage): Added code to initialize 60438 pages for segmented font data. 60439 (WebCore::GlyphPageTreeNode::getChild): 60440 (WebCore::GlyphPageTreeNode::pruneCustomFontData): 60441 * platform/graphics/GlyphPageTreeNode.h: 60442 (WebCore::GlyphPage::setGlyphDataForCharacter): 60443 (WebCore::GlyphPage::setGlyphDataForIndex): 60444 (WebCore::GlyphPageTreeNode::getRootChild): 60445 * platform/graphics/SegmentedFontData.cpp: Added. 60446 (WebCore::SegmentedFontData::~SegmentedFontData): 60447 (WebCore::SegmentedFontData::fontDataForCharacter): 60448 (WebCore::SegmentedFontData::containsCharacters): 60449 (WebCore::SegmentedFontData::isCustomFont): 60450 (WebCore::SegmentedFontData::isLoading): 60451 (WebCore::SegmentedFontData::isSegmented): 60452 * platform/graphics/SegmentedFontData.h: Added. 60453 (WebCore::FontDataRange::FontDataRange): 60454 (WebCore::FontDataRange::from): 60455 (WebCore::FontDataRange::to): 60456 (WebCore::FontDataRange::fontData): 60457 (WebCore::SegmentedFontData::appendRange): 60458 (WebCore::SegmentedFontData::numRanges): 60459 (WebCore::SegmentedFontData::rangeAt): 60460 * platform/graphics/SimpleFontData.cpp: Copied from WebCore/platform/graphics/FontData.cpp. 60461 (WebCore::SimpleFontData::SimpleFontData): 60462 (WebCore::SimpleFontData::~SimpleFontData): 60463 (WebCore::SimpleFontData::ascent): 60464 (WebCore::SimpleFontData::descent): 60465 (WebCore::SimpleFontData::widthForGlyph): 60466 (WebCore::SimpleFontData::fontDataForCharacter): 60467 (WebCore::SimpleFontData::isSegmented): 60468 * platform/graphics/SimpleFontData.h: Copied from WebCore/platform/graphics/FontData.h. 60469 (WebCore::SimpleFontData::isCustomFont): 60470 (WebCore::SimpleFontData::isLoading): 60471 * platform/graphics/cairo/GraphicsContextCairo.cpp: 60472 (WebCore::GraphicsContext::setPlatformFont): 60473 * platform/graphics/gtk/FontCacheGtk.cpp: 60474 (WebCore::FontCache::getFontDataForCharacters): 60475 * platform/graphics/gtk/FontDataGtk.cpp: Renamed to 60476 SimpleFontDataGtk.cpp. 60477 * platform/graphics/gtk/FontGtk.cpp: 60478 (WebCore::Font::drawGlyphs): 60479 * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: 60480 (WebCore::GlyphPage::fill): 60481 * platform/graphics/gtk/SimpleFontDataGtk.cpp: Copied from WebCore/platform/graphics/gtk/FontDataGtk.cpp. 60482 (WebCore::SimpleFontData::platformInit): 60483 (WebCore::SimpleFontData::platformDestroy): 60484 (WebCore::SimpleFontData::smallCapsFontData): 60485 (WebCore::SimpleFontData::containsCharacters): 60486 (WebCore::SimpleFontData::determinePitch): 60487 (WebCore::SimpleFontData::platformWidthForGlyph): 60488 (WebCore::SimpleFontData::setFont): 60489 * platform/graphics/mac/FontCacheMac.mm: 60490 (WebCore::FontCache::getFontDataForCharacters): 60491 * platform/graphics/mac/FontDataMac.mm: Renamed to SimpleFontDataMac.mm. 60492 * platform/graphics/mac/FontMac.mm: 60493 (WebCore::initializeATSUStyle): 60494 (WebCore::overrideLayoutOperation): 60495 (WebCore::ATSULayoutParameters::initialize): 60496 (WebCore::Font::drawGlyphs): 60497 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: 60498 (WebCore::GlyphPage::fill): 60499 * platform/graphics/mac/SimpleFontDataMac.mm: Copied from WebCore/platform/graphics/mac/FontDataMac.mm. 60500 (WebCore::initFontData): 60501 (WebCore::SimpleFontData::platformInit): 60502 (WebCore::SimpleFontData::platformDestroy): 60503 (WebCore::SimpleFontData::smallCapsFontData): 60504 (WebCore::SimpleFontData::containsCharacters): 60505 (WebCore::SimpleFontData::determinePitch): 60506 (WebCore::SimpleFontData::platformWidthForGlyph): 60507 (WebCore::SimpleFontData::checkShapesArabic): 60508 * platform/graphics/qt/FontDataQt.cpp: Renamed to SimpleFontDataQt.cpp. 60509 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: 60510 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): 60511 * platform/graphics/qt/SimpleFontDataQt.cpp: Copied from WebCore/platform/graphics/qt/FontDataQt.cpp. 60512 * platform/graphics/win/FontCacheWin.cpp: 60513 (WebCore::FontCache::getFontDataForCharacters): 60514 * platform/graphics/win/FontDataWin.cpp: Renamed to 60515 SimpleFontDataWin.cpp. 60516 * platform/graphics/win/FontWin.cpp: 60517 (WebCore::Font::drawGlyphs): 60518 * platform/graphics/win/GlyphPageTreeNodeWin.cpp: 60519 (WebCore::GlyphPage::fill): 60520 * platform/graphics/win/SimpleFontDataWin.cpp: Copied from WebCore/platform/graphics/win/FontDataWin.cpp. 60521 (WebCore::SimpleFontData::setShouldApplyMacAscentHack): 60522 (WebCore::SimpleFontData::platformInit): 60523 (WebCore::SimpleFontData::platformDestroy): 60524 (WebCore::SimpleFontData::smallCapsFontData): 60525 (WebCore::SimpleFontData::containsCharacters): 60526 (WebCore::SimpleFontData::determinePitch): 60527 (WebCore::SimpleFontData::platformWidthForGlyph): 60528 (WebCore::SimpleFontData::scriptFontProperties): 60529 * platform/graphics/wx/FontCacheWx.cpp: 60530 (WebCore::FontCache::getFontDataForCharacters): 60531 * platform/graphics/wx/FontDataWx.cpp: Renamed to SimpleFontDataWx.cpp. 60532 * platform/graphics/wx/FontWx.cpp: 60533 (WebCore::Font::drawGlyphs): 60534 * platform/graphics/wx/GlyphMapWx.cpp: 60535 (WebCore::GlyphPage::fill): 60536 * platform/graphics/wx/SimpleFontDataWx.cpp: Copied from WebCore/platform/graphics/wx/FontDataWx.cpp. 60537 (WebCore::SimpleFontData::platformInit): 60538 (WebCore::SimpleFontData::platformDestroy): 60539 (WebCore::SimpleFontData::smallCapsFontData): 60540 (WebCore::SimpleFontData::containsCharacters): 60541 (WebCore::SimpleFontData::determinePitch): 60542 (WebCore::SimpleFontData::platformWidthForGlyph): 60543 * platform/mac/FileChooserMac.mm: 60544 * platform/mac/PopupMenuMac.mm: 60545 * platform/mac/WebCoreTextRenderer.mm: 60546 * platform/win/PopupMenuWin.cpp: 60547 * platform/win/UniscribeController.cpp: 60548 (WebCore::UniscribeController::advance): 60549 (WebCore::UniscribeController::itemizeShapeAndPlace): 60550 (WebCore::UniscribeController::shapeAndPlaceItem): 60551 (WebCore::UniscribeController::shape): 60552 * platform/win/UniscribeController.h: 60553 * svg/SVGFont.cpp: 60554 (WebCore::Font::drawGlyphsWithSVGFont): 60555 * svg/SVGFontElement.cpp: 60556 (WebCore::SVGFontElement::collectGlyphs): 60557 * svg/SVGFontFaceElement.cpp: 60558 (WebCore::SVGFontFaceElement::createFontData): 60559 * svg/SVGFontFaceElement.h: 60560 * svg/SVGGlyphElement.cpp: 60561 60562 2008-01-07 Nikolas Zimmermann <zimmermann (a] kde.org> 60563 60564 Not reviewed. Try to fix mac build by forcing SVGNames regeneration. 60565 60566 * svg/svgtags.in: 60567 60568 2008-01-07 Nikolas Zimmermann <zimmermann (a] kde.org> 60569 60570 Not reviewed. Proposed build fix for wx. 60571 60572 * webcore-base.bkl: 60573 60574 2008-01-07 Dan Bernstein <mitz (a] apple.com> 60575 60576 64-bit build fix 60577 60578 * platform/graphics/mac/FontCustomPlatformData.cpp: 60579 (WebCore::FontCustomPlatformData::fontPlatformData): Have to use a 60580 cast here since FMGetFontFromATSFontRef() is not available on 64-bit. 60581 60582 2008-01-06 Nikolas Zimmermann <zimmermann (a] kde.org> 60583 60584 Reviewed by Oliver. Parts reviewed by Eric, David Hyatt & Dan & Alexey. 60585 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15741 (REGRESSION: svg/W3C-SVG-1.1/fonts-elem-03-b.svg shows worse behavior on TOT) 60586 60587 Display SVG Fonts, fill svg/SVGFont.cpp with life by adding all needed code to 60588 measure & render glyphs contained in SVG Fonts, including ligature lookup support. 60589 60590 Implement floatWidth/selectionRectForText for SVG Fonts, fixing text selection. 60591 60592 Support horiz-origin-x/y, horiz-adv-x, vert-adv-y, vert-origin-x/y & arabic-form. 60593 Implement simple algorithm to determine the arabic forms for a string (initial, isolated, medial, terminal). 60594 60595 Removed drawGlyphsWithSVGFont - create a new function drawTextWithSVGFont instead. 60596 This doesn't involve creating/using a 'GlyphBuffer' object anymore, which is not 60597 required for SVG Fonts anyway (we already know all our offsets/advances/etc..) 60598 60599 Don't call it from drawSimpleText anymore, but directly in drawText - as Dan suggested. 60600 60601 <glyph> elements now register themselves in the SVGFontElement's glyph cache. 60602 (insertedIntoDocument / removedFromDocument take care of this) 60603 60604 The cache is built once now, and is kept updated - it's not rebuild anymore 60605 on painting (!) - which was a crude hack for testing. 60606 60607 W3C testcase which include SVG Fonts: 60608 svg/W3C-SVG-1.1/animate-elem-03-t.svg (Fixed, of course not the anim itself, but it's SVG Fonts usage) 60609 svg/W3C-SVG-1.1/animate-elem-24-t.svg (Ditto) 60610 svg/W3C-SVG-1.1/animate-elem-36-t.svg (Ditto) 60611 svg/W3C-SVG-1.1/animate-elem-40-t.svg (Ditto) 60612 svg/W3C-SVG-1.1/fonts-kern-01-t.svg (missing <vkern>/<hkern> support) 60613 svg/W3C-SVG-1.1/fonts-desc-02-t.svg (Fixed, tests CSS font matching based on font-variant attribute) 60614 svg/W3C-SVG-1.1/fonts-elem-01-t.svg (Fixed, basic SVG font test) 60615 svg/W3C-SVG-1.1/fonts-elem-02-t.svg (Fixed, accuracy test for embedded SVG font) 60616 svg/W3C-SVG-1.1/fonts-elem-05-t.svg (Fixed, checks horiz-origin-x support, note: W3C reference image is wrong) 60617 svg/W3C-SVG-1.1/fonts-elem-06-t.svg (Fixed, checks horiz-adv-x support) 60618 svg/W3C-SVG-1.1/fonts-glyph-02-t.svg (Fixed, checks arabic-form support) 60619 svg/W3C-SVG-1.1/fonts-glyph-03-t.svg (Fixed, checks glyph matching based on xml:lang) 60620 svg/W3C-SVG-1.1/masking-mask-01-b.svg (Fixed, SVG Fonts & masking) 60621 svg/W3C-SVG-1.1/pservers-grad-08-b.svg (Fixed, SVG Fonts & gradient on fill/stroke) 60622 svg/W3C-SVG-1.1/render-elems-06-t.svg (Fixed, simple 'fill' property test) 60623 svg/W3C-SVG-1.1/render-elems-07-t.svg (Fixed, simple 'stroke' property test - shows SVG Font interprets stroke-width in glyph coordinate system, as demanded by spec) 60624 svg/W3C-SVG-1.1/render-elems-08-t.svg (Fixed, simple 'fill' & 'stroke' property test) 60625 svg/W3C-SVG-1.1/render-groups-01-b.svg (missing <vkern>/<hkern> support) 60626 svg/W3C-SVG-1.1/render-groups-03-t.svg (Ditto) 60627 svg/W3C-SVG-1.1/text-altglyph-01-b.svg (no <altGlyph> support yet) 60628 svg/W3C-SVG-1.1/text-text-04-t.svg (Fixed, absolute placing of characters pixel perfect now) 60629 svg/W3C-SVG-1.1/text-text-05-t.svg (FIXME: problem with text-anchor) 60630 svg/W3C-SVG-1.1/text-text-06-t.svg (highlights problem with ligatures & absolute positioned characters) 60631 60632 Questionable testcases: 60633 svg/W3C-SVG-1.1/fonts-glyph-04-t.svg (tests that glyph selection is done in the order in the definition of the font element.) 60634 I am not sure why this behaviour is desired, no comment given in spec - doesn't make much sense to me, ignoring it for now. 60635 60636 Several other batik testcases fixed, which use SVG Fonts in combination with gradients & filters. 60637 60638 * css/CSSFontSelector.cpp: 60639 (WebCore::CSSFontSelector::addFontFaceRule): 60640 (WebCore::CSSFontSelector::getFontData): 60641 * platform/graphics/Font.cpp: 60642 (WebCore::Font::lineSpacing): 60643 (WebCore::Font::xHeight): 60644 (WebCore::Font::canUseGlyphCache): 60645 (WebCore::Font::drawGlyphBuffer): 60646 (WebCore::Font::drawText): 60647 (WebCore::Font::floatWidth): 60648 (WebCore::Font::selectionRectForText): 60649 * platform/graphics/Font.h: 60650 (WebCore::TextRun::TextRun): 60651 (WebCore::TextRun::activePaintServer): 60652 (WebCore::TextRun::setActivePaintServer): 60653 * platform/graphics/FontData.cpp: 60654 (WebCore::FontData::lineSpacing): 60655 (WebCore::FontData::lineGap): 60656 (WebCore::FontData::xHeight): 60657 * platform/graphics/FontData.h: 60658 * platform/graphics/win/FontWin.cpp: 60659 (WebCore::Font::drawGlyphs): 60660 * rendering/RenderSVGText.cpp: 60661 (WebCore::RenderSVGText::relativeBBox): 60662 * rendering/SVGInlineTextBox.cpp: 60663 (WebCore::SVGInlineTextBox::paintCharacters): 60664 * rendering/SVGInlineTextBox.h: 60665 * rendering/SVGRootInlineBox.cpp: 60666 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): 60667 * svg/SVGFont.cpp: 60668 (WebCore::processArabicFormDetection): 60669 (WebCore::charactersWithArabicForm): 60670 (WebCore::isCompatibleArabicForm): 60671 (WebCore::isCompatibleGlyph): 60672 (WebCore::svgFontAndFontFaceElementForFontData): 60673 (WebCore::SVGTextRunWalker::SVGTextRunWalker): 60674 (WebCore::SVGTextRunWalker::walk): 60675 (WebCore::floatWidthUsingSVGFontCallback): 60676 (WebCore::floatWidthMissingGlyphCallback): 60677 (WebCore::floatWidthOfSubStringUsingSVGFont): 60678 (WebCore::Font::floatWidthUsingSVGFont): 60679 (WebCore::drawTextUsingSVGFontCallback): 60680 (WebCore::drawTextMissingGlyphCallback): 60681 (WebCore::Font::drawTextUsingSVGFont): 60682 (WebCore::Font::selectionRectForTextUsingSVGFont): 60683 * svg/SVGFontElement.cpp: 60684 (WebCore::SVGFontElement::SVGFontElement): 60685 (WebCore::SVGFontElement::addGlyphToCache): 60686 (WebCore::SVGFontElement::removeGlyphFromCache): 60687 (WebCore::SVGFontElement::firstMissingGlyphElement): 60688 (WebCore::SVGFontElement::glyphIdentifiersForString): 60689 * svg/SVGFontElement.h: 60690 (WebCore::SVGFontElement::maximumHashKeyLength): 60691 * svg/SVGFontFaceElement.cpp: 60692 (WebCore::SVGFontFaceElement::createFontData): 60693 (WebCore::SVGFontFaceElement::rebuildFontFace): 60694 (WebCore::SVGFontFaceElement::associatedFontElement): 60695 * svg/SVGFontFaceElement.h: 60696 * svg/SVGGlyphElement.cpp: 60697 (WebCore::SVGGlyphElement::insertedIntoDocument): 60698 (WebCore::SVGGlyphElement::removedFromDocument): 60699 (WebCore::parseArabicForm): 60700 (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes): 60701 (WebCore::SVGGlyphElement::buildGlyphIdentifier): 60702 * svg/SVGGlyphElement.h: 60703 (WebCore::SVGGlyphIdentifier::): 60704 (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier): 60705 (WebCore::SVGGlyphIdentifier::inheritedValue): 60706 (WebCore::SVGGlyphIdentifier::operator==): 60707 (WebCore::SVGGlyphElement::~SVGGlyphElement): 60708 60709 2008-01-07 David Hyatt <hyatt (a] apple.com> 60710 60711 Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells. 60712 60713 Reviewed by Dan 60714 60715 * rendering/RenderBox.h: 60716 * rendering/RenderTableCell.cpp: 60717 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 60718 60719 2008-01-07 Holger Freyther <zecke (a] selfish.org> 60720 60721 Reviewed by Alp Toker. 60722 60723 * Fix indention 60724 60725 * platform/gtk/ContextMenuGtk.cpp: 60726 (WebCore::ContextMenu::~ContextMenu): 60727 60728 2008-01-07 Holger Freyther <zecke (a] selfish.org> 60729 60730 Reviewed by Alp Toker. 60731 60732 * The ContextMenuController is going to live longer than the ContextMenu. It is 60733 going to live as long as the WebCore::Page is around where the ContextMenu, specially 60734 in the case of a SubMenu, is gone before we popup the menu. 60735 60736 * platform/gtk/ContextMenuGtk.cpp: 60737 (WebCore::menuItemActivated): 60738 (WebCore::ContextMenu::appendItem): 60739 60740 2008-01-07 Holger Freyther <zecke (a] selfish.org> 60741 60742 Reviewed by Alp Toker. 60743 60744 * Fix SubMenu handling 60745 * Do not connect to the activated signal if we are a separator or submenu 60746 * Change our type from ActionType to SubMenuType when we have a submenu 60747 * Initialize the SubMenu 60748 60749 * platform/gtk/ContextMenuGtk.cpp: 60750 (WebCore::ContextMenu::appendItem): 60751 * platform/gtk/ContextMenuItemGtk.cpp: 60752 (WebCore::ContextMenuItem::ContextMenuItem): 60753 (WebCore::ContextMenuItem::createNativeMenuItem): 60754 (WebCore::ContextMenuItem::setSubMenu): 60755 60756 2008-01-07 Holger Freyther <zecke (a] selfish.org> 60757 60758 Reviewed by Alp Toker. 60759 60760 * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable 60761 actions. 60762 * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed. 60763 * Update the ContextMenuController to accept CheckableActionTypes as well. 60764 * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable 60765 was extracted from ContextMenu::checkOrEnableIfNeeded. 60766 * Update the Qt and Windows port. 60767 60768 60769 * page/ContextMenuController.cpp: 60770 * platform/ContextMenu.cpp: 60771 (WebCore::createAndAppendFontSubMenu): 60772 (WebCore::createAndAppendSpellingAndGrammarSubMenu): 60773 (WebCore::createAndAppendSpellingSubMenu): 60774 (WebCore::createAndAppendWritingDirectionSubMenu): 60775 * platform/ContextMenuItem.h: 60776 * platform/gtk/ContextMenuItemGtk.cpp: 60777 (WebCore::ContextMenuItem::ContextMenuItem): 60778 (WebCore::ContextMenuItem::createNativeMenuItem): 60779 60780 2008-01-07 Luca Bruno <lethalman88 (a] gmail.com> 60781 60782 Reviewed by Alp Toker. 60783 60784 http://bugs.webkit.org/show_bug.cgi?id=16745 60785 [GTK] Context menu doesn't feel or look native - no icons 60786 60787 Use GTK+ stock icons for menu items where possible. 60788 60789 * platform/gtk/ContextMenuItemGtk.cpp: 60790 (WebCore::gtkStockIDFromContextMenuAction): 60791 (WebCore::ContextMenuItem::createNativeMenuItem): 60792 (WebCore::ContextMenuItem::setAction): 60793 60794 2008-01-07 Dan Bernstein <mitz (a] apple.com> 60795 60796 Reviewed by John Sullivan. 60797 60798 - make the ATSUI code path work with custom fonts rather than crash 60799 60800 * platform/graphics/mac/FontCustomPlatformData.cpp: 60801 (WebCore::FontCustomPlatformData::fontPlatformData): 60802 * platform/graphics/mac/FontMac.mm: 60803 (WebCore::initializeATSUStyle): 60804 60805 2008-01-07 Thiago Macieira <thiago.macieira (a] trolltech.com> 60806 60807 Reviewed by Simon. 60808 60809 abort() now emits the signals, so disconnect them before you abort() 60810 60811 * platform/network/qt/QNetworkReplyHandler.cpp: 60812 (WebCore::QNetworkReplyHandler::abort): 60813 60814 2008-01-07 Simon Hausmann <hausmann (a] webkit.org> 60815 60816 Reviewed by Lars. 60817 60818 Use a faster and safer way of flattening the form data. 60819 60820 * platform/network/qt/QNetworkReplyHandler.cpp: 60821 (WebCore::QNetworkReplyHandler::start): 60822 60823 2008-01-07 Simon Hausmann <hausmann (a] webkit.org> 60824 60825 Reviewed by Lars. 60826 60827 Ported of the network backend of the Qt platform to Qt 4.4's new networking API. 60828 60829 * WebCore.pro: 60830 * platform/network/ResourceHandleInternal.h: 60831 * platform/network/qt/QNetworkReplyHandler.cpp: Added. 60832 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 60833 (WebCore::QNetworkReplyHandler::abort): 60834 (WebCore::QNetworkReplyHandler::finish): 60835 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 60836 (WebCore::QNetworkReplyHandler::forwardData): 60837 (WebCore::QNetworkReplyHandler::start): 60838 * platform/network/qt/QNetworkReplyHandler.h: Added. 60839 (WebCore::QNetworkReplyHandler::reply): 60840 * platform/network/qt/ResourceHandleQt.cpp: 60841 (WebCore::ResourceHandle::start): 60842 (WebCore::ResourceHandle::cancel): 60843 (WebCore::ResourceHandle::loadResourceSynchronously): 60844 * platform/network/qt/ResourceRequest.h: 60845 (WebCore::ResourceRequest::ResourceRequest): 60846 * platform/network/qt/ResourceRequestQt.cpp: Added. 60847 (WebCore::ResourceRequest::toNetworkRequest): 60848 * platform/qt/MIMETypeRegistryQt.cpp: 60849 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 60850 * platform/qt/PlugInInfoStoreQt.cpp: 60851 (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex): 60852 (WebCore::PlugInInfoStore::pluginCount): 60853 (WebCore::PlugInInfoStore::pluginNameForMIMEType): 60854 60855 2008-01-07 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 60856 60857 Reviewed by Lars. 60858 60859 * Remove m_dirtyRegion as it is not used as we pass every dirty region 60860 directly to the ChromeClient 60861 60862 * platform/qt/ScrollViewQt.cpp: 60863 (WebCore::ScrollView::paint): 60864 60865 2008-01-06 Nikolas Zimmermann <zimmermann (a] kde.org> 60866 60867 Reviewed by Oliver. 60868 60869 Small CG paint server cleanups - use more GraphicsContext method where possible. 60870 60871 * svg/graphics/cg/CgSupport.cpp: 60872 (WebCore::applyStrokeStyleToContext): 60873 (WebCore::strokeBoundingBox): 60874 * svg/graphics/cg/CgSupport.h: 60875 * svg/graphics/cg/RenderPathCg.cpp: 60876 (WebCore::RenderPath::strokeContains): 60877 * svg/graphics/cg/SVGPaintServerGradientCg.cpp: 60878 (WebCore::SVGPaintServerGradient::setup): 60879 * svg/graphics/cg/SVGPaintServerPatternCg.cpp: 60880 (WebCore::SVGPaintServerPattern::setup): 60881 * svg/graphics/cg/SVGPaintServerSolidCg.cpp: 60882 (WebCore::SVGPaintServerSolid::setup): 60883 60884 2008-01-06 Nikolas Zimmermann <zimmermann (a] kde.org> 60885 60886 Reviewed by Dan. 60887 60888 Use new helper function isArabicChar() - which also calls ublock_getCode() == UBLOCK_ARABIC on mac. 60889 60890 * platform/graphics/mac/FontMac.mm: 60891 (WebCore::ATSULayoutParameters::initialize): 60892 60893 2008-01-06 Andrew Wellington <proton (a] wiretapped.net> 60894 60895 Reviewed by Darin. 60896 60897 DOMRange doesn't correctly re-size when inserting items (Acid3) 60898 http://bugs.webkit.org/show_bug.cgi?id=16764 60899 60900 Update the offset for the range when inserting items into the range. 60901 60902 Test: fast/dom/Range/range-modifycontents.html 60903 60904 * dom/Range.cpp: 60905 (WebCore::Range::insertNode): 60906 60907 2008-01-06 Alexey Proskuryakov <ap (a] webkit.org> 60908 60909 Reviewed by Darin. 60910 60911 http://bugs.webkit.org/show_bug.cgi?id=16731 60912 Incorrect node type for whitespace when setting innerHTML in an XHTML document 60913 60914 Test: fast/dom/xhtml-fragment-whitespace.xhtml 60915 60916 * dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment): 60917 Use balancedCharactersHandler for ignorable whitespace. 60918 60919 2008-01-06 Alexey Proskuryakov <ap (a] webkit.org> 60920 60921 Reviewed by Darin. 60922 60923 http://bugs.webkit.org/show_bug.cgi?id=16701 60924 <rdar://problem/5666580> REGRESSION: URL-encoded space (%20) in livejournal url 60925 causes page load error 60926 60927 Test: http/tests/misc/location-with-space.php 60928 60929 * platform/network/cf/ResourceRequestCFNet.cpp: 60930 (WebCore::ResourceRequest::doUpdatePlatformRequest): Do update its URL, too. 60931 60932 2008-01-06 Andrew Wellington <proton (a] wiretapped.net> 60933 60934 Reviewed by Darin. 60935 60936 DOMRange.cloneContents does not work (Acid3 bug) 60937 http://bugs.webkit.org/show_bug.cgi?id=16748 60938 60939 When cloning an empty range, return an empty DocmentFragment instead of 60940 null or undefined. 60941 60942 Test: fast/dom/Range/range-clone-empty.html 60943 60944 * dom/Range.cpp: 60945 (WebCore::Range::processContents): 60946 60947 2008-01-06 Luca Bruno <lethalman88 (a] gmail.com> 60948 60949 Reviewed by Alp Toker. 60950 60951 Remove curl handles immediately if the timer is not running. 60952 60953 * platform/network/curl/ResourceHandleManager.cpp: 60954 (WebCore::ResourceHandleManager::cancel): 60955 60956 2008-01-06 Alp Toker <alp (a] atoker.com> 60957 60958 Reviewed by Eric. 60959 60960 Cairo canvas refcounting fix. Reference the surface in the constructor 60961 to match its destruction in the destructor. 60962 60963 Fixes a crash triggered by leaving this page: 60964 http://philip.html5.org/tests/canvas/misc/globalalpha-pattern.html 60965 60966 * html/CanvasPattern.cpp: 60967 (WebCore::CanvasPattern::CanvasPattern): 60968 60969 2008-01-06 Eric Seidel <eric (a] webkit.org> 60970 60971 Reviewed by darin. 60972 60973 Make attr selectors case-insensitive for certain HTML attributes 60974 http://bugs.webkit.org/show_bug.cgi?id=15470 60975 60976 Test: fast/css/html-attr-case-sensitivity.html 60977 60978 * css/CSSStyleSelector.cpp: 60979 (WebCore::addLocalNameToSet): 60980 (WebCore::createHtmlCaseInsensitiveAttributesSet): 60981 (WebCore::htmlAttributeHasCaseInsensitiveValue): 60982 (WebCore::CSSStyleSelector::checkOneSelector): 60983 60984 2008-01-06 Eric Seidel <eric (a] webkit.org> 60985 60986 Reviewed by Sam. 60987 60988 Fix :checked matching type='text' and add test case 60989 http://bugs.webkit.org/show_bug.cgi?id=16750 60990 60991 Test: fast/dom/HTMLInputElement/checked-pseudo-selector.html 60992 60993 * html/HTMLInputElement.h: isChecked() can only be true for RADIO or CHECKBOX 60994 60995 2008-01-05 Sam Weinig <sam (a] webkit.org> 60996 60997 Reviewed by Eric Seidel. 60998 60999 Patch for http://bugs.webkit.org/show_bug.cgi?id=16758 61000 ASSERT when using TreeWalker methods for a current node outside of the root (Acid3) 61001 61002 - Ensure that returned nodes are within the root node, or return 0, in adherence with the spec. 61003 61004 Test: fast/dom/TreeWalker/TreeWalker-currentNode.html 61005 61006 * dom/TreeWalker.cpp: 61007 (WebCore::TreeWalker::parentNode): 61008 (WebCore::TreeWalker::firstChild): 61009 (WebCore::TreeWalker::lastChild): 61010 (WebCore::TreeWalker::previousSibling): 61011 (WebCore::TreeWalker::nextSibling): 61012 (WebCore::TreeWalker::previousNode): 61013 (WebCore::TreeWalker::nextNode): 61014 61015 2008-01-04 Oliver Hunt <oliver (a] apple.com> 61016 61017 Reviewed by Beth Dakin. 61018 61019 Fix bounds computation bugs responsible for http://bugs.webkit.org/show_bug.cgi?id=16015 61020 and other image repaint bugs. 61021 61022 We now cache the full local bounds for the <image> element, as otherwise certain 61023 combinations of attribute changes could result in incorrect dirty rects. 61024 Additionally we no longer use any of the integer bounds fields on RenderObject for 61025 determining repaint bounds (this was the principle cause of bug #16015). 61026 61027 I also removed the outline painting code as it was both wrong, and not correctly 61028 repainted. I feel safe doing this as no other browser or viewer supports outline 61029 properties on svg elements. 61030 61031 I was unable to make a testcase for this unfortunately, despite seemingly deterministic 61032 behaviour :( 61033 61034 * rendering/RenderSVGImage.cpp: 61035 (WebCore::RenderSVGImage::layout): 61036 (WebCore::RenderSVGImage::paint): 61037 (WebCore::RenderSVGImage::nodeAtPoint): 61038 (WebCore::RenderSVGImage::calculateAbsoluteBounds): 61039 * rendering/RenderSVGImage.h: 61040 61041 2008-01-04 Beth Dakin <bdakin (a] apple.com> 61042 61043 Reviewed by Oliver. 61044 61045 Fix for http://bugs.webkit.org/show_bug.cgi?id=16704 input with 61046 type="hidden" matches :enabled/:disabled (Acid3 bug) 61047 61048 Prevent :enabled and :disabled from applying to input type="hidden" 61049 61050 * css/CSSStyleSelector.cpp: 61051 (WebCore::CSSStyleSelector::checkOneSelector): Rather than 61052 allowing :enabled and :disabled to apply to all controls, only 61053 allow it to apply to non-"hidden" controls 61054 * dom/Element.h: 61055 (WebCore::Element::isInputTypeHidden): 61056 * html/HTMLInputElement.h: 61057 (WebCore::HTMLInputElement::isInputTypeHidden): 61058 61059 2008-01-04 Sam Weinig <sam (a] webkit.org> 61060 61061 Reviewed by Oliver Hunt. 61062 61063 - Match the spec when calling getFloatValue, getStringValue, getCounterValue, 61064 getRectValue and getRGBColorValue of CSSPrimitiveValue by throwing exceptions 61065 if the type of the CSSPrimitiveValue is not the same as the type requested. 61066 - Fix the intermittent assertion failure seen in svg/css/glyph-orientation-rounding-test.xhtml 61067 61068 Test: fast/css/CSSPrimitiveValue-exceptions.html 61069 61070 * css/CSSPrimitiveValue.cpp: 61071 (WebCore::CSSPrimitiveValue::getDoubleValue): 61072 (WebCore::CSSPrimitiveValue::getStringValue): 61073 (WebCore::CSSPrimitiveValue::getCounterValue): 61074 (WebCore::CSSPrimitiveValue::getRectValue): 61075 (WebCore::CSSPrimitiveValue::getRGBColorValue): 61076 (WebCore::CSSPrimitiveValue::getPairValue): 61077 * css/CSSPrimitiveValue.h: 61078 (WebCore::CSSPrimitiveValue::getFloatValue): 61079 (WebCore::CSSPrimitiveValue::getIntValue): 61080 (WebCore::CSSPrimitiveValue::getCounterValue): 61081 (WebCore::CSSPrimitiveValue::getRectValue): 61082 (WebCore::CSSPrimitiveValue::getDashboardRegionValue): 61083 * css/CSSPrimitiveValue.idl: 61084 61085 2008-01-04 Antti Koivisto <antti (a] apple.com> 61086 61087 Reviewed by Darin. 61088 61089 Windows part of <rdar://problem/5647034> 61090 Media tests crash if an old version of QuickTime is installed 61091 61092 Check QuickTime version on Windows too. 61093 61094 * platform/graphics/MediaPlayer.cpp: 61095 (WebCore::MediaPlayer::isAvailable): 61096 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 61097 (WebCore::MediaPlayerPrivate::isAvailable): 61098 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 61099 (WebCore::MediaPlayerPrivate::isAvailable): 61100 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 61101 * platform/graphics/win/QTMovieWin.cpp: 61102 (QTMovieWin::initializeQuickTime): 61103 61104 2008-01-04 Darin Adler <darin (a] apple.com> 61105 61106 Reviewed by Maciej and Alice. 61107 61108 - fix <rdar://problem/4404302> Borders where there should be none (canadasmountains.com) 61109 61110 Test: fast/images/border.html 61111 61112 * html/HTMLImageElement.cpp: 61113 (WebCore::HTMLImageElement::parseMappedAttribute): Change the code that handles cases 61114 where the border value is not a number to use the value "0" for the border width instead 61115 of not setting the border width and style at all. This matches other browsers, and makes 61116 more sense. 61117 61118 2008-01-04 Antti Koivisto <antti (a] apple.com> 61119 61120 Try to fix 64-bit build 61121 61122 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 61123 (WebCore::MediaPlayerPrivate::isAvailable): 61124 61125 2008-01-04 Stephanie <slewis (a] apple.com> 61126 61127 Reviewed by Oliver. 61128 61129 WARNING: NO TEST CASES ADDED OR CHANGED 61130 61131 Fix another stringImpl leak. 61132 61133 * platform/text/StringImpl.cpp: remove an extra allocation 61134 (WebCore::StringImpl::StringImpl): 61135 61136 2008-01-04 Alice Liu <alice.liu (a] apple.com> 61137 61138 Reviewed by Mitz. 61139 61140 * platform/graphics/win/FontCacheWin.cpp: 61141 fix loop condition that was causing crash 61142 61143 2008-01-04 Timothy Hatcher <timothy (a] apple.com> 61144 61145 Reviewed by Adam Roben. 61146 61147 <rdar://problem/5671059> Always show the Timeline and Console buttons in the Inspector 61148 61149 * page/inspector/inspector.css: Remove styles related to the toggle button 61150 and make the area always visible. 61151 * page/inspector/inspector.html: Remove the toggle button. 61152 * page/inspector/inspector.js: Remove code to toggle the status area. 61153 61154 2008-01-04 Alexey Proskuryakov <ap (a] webkit.org> 61155 61156 Reviewed by Adam Roben. 61157 61158 Temporarily restore BackwardDelete for Windows nightlies to work correctly. 61159 61160 * editing/EditorCommand.cpp: (WebCore::CommandEntry::): 61161 61162 2008-01-04 Alexey Proskuryakov <ap (a] webkit.org> 61163 61164 Reviewed by Darin. 61165 61166 <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077) 61167 61168 Enable the fix on Windows. 61169 61170 * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::transformToString): 61171 Always set a custom sort function, even if it doesn't implement proper collation on the platform. 61172 61173 * xml/XSLTUnicodeSort.cpp: 61174 (WebCore::xsltUnicodeSortFunction): 61175 * xml/XSLTUnicodeSort.h: 61176 If the platform does not use ICU, or ICU has collation support disabled, fall back to binary comparison. 61177 61178 2008-01-04 Antti Koivisto <antti (a] apple.com> 61179 61180 Fix build. 61181 61182 * bindings/js/JSHTMLElementWrapperFactory.cpp: 61183 61184 2008-01-04 Antti Koivisto <antti (a] apple.com> 61185 61186 Reviewed by Darin. 61187 61188 Partial fix for <rdar://problem/5647034> 61189 Media tests crash if an old version of QuickTime is installed 61190 61191 Disable media support if QuickTime is not current enough (>=7.3). 61192 61193 Windows patch coming soon. 61194 61195 * bindings/js/JSHTMLElementWrapperFactory.cpp: 61196 (WebCore::createJSHTMLWrapper): 61197 * bindings/js/kjs_window.cpp: 61198 (KJS::Window::getValueProperty): 61199 * html/HTMLElementFactory.cpp: 61200 (WebCore::audioConstructor): 61201 (WebCore::videoConstructor): 61202 (WebCore::sourceConstructor): 61203 * platform/graphics/MediaPlayer.cpp: 61204 (WebCore::MediaPlayer::isAvailable): 61205 * platform/graphics/MediaPlayer.h: 61206 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 61207 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 61208 (WebCore::MediaPlayerPrivate::isAvailable): 61209 61210 2008-01-04 Timothy Hatcher <timothy (a] apple.com> 61211 61212 Reviewed by Darin Adler. 61213 61214 <rdar://problem/5604409> JavaScript privilege escalation when Web Inspector accesses page unsafely (16011) 61215 61216 Check if the property is a getter before asking for the value. 61217 If the property is a getter, we no longer show the value. 61218 61219 * page/inspector/PropertiesSidebarPane.js: 61220 * page/inspector/inspector.css: 61221 61222 2008-01-04 Dan Bernstein <mitz (a] apple.com> 61223 61224 Reviewed by Darin Adler. 61225 61226 - fix synthetic bold and italic on Windows 61227 61228 Covered by an existing test. 61229 61230 * platform/graphics/win/FontPlatformDataWin.cpp: 61231 (WebCore::FontPlatformData::FontPlatformData): 61232 61233 2008-01-04 Alp Toker <alp (a] atoker.com> 61234 61235 GTK+ autotools build fix. Terminate empty rules. 61236 61237 * GNUmakefile.am: 61238 61239 2008-01-04 Lars Knoll <lars (a] trolltech.com> 61240 61241 Reviewed by Simon. 61242 61243 Remove most dependencies of Widget/ScrollView onto native QWidgets. 61244 61245 This also brings the code closer in line with the Windows code. Seems 61246 to work nicely on first try :) 61247 61248 * page/qt/FrameQt.cpp: 61249 (WebCore::Frame::createScriptInstanceForWidget): 61250 * platform/Widget.h: 61251 * platform/qt/PlatformScreenQt.cpp: 61252 (WebCore::screenDepth): 61253 (WebCore::screenDepthPerComponent): 61254 (WebCore::screenIsMonochrome): 61255 (WebCore::screenRect): 61256 * platform/qt/PlatformScrollBarQt.cpp: 61257 (WebCore::PlatformScrollbar::thumbPosition): 61258 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 61259 * platform/qt/ScrollViewQt.cpp: 61260 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 61261 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 61262 (WebCore::ScrollView::updateContents): 61263 (WebCore::ScrollView::update): 61264 (WebCore::ScrollView::scrollRectIntoViewRecursively): 61265 (WebCore::ScrollView::updateScrollbars): 61266 (WebCore::ScrollView::addChild): 61267 (WebCore::ScrollView::removeChild): 61268 (WebCore::ScrollView::paint): 61269 * platform/qt/WidgetQt.cpp: 61270 (WebCore::WidgetPrivate::WidgetPrivate): 61271 (WebCore::WidgetPrivate::~WidgetPrivate): 61272 (WebCore::Widget::frameGeometry): 61273 (WebCore::Widget::setFrameGeometry): 61274 (WebCore::Widget::setCursor): 61275 (WebCore::Widget::show): 61276 (WebCore::Widget::hide): 61277 (WebCore::Widget::nativeWidget): 61278 (WebCore::Widget::setNativeWidget): 61279 (WebCore::Widget::suppressInvalidation): 61280 (WebCore::Widget::setSuppressInvalidation): 61281 (WebCore::Widget::invalidateRect): 61282 (WebCore::Widget::topLevel): 61283 (WebCore::Widget::containingWindow): 61284 61285 2008-01-04 Lars Knoll <lars (a] trolltech.com> 61286 61287 Reviewed by Simon. 61288 61289 make QWebPage a QObject and get things to compile. 61290 61291 Nothing works currently though. 61292 61293 * platform/qt/ScrollViewQt.cpp: 61294 (WebCore::ScrollView::updateContents): 61295 (WebCore::ScrollView::update): 61296 * platform/qt/WidgetQt.cpp: 61297 (WebCore::Widget::qwidget): 61298 (WebCore::Widget::invalidateRect): 61299 61300 2008-01-04 Alp Toker <alp (a] atoker.com> 61301 61302 Reviewed by Mark Rowe. 61303 61304 http://bugs.webkit.org/show_bug.cgi?id=16667 61305 make -j is failing with the autotools based system 61306 61307 Support parallel code generation. Nearly every use of explicit 61308 multiple targets was a potential concurrency bug, though in practice 61309 the bison rules were the first to be noticed because they took longer 61310 to complete and broke the build immediately. 61311 61312 * GNUmakefile.am: 61313 61314 2008-01-04 Alp Toker <alp (a] atoker.com> 61315 61316 Reviewed by Mark Rowe. 61317 61318 Re-use a single static dummy surface rather than creating and 61319 destroying a surface for each CairoPath. 61320 61321 * platform/graphics/cairo/CairoPath.h: 61322 (WebCore::CairoPath::CairoPath): 61323 61324 2008-01-04 Mark Rowe <mrowe (a] apple.com> 61325 61326 Tiger build fix. 61327 61328 * platform/Threading.h: The OSAtomic functions take non-volatile pointers on Tiger. 61329 61330 2008-01-03 Mark Rowe <mrowe (a] apple.com> 61331 61332 Reviewed by Maciej Stachowiak. 61333 61334 Use platform-provided atomic operations in place of inline assembly to 61335 increase portability. 61336 61337 * platform/Threading.h: 61338 (WebCore::atomicIncrement): 61339 (WebCore::atomicDecrement): 61340 61341 2008-01-03 Oliver Hunt <oliver (a] apple.com> 61342 61343 Reviewed by Maciej. 61344 61345 Fix <rdar://problem/5668517> REGRESSION: Major under painting issues in SVG (carto.net dock example) 61346 61347 We need to cache the absolute bounds of the <image>, 61348 as there's no reliable way to recompute the old bounding 61349 box one we have started layout. 61350 61351 * rendering/RenderSVGImage.cpp: 61352 (WebCore::RenderSVGImage::layout): 61353 (WebCore::RenderSVGImage::calculateAbsoluteBounds): 61354 * rendering/RenderSVGImage.h: 61355 61356 2008-01-03 Alp Toker <alp (a] atoker.com> 61357 61358 Reviewed by Mark Rowe. 61359 61360 Support building in Scratchbox, which has a version of make that fails 61361 on wildcard syntax. Use a vpath to match IDL files instead. 61362 61363 * GNUmakefile.am: 61364 61365 2008-01-03 Jon Honeycutt <jhoneycutt (a] apple.com> 61366 61367 Reviewed by Darin. 61368 61369 <rdar://problem/5504775> PDF page will not load first time after Adobe 61370 Reader install, unless browser is relaunched 61371 61372 Refresh and re-search the plugin database if the MIME type is not 61373 registered. 61374 61375 * plugins/win/PluginDatabaseWin.cpp: 61376 (WebCore::PluginDatabaseWin::isMIMETypeRegistered): 61377 * plugins/win/PluginDatabaseWin.h: 61378 61379 2008-01-03 Dan Bernstein <mitz (a] apple.com> 61380 61381 Reviewed by Darin Adler. 61382 61383 - fix http://bugs.webkit.org/show_bug.cgi?id=16548 61384 <rdar://problem/5659452> REGRESSION(r28810): Font style and sizes are weird for Japanese text 61385 61386 * platform/graphics/win/FontCacheWin.cpp: 61387 (WebCore::linkedFontEnumProc): Added. This callback is used to fetch 61388 a valid LOGFONT for a given family. 61389 (WebCore::getLinkedFonts): Added. Returns a vector of font families 61390 linked to the given font family by the Windows registry key 61391 HKLM\Software\...\FontLink\SystemLink. The registry values typically 61392 differ based on the installed language version of Windows. 61393 (WebCore::FontCache::getFontDataForCharacters): Changed to not use MLang 61394 font mapping, which is Windows code page based, except for characters in 61395 the range U+2000..U+200F. Instead, this function gets the font Uniscribe 61396 would use for the character. However, that font might not actually 61397 contain the character, in which case GDI font linking would substitute a 61398 different font. Therefore, this function walks the linked font list 61399 until it finds a font that actually contains the character. 61400 61401 2008-01-03 Darin Adler <darin (a] apple.com> 61402 61403 Reviewed by Mitz. 61404 61405 - fix http://bugs.webkit.org/show_bug.cgi?id=16723 61406 tables/mozilla/bugs/bug30418.html test failing due to problems updating dynamic border rules 61407 61408 Test: fast/table/border-changes.html 61409 61410 * html/HTMLTableElement.h: 61411 * html/HTMLTableElement.cpp: 61412 (WebCore::HTMLTableElement::parseMappedAttribute): Check the border type before and after 61413 parsing attributes, rather than doing this only for the rules attribute. 61414 (WebCore::HTMLTableElement::cellBorders): Added. 61415 (WebCore::HTMLTableElement::getSharedCellDecl): Changed to use cellBorders to factor out the 61416 rule about what type of borders to use. 61417 61418 2008-01-02 Sam Weinig <sam (a] webkit.org> 61419 61420 Reviewed by Darin. 61421 61422 Pass the prototype of WebCore JS objects up the constructor chain 61423 rather than explicitly setting using setPrototype. This removes many 61424 redundant settings of the prototype on construction. To avoid a CG 61425 hazard, the prototype must be constructed before calling the 61426 constructor of the JS object. 61427 61428 - JS objects that inherit from DOMObject, which all bindings objects 61429 (except Window) do, now can't implicitly have a jsNull prototype, but 61430 must explicitly pass it up the construction chain. 61431 61432 * bindings/js/JSCSSRuleCustom.cpp: 61433 (WebCore::toJS): 61434 * bindings/js/JSCSSValueCustom.cpp: 61435 (WebCore::toJS): 61436 * bindings/js/JSDocumentCustom.cpp: 61437 (WebCore::toJS): 61438 * bindings/js/JSEventCustom.cpp: 61439 (WebCore::toJS): 61440 * bindings/js/JSEventTargetNode.cpp: 61441 (WebCore::JSEventTargetNode::JSEventTargetNode): 61442 * bindings/js/JSEventTargetNode.h: 61443 * bindings/js/JSHTMLAllCollection.h: 61444 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): 61445 * bindings/js/JSHTMLAudioElementConstructor.cpp: 61446 (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor): 61447 * bindings/js/JSHTMLCollectionCustom.cpp: 61448 (WebCore::getNamedItems): 61449 (WebCore::toJS): 61450 * bindings/js/JSHTMLElementWrapperFactory.cpp: 61451 (WebCore::createJSHTMLWrapper): 61452 * bindings/js/JSHTMLFormElementCustom.cpp: 61453 (WebCore::JSHTMLFormElement::nameGetter): 61454 * bindings/js/JSHTMLInputElementBase.cpp: 61455 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): 61456 * bindings/js/JSHTMLInputElementBase.h: 61457 * bindings/js/JSHTMLOptionElementConstructor.cpp: 61458 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): 61459 * bindings/js/JSLocation.cpp: 61460 (WebCore::JSLocation::JSLocation): 61461 * bindings/js/JSLocation.h: 61462 * bindings/js/JSNamedNodesCollection.cpp: 61463 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): 61464 * bindings/js/JSNamedNodesCollection.h: 61465 * bindings/js/JSNodeCustom.cpp: 61466 (WebCore::toJS): 61467 * bindings/js/JSSVGElementWrapperFactory.cpp: 61468 (WebCore::createJSSVGWrapper): 61469 * bindings/js/JSSVGPathSegCustom.cpp: 61470 (WebCore::toJS): 61471 * bindings/js/JSStyleSheetCustom.cpp: 61472 (WebCore::toJS): 61473 * bindings/js/JSXMLHttpRequest.cpp: 61474 (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp): 61475 (KJS::JSXMLHttpRequestConstructorImp::construct): 61476 (KJS::JSXMLHttpRequest::JSXMLHttpRequest): 61477 * bindings/js/JSXMLHttpRequest.h: 61478 * bindings/js/JSXSLTProcessor.cpp: 61479 (KJS::JSXSLTProcessor::JSXSLTProcessor): 61480 (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp): 61481 (KJS::XSLTProcessorConstructorImp::implementsConstruct): 61482 (KJS::XSLTProcessorConstructorImp::construct): 61483 * bindings/js/JSXSLTProcessor.h: 61484 * bindings/js/kjs_binding.h: 61485 (KJS::DOMObject::DOMObject): 61486 (KJS::cacheDOMObject): 61487 (KJS::cacheSVGDOMObject): 61488 * bindings/js/kjs_css.cpp: 61489 (WebCore::JSRGBColor::JSRGBColor): 61490 (WebCore::getJSRGBColor): 61491 * bindings/js/kjs_css.h: 61492 * bindings/js/kjs_events.cpp: 61493 (WebCore::JSClipboard::JSClipboard): 61494 (WebCore::toJS): 61495 * bindings/js/kjs_events.h: 61496 * bindings/js/kjs_html.cpp: 61497 (WebCore::ImageConstructorImp::ImageConstructorImp): 61498 * bindings/js/kjs_navigator.cpp: 61499 (KJS::Navigator::Navigator): 61500 (KJS::PluginBase::PluginBase): 61501 * bindings/js/kjs_navigator.h: 61502 * bindings/js/kjs_window.cpp: 61503 (KJS::Window::Window): 61504 (KJS::Window::location): 61505 (KJS::Window::getValueProperty): 61506 * bindings/js/kjs_window.h: 61507 * bindings/scripts/CodeGeneratorJS.pm: 61508 61509 2008-01-03 Holger Hans Peter Freyther <zecke (a] selfish.org> 61510 61511 Reviewed by Alp. 61512 61513 -This is from http://bugs.webkit.org/show_bug.cgi?id=16115 61514 61515 Change the Gtk ContextMenuItem code to generate the GtkMenuItem 61516 or GtkCheckMenuItem on the fly. Currently we will create a 61517 GtkCheckMenuItem if the ContextMenuItem has been checked. What needs 61518 to be done is to change WebCore to tell the platform code if an item 61519 is checkable or not. 61520 61521 * platform/ContextMenuItem.h: 61522 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription): 61523 * platform/gtk/ContextMenuGtk.cpp: 61524 (WebCore::ContextMenu::appendItem): 61525 * platform/gtk/ContextMenuItemGtk.cpp: 61526 (WebCore::ContextMenuItem::ContextMenuItem): 61527 (WebCore::ContextMenuItem::~ContextMenuItem): 61528 (WebCore::ContextMenuItem::createNativeMenuItem): 61529 (WebCore::ContextMenuItem::releasePlatformDescription): 61530 (WebCore::ContextMenuItem::type): 61531 (WebCore::ContextMenuItem::setType): 61532 (WebCore::ContextMenuItem::action): 61533 (WebCore::ContextMenuItem::setAction): 61534 (WebCore::ContextMenuItem::platformSubMenu): 61535 (WebCore::ContextMenuItem::setSubMenu): 61536 (WebCore::ContextMenuItem::setChecked): 61537 61538 2008-01-03 Dan Bernstein <mitz (a] apple.com> 61539 61540 Rubber-stamped by Adam Roben. 61541 61542 - update the project hierarchy to match the on-disk organization of 61543 the platform directory. 61544 61545 * WebCore.vcproj/WebCore.vcproj: 61546 61547 2008-01-03 Adam Roben <aroben (a] apple.com> 61548 61549 Fix a buffer overrun and a leak introduced in r29098 61550 61551 Reviewed by Mark. 61552 61553 * platform/text/StringImpl.cpp: 61554 (WebCore::StringImpl::StringImpl): Only allocate one buffer, and make 61555 it be big enough to hold the string contents plus the null terminator. 61556 61557 2008-01-03 Simon Hausmann <hausmann (a] webkit.org> 61558 61559 Reviewed by Lars. 61560 61561 Added the first revision of QWebView and started moving functionality from QWebPave over to QWebView and QWebFrame. 61562 61563 * WebCore.pro: 61564 61565 2008-01-03 Alp Toker <alp (a] atoker.com> 61566 61567 Suggested by Mark Rowe. 61568 61569 Fix indentation and remove trailing whitespace. 61570 61571 * platform/network/curl/ResourceHandleManager.cpp: 61572 61573 2008-01-03 Luca Bruno <lethalman88 (a] gmail.com> 61574 61575 Reviewed by Alp Toker. 61576 61577 Fix HTTP POST-based logins to sites like Facebook, GMail by ensuring 61578 that the two POST methods don't conflict. 61579 61580 * platform/network/curl/ResourceHandleManager.cpp: 61581 (WebCore::ResourceHandleManager::setupPOST): 61582 61583 2008-01-02 Darin Adler <darin (a] apple.com> 61584 61585 - touched some files to try to get the Windows buildbot building again 61586 61587 2008-01-02 Dan Bernstein <mitz (a] apple.com> 61588 61589 Reviewed by Sam Weinig. 61590 61591 - fix small caps rendering 61592 61593 Covered by an existing test. 61594 61595 * platform/graphics/win/FontDataWin.cpp: 61596 (WebCore::FontData::smallCapsFontData): 61597 61598 2008-01-02 Antti Koivisto <antti (a] apple.com> 61599 61600 Reviewed by Oliver. 61601 61602 Calculate video position and size within the renderer box in WebCore. This 61603 way the aspect ratio calculation is not needed in each MediaPlayer implementation. 61604 61605 This fixes video aspect ratio on Windows. 61606 61607 Covered by an existing pixel test. 61608 61609 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 61610 (WebCore::MediaPlayerPrivate::createQTMovieView): 61611 * rendering/RenderVideo.cpp: 61612 (WebCore::RenderVideo::videoBox): 61613 (WebCore::RenderVideo::paintReplaced): 61614 (WebCore::RenderVideo::updatePlayer): 61615 * rendering/RenderVideo.h: 61616 61617 2008-01-02 Ada Chan <adachan (a] apple.com> 61618 61619 Fix windows build. 61620 61621 * WebCore.vcproj/WebCore.vcproj: 61622 61623 2008-01-02 John Sullivan <sullivan (a] apple.com> 61624 61625 Reviewed by Dan Bernstein 61626 61627 - fixed <rdar://problem/5579010> REGRESSION: Safari inserts newlines in tab names when U+2028 is present 61628 61629 * loader/DocumentLoader.cpp: 61630 (WebCore::canonicalizedTitle): 61631 in the code that replaces control characters with white space, also replace the unicode line separator 61632 and paragraph separator characters 61633 61634 2008-01-02 Darin Adler <darin (a] apple.com> 61635 61636 - fix buffer overruns seen on buildbot 61637 61638 * platform/text/StringImpl.cpp: 61639 (WebCore::countCharacter): Added this. 61640 (WebCore::StringImpl::toCoordsArray): Use countCharacter instead of incorrect find expression. 61641 (WebCore::StringImpl::toLengthArray): Ditto. 61642 (WebCore::StringImpl::replace): Added assertions. 61643 61644 2008-01-02 Darin Adler <darin (a] apple.com> 61645 61646 Reviewed by Maciej. 61647 61648 - fix http://bugs.webkit.org/show_bug.cgi?id=16657 61649 Acid3 failure since table.caption and table.thead do not work for nodes added by appendChild 61650 - fix http://bugs.webkit.org/show_bug.cgi?id=16659 61651 Acid3 expects HTMLTableElement.rows to include a <tr> element that is an immediate child of the <table> 61652 61653 Tests: dom/html/level2/html/HTMLCollection07.html 61654 dom/html/level2/html/HTMLCollection08.html 61655 dom/html/level2/xhtml/HTMLCollection07.xhtml 61656 dom/html/level2/xhtml/HTMLCollection08.xhtml 61657 fast/dom/HTMLTableElement/early-acid3-65-excerpt.html 61658 fast/dom/HTMLTableElement/early-acid3-66-excerpt.html 61659 61660 * GNUmakefile.am: Added HTMLTableRowsCollection. 61661 * WebCore.pro: Ditto. 61662 * WebCore.vcproj/WebCore.vcproj: Ditto. 61663 * WebCore.xcodeproj/project.pbxproj: Ditto. 61664 * WebCoreSources.bkl: Ditto. 61665 61666 * dom/XMLTokenizer.cpp: Took out stray include. 61667 61668 * html/HTMLCollection.cpp: 61669 (WebCore::HTMLCollection::itemAfter): Removed all the table rows code, since we now use 61670 a separate class for that collection. Also got rid of the distinct types for custom collections 61671 that don't need them (use Other for both). 61672 * html/HTMLCollection.h: Also made firstItem non-virtual because it doesn't need to be virtual. 61673 61674 * html/HTMLFormCollection.cpp: 61675 (WebCore::HTMLFormCollection::HTMLFormCollection): Use Other instead of FormElements 61676 for the HTMLCollection type. 61677 61678 * html/HTMLTableElement.cpp: 61679 (WebCore::HTMLTableElement::HTMLTableElement): Eliminated m_head, m_foot, m_firstBody, and m_caption. 61680 (WebCore::HTMLTableElement::caption): Added non-inline version. Finds the caption rather than 61681 keeping a pointer to it. 61682 (WebCore::HTMLTableElement::setCaption): Rewrote. 61683 (WebCore::HTMLTableElement::tHead): Ditto. 61684 (WebCore::HTMLTableElement::setTHead): Ditto. 61685 (WebCore::HTMLTableElement::tFoot): Ditto. 61686 (WebCore::HTMLTableElement::setTFoot): Ditto. 61687 (WebCore::HTMLTableElement::createTHead): Ditto. 61688 (WebCore::HTMLTableElement::deleteTHead): Ditto. 61689 (WebCore::HTMLTableElement::createTFoot): Ditto. 61690 (WebCore::HTMLTableElement::deleteTFoot): Ditto. 61691 (WebCore::HTMLTableElement::createCaption): Ditto. 61692 (WebCore::HTMLTableElement::deleteCaption): Ditto. 61693 (WebCore::HTMLTableElement::lastBody): Added. 61694 (WebCore::HTMLTableElement::insertRow): Rewrote to use a loop based on code in HTMLTableRowsCollection. 61695 This is different from the old code mainly in how it handles rows outside any section. 61696 (WebCore::HTMLTableElement::deleteRow): Ditto. 61697 (WebCore::HTMLTableElement::addChild): Removed code to set the various members. Keeping pointers to 61698 these was a possible source of serious bugs too, including crashes with stale pointers, although I 61699 didn't write any test cases to prove those bugs existed. 61700 (WebCore::HTMLTableElement::parseMappedAttribute): Changed the rules code to visit all cells, not 61701 just the cells of the first body. I believe this fixed rendering on some table tests. I think the code 61702 visits too many cells and also the use of recursion is overkill, but I didn't try to fix that. 61703 (WebCore::HTMLTableElement::rows): Changed to use the new HTMLTableRowsCollection. 61704 * html/HTMLTableElement.h: Changed functions to return PassRefPtr, which can be important if strange 61705 things like DOM mutation events take things ot of the tree before they are safely referenced by 61706 JavaScript wrappers. Also changed functions to take PassRefPtr and added exceptions. Removed unneeded 61707 firstTBody and setTBody functions and childrenChanged function override, as well as unused Rules and 61708 Frame enums. Removed m_head, m_foot, m_firstBody, and m_caption, and added lastBody function. Removed 61709 unneeded friend declaration for HTMLTableCellElement. 61710 * html/HTMLTableElement.idl: Allow the setteres for caption, tHead, and tFoot to raise exceptions. 61711 61712 * html/HTMLTableRowsCollection.cpp: Added. Implements the HTML 5 rule for which rows are in the 61713 collection in which order. 61714 * html/HTMLTableRowsCollection.h: Added. 61715 61716 * loader/FTPDirectoryDocument.cpp: 61717 (WebCore::FTPDirectoryTokenizer::appendEntry): Use the standard insertRow function instead of 61718 coming up with our own way of inserting a row. Simplifies things -- we can remove the code to 61719 create a tbody element. 61720 61721 2008-01-02 Darin Adler <darin (a] apple.com> 61722 61723 Reviewed by Alice and Tim. 61724 61725 - try to fix GTK and Qt builds 61726 61727 * platform/win/ScrollViewWin.cpp: 61728 (WebCore::ScrollView::scroll): Improve logic slightly for the case of 61729 vertical scrolling when there's no vertical scroll bar. 61730 61731 * platform/gtk/ScrollViewGtk.cpp: 61732 (WebCore::ScrollView::scroll): Copy the code from Windows. Maybe this 61733 should be factored differently. 61734 * platform/qt/ScrollViewQt.cpp: 61735 (WebCore::ScrollView::scroll): Ditto. 61736 61737 2008-01-02 Darin Adler <darin (a] apple.com> 61738 61739 Reviewed by Anders. 61740 61741 - http://bugs.webkit.org/show_bug.cgi?id=16712 61742 change StringImpl to take and return PassRefPtr instead of raw pointers 61743 61744 Also eliminated use of const StringImpl. Since StringImpl is immutable there 61745 is no distinction between a const and non-const one at the moment. 61746 61747 * WebCore.base.exp: Updated. 61748 61749 * css/CSSHelper.cpp: 61750 (WebCore::parseURL): Make String directly, not by making a StringImpl. 61751 * dom/Attr.cpp: 61752 (WebCore::Attr::createTextChild): Convert AtomicString to String with domString, 61753 not via StringImpl. 61754 (WebCore::Attr::setValue): Remove unneed call to impl() when passing a String 61755 to a function that takes a String. 61756 61757 * dom/CDATASection.cpp: Removed unused constructor. 61758 (WebCore::CDATASection::cloneNode): Added a now-needed .get(). 61759 (WebCore::CDATASection::createNew): Changed function to take a PassRefPtr. 61760 * dom/CDATASection.h: 61761 61762 * dom/CharacterData.cpp: 61763 (WebCore::CharacterData::CharacterData): Removed unneeded initialization and 61764 ref() now that the string is a RefPtr. Also updated to not call "new StringImpl". 61765 (WebCore::CharacterData::~CharacterData): Removed unneeded deref() since it's 61766 a RefPtr. 61767 (WebCore::CharacterData::setData): More of that. 61768 (WebCore::CharacterData::substringData): Ditto. 61769 (WebCore::CharacterData::appendData): Ditto. 61770 (WebCore::CharacterData::insertData): Ditto. 61771 (WebCore::CharacterData::deleteData): Ditto. 61772 (WebCore::CharacterData::replaceData): Ditto. 61773 (WebCore::CharacterData::nodeValue): Ditto. 61774 (WebCore::CharacterData::dispatchModifiedEvent): Ditto. 61775 (WebCore::CharacterData::dump): Ditto. 61776 * dom/CharacterData.h: Changed to use a RefPtr. I could have used a String 61777 instead, but since String adds extra branches to handle 0, I figured it was 61778 more conservative to just use RefPtr. Later it would be good to figure out 61779 which is preferred style and be more consistent. Maybe we'll phase out 61780 StringImpl, or maybe we'll go the other way and use it more since it can be 61781 more efficient. 61782 61783 * dom/DOMImplementation.cpp: 61784 (WebCore::addString): Changed set to use String rather than StringImpl. 61785 (WebCore::isSVG10Feature): Ditto. 61786 (WebCore::isSVG11Feature): Ditto. 61787 (WebCore::DOMImplementation::createDocument): Replaced custom code to 61788 find a colon with a call to String::find. 61789 61790 * dom/Range.cpp: 61791 (WebCore::Range::insertNode): Updated since the result of splitText is now 61792 a PassRefPtr. 61793 61794 * dom/Text.cpp: 61795 (WebCore::Text::splitText): Updated since str is now a RefPtr. Also made the 61796 result of this function be a PassRefPtr. 61797 (WebCore::Text::createRenderer): Ditto. 61798 (WebCore::Text::createNew): Made the parameter and result both be PassRefPtr. 61799 * dom/Text.h: 61800 61801 * html/HTMLElement.cpp: 61802 (WebCore::HTMLElement::nodeName): Use String::upper. 61803 61804 * html/HTMLInputElement.cpp: 61805 (WebCore::numGraphemeClusters): Remove now-unneeded const. 61806 (WebCore::numCharactersInGraphemeClusters): Ditto. 61807 61808 * html/HTMLTokenizer.cpp: 61809 (WebCore::HTMLTokenizer::processToken): Updated for function name change. 61810 61811 * platform/text/AtomicString.cpp: 61812 (WebCore::CStringTranslator::translate): Updated since there is no longer 61813 a constructor that takes a string. 61814 61815 * platform/text/PlatformString.h: Added new constructors that take 61816 PassRefPtr and RefPtr. Removed misleading comment. 61817 61818 * platform/text/String.cpp: 61819 (WebCore::String::String): Changed to use StringImpl::create, which handles 61820 the empty string automatically. 61821 (WebCore::String::append): Ditto. 61822 (WebCore::String::charactersWithNullTermination): Similar. 61823 (WebCore::String::format): Ditto. 61824 61825 * platform/text/StringHash.h: Took out unneeded const. 61826 61827 * platform/text/StringImpl.cpp: 61828 (WebCore::deleteUCharVector): Changed to take a const pointer since the 61829 buffers are now const UChar buffers. 61830 (WebCore::StringImpl::StringImpl): Removed some constructors. Got rid of the 61831 separate init functions. The constructors are now private and used only in 61832 the create functions and one or two other places. 61833 (WebCore::StringImpl::containsOnlyWhitespace): Removed now-meaningless const. 61834 (WebCore::StringImpl::substring): Ditto. Also changed return value to be a 61835 PassRefPtr. 61836 (WebCore::StringImpl::characterStartingAt): Ditto. 61837 (WebCore::StringImpl::toLength): Ditto. 61838 (WebCore::StringImpl::toCoordsArray): Ditto. 61839 (WebCore::StringImpl::toLengthArray): Ditto. 61840 (WebCore::StringImpl::isLower): Ditto. 61841 (WebCore::StringImpl::lower): Ditto. Changed to use Vector and adopt so we 61842 don't have to use new directly here. Makes empty string handling more consistent. 61843 (WebCore::StringImpl::upper): Ditto. 61844 (WebCore::StringImpl::secure): Ditto. 61845 (WebCore::StringImpl::foldCase): Ditto. 61846 (WebCore::StringImpl::stripWhiteSpace): Ditto. 61847 (WebCore::StringImpl::simplifyWhiteSpace): Ditto. 61848 (WebCore::StringImpl::capitalize): Ditto. 61849 (WebCore::StringImpl::toInt): Removed now-meaningless const. 61850 (WebCore::StringImpl::toInt64): Ditto. 61851 (WebCore::StringImpl::toUInt64): Ditto. 61852 (WebCore::StringImpl::toDouble): Ditto. 61853 (WebCore::StringImpl::toFloat): Ditto. 61854 (WebCore::StringImpl::find): Ditto. 61855 (WebCore::StringImpl::reverseFind): Ditto. 61856 (WebCore::StringImpl::endsWith): Ditto. 61857 (WebCore::StringImpl::replace): Ditto. 61858 (WebCore::equal): Ditto. 61859 (WebCore::equalIgnoringCase): Ditto. 61860 (WebCore::StringImpl::ascii): Ditto. 61861 (WebCore::StringImpl::defaultWritingDirection): Ditto. 61862 (WebCore::StringImpl::createStrippingNullCharacters): Ditto. 61863 (WebCore::StringImpl::adopt): Added special case so this uses the shared 61864 empty string like other functions. Also optimized the common case where the 61865 vector happens to already have the right size so we don't do a fastRealloc 61866 at all in those cases. 61867 (WebCore::StringImpl::create): Added. These are now the public functions for 61868 creating new StringImpl objects. They all implement the shared empty string. 61869 (WebCore::StringImpl::createWithTerminatingNullCharacter): 61870 * platform/text/StringImpl.h: 61871 61872 * platform/text/cf/StringCF.cpp: 61873 (WebCore::String::String): Use StringImpl::create instead of new StringImpl. 61874 * platform/text/cf/StringImplCF.cpp: 61875 (WebCore::StringImpl::createCFString): Removed now-obsolete const. 61876 * platform/text/mac/StringImplMac.mm: 61877 (WebCore::StringImpl::operator NSString *): Ditto. 61878 * platform/text/mac/StringMac.mm: 61879 (WebCore::String::String): Use StringImpl::create instead of new StringImpl. 61880 * platform/text/qt/StringQt.cpp: 61881 (WebCore::String::String): Ditto. 61882 * platform/text/wx/StringWx.cpp: 61883 (WebCore::String::String): Ditto. 61884 * rendering/RenderBR.cpp: 61885 (WebCore::RenderBR::RenderBR): Ditto. 61886 61887 * rendering/RenderSVGInlineText.cpp: 61888 (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use PassRefPtr. 61889 * rendering/RenderSVGInlineText.h: 61890 61891 * rendering/RenderText.cpp: 61892 (WebCore::charactersAreAllASCII): Removed now-unneeded const. 61893 * rendering/RenderTextFragment.cpp: 61894 (WebCore::RenderTextFragment::originalText): Use RefPtr. 61895 61896 2008-01-02 Timothy Hatcher <timothy (a] apple.com> 61897 61898 Reviewed by Oliver Hunt. 61899 61900 <rdar://problem/5618086> WebInspector does not expand the DOM tree after being closed 61901 61902 Closing the Web Inspector causes the DOM tree outline to be torn down, clearing the 61903 internal element lookup tables. The represented DOM node object still holds the identifier 61904 it was assigned, and a later call to findTreeElement will use that original identifier 61905 against a cleared lookup table. In that case we need to fallback on DOM ancestor lookup. 61906 61907 * page/inspector/treeoutline.js: 61908 (TreeOutline.prototype.findTreeElement): If the DOM node already had a __treeElementIdentifier, 61909 but the TreeOutline no longer has the element in the _knownTreeElements list do an ancestor lookup 61910 instead of an early return. 61911 61912 2008-01-02 Alice Liu <alice.liu (a] apple.com> 61913 61914 Reviewed by Maciej. 61915 61916 Fixed <rdar://5283861> (problems scrolling in gmail message content area) 61917 61918 * platform/ScrollView.h: 61919 * platform/win/ScrollViewWin.cpp: 61920 (WebCore::ScrollView::scroll): 61921 Changed return value to bool to reflect success of scroll attempt 61922 61923 2008-01-02 Alexey Proskuryakov <ap (a] webkit.org> 61924 61925 Fixed a typo (pointed out in review, but I somehow missed it at first). 61926 61927 * editing/EditorCommand.cpp: (WebCore::executeDelete): 61928 61929 2008-01-02 Alexey Proskuryakov <ap (a] webkit.org> 61930 61931 Reviewed by Darin. 61932 61933 Resolved several FIXMEs in EditorCommand. 61934 Made recently added commands hidden from JS again. 61935 Removed BackwardDelete implementation, which used to be dead code, but got exposed now. 61936 61937 Tests: editing/execCommand/delete-no-scroll.html 61938 editing/execCommand/forward-delete-no-scroll.html 61939 editing/execCommand/insert-line-break-no-scroll.html 61940 61941 * editing/EditorCommand.cpp: 61942 (WebCore::executeDelete): 61943 (WebCore::executeForwardDelete): 61944 (WebCore::executeInsertLineBreak): 61945 (WebCore::supportedFromMenuOrKeyBinding): 61946 (WebCore::CommandEntry::): 61947 61948 2008-01-02 Alexey Proskuryakov <ap (a] webkit.org> 61949 61950 Reviewed by Darin. 61951 61952 http://bugs.webkit.org/show_bug.cgi?id=14555 61953 action=mailto + method=get - The generated mailto URI is incorrect and the hvalues are encoded twice 61954 61955 http://bugs.webkit.org/show_bug.cgi?id=14774 61956 Submitted data only includes first input item 61957 61958 Reworked encoding of mailto URLs to match other browsers. 61959 Moved most of related logic from FrameLoader::submitForm() to HTMLFormElement::submit(). 61960 61961 Tests: fast/forms/mailto/advanced-get.html 61962 fast/forms/mailto/advanced-put.html 61963 fast/forms/mailto/get-multiple-items-text-plain.html 61964 fast/forms/mailto/get-multiple-items-x-www-form-urlencoded.html 61965 fast/forms/mailto/get-multiple-items.html 61966 fast/forms/mailto/get-non-ascii.html 61967 fast/forms/mailto/get-non-ascii-text-plain.html 61968 fast/forms/mailto/get-overwrite-query.html 61969 fast/forms/mailto/post-append-query.html 61970 fast/forms/mailto/post-multiple-items-multipart-form-data.html 61971 fast/forms/mailto/post-multiple-items-text-plain.html 61972 fast/forms/mailto/post-multiple-items-x-www-form-urlencoded.html 61973 fast/forms/mailto/post-multiple-items.html 61974 61975 * html/HTMLFormElement.cpp: 61976 (WebCore::HTMLFormElement::submit): 61977 * loader/FrameLoader.cpp: 61978 (WebCore::FrameLoader::submitForm): 61979 61980 2008-01-02 Mark Rowe <mrowe (a] apple.com> 61981 61982 Autotools build fix. 61983 61984 * GNUmakefile.am: Remove files before generating them, not after. 61985 61986 2008-01-02 Mark Rowe <mrowe (a] apple.com> 61987 61988 Rubber-stamped by Alp Toker. 61989 61990 Add missing dependencies to some GNUmakefile.am rules. 61991 61992 * GNUmakefile.am: 61993 61994 2008-01-02 Mark Rowe <mrowe (a] apple.com> 61995 61996 Reviewed by Alp Toker. 61997 61998 Autotools build fix. Make can expand $@ to any of the targets for the rule, 61999 while we always want to use the name of the .cpp file as the output file. 62000 62001 * GNUmakefile.am: 62002 62003 2008-01-02 Luca Bruno <lethalman88 (a] gmail.com> 62004 62005 Reviewed by Alp Toker. 62006 62007 http://bugs.webkit.org/show_bug.cgi?id=16115 62008 [GTK] ContextMenu and ContextMenuItem lacks an implementation 62009 62010 Add context menu support. 62011 62012 Based on a patch by Holger Freyther. 62013 62014 * platform/gtk/ContextMenuGtk.cpp: 62015 (WebCore::menuItemActivated): 62016 (WebCore::ContextMenu::ContextMenu): 62017 (WebCore::ContextMenu::~ContextMenu): 62018 (WebCore::ContextMenu::appendItem): 62019 (WebCore::ContextMenu::setPlatformDescription): 62020 (WebCore::ContextMenu::releasePlatformDescription): 62021 * platform/gtk/ContextMenuItemGtk.cpp: 62022 (WebCore::ContextMenuItem::ContextMenuItem): 62023 (WebCore::ContextMenuItem::~ContextMenuItem): 62024 (WebCore::ContextMenuItem::releasePlatformDescription): 62025 (WebCore::ContextMenuItem::type): 62026 (WebCore::ContextMenuItem::action): 62027 (WebCore::ContextMenuItem::setAction): 62028 (WebCore::ContextMenuItem::platformSubMenu): 62029 (WebCore::ContextMenuItem::setSubMenu): 62030 (WebCore::ContextMenuItem::setChecked): 62031 (WebCore::ContextMenuItem::setEnabled): 62032 62033 2008-01-02 Alp Toker <alp (a] atoker.com> 62034 62035 GTK+ autotools build fix. Track changes in r29073. 62036 62037 * GNUmakefile.am: 62038 62039 2008-01-01 Darin Adler <darin (a] apple.com> 62040 62041 - fix release build 62042 62043 * bindings/js/kjs_binding.cpp: 62044 (KJS::setDOMException): Initialize to avoid uninitialized variable warning. 62045 Removed default so we get a warning if there's a missing case. 62046 62047 2008-01-01 David D. Kilzer <ddkilzer (a] webkit.org> 62048 62049 Scripting MIME Types application/ecmascript, application/javascript not viewable 62050 <http://bugs.webkit.org/show_bug.cgi?id=11063> 62051 62052 Reviewed by Darin. 62053 62054 This patch consolidates the list of acceptable MIME types for JavaScript 62055 source into the MIMETypeRegistry class, and replaces checks for these 62056 types with a call to MIMETypeRegistry::isSupportedJavaScriptMIMEType(). 62057 62058 No tests added since viewing JavaScript source is not testable. 62059 62060 * dom/DOMImplementation.cpp: 62061 (WebCore::DOMImplementation::isTextMIMEType): Use 62062 MIMETypeRegistry::isSupportedJavaScriptMIMEType() instead of a single 62063 hard-coded MIME type, "application/x-javascript". 62064 62065 * html/HTMLScriptElement.cpp: 62066 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): Moved list of 62067 JavaScript MIME types from here to 62068 MIMETypeRegistry::initialiseSupportedJavaScriptMIMETypes(). 62069 62070 * platform/MIMETypeRegistry.cpp: 62071 (WebCore::initialiseSupportedJavaScriptMIMETypes): Added. List of 62072 MIME types came from HTMLScriptElement::shouldExecuteAsJavaScript(). 62073 (WebCore::initialiseSupportedNonImageMimeTypes): Remove single 62074 hard-coded MIME type, "application/x-javascript", from the list. 62075 (WebCore::initialiseMIMETypeRegistry): Initialise 62076 supportedJavaScriptMIMETypes, then pre-populate supportedNonImageMIMETypes 62077 with values in supportedJavaScriptMIMETypes. 62078 (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): Added. 62079 62080 * platform/MIMETypeRegistry.h: Added isSupportedJavaScriptMIMEType(). 62081 62082 2008-01-01 Sam Weinig <sam (a] webkit.org> 62083 62084 Reviewed by Darin. 62085 62086 Patch for http://bugs.webkit.org/show_bug.cgi?id=16691 62087 Use real JS objects for the rest of the DOMExceptions (EventException, RangeException, etc) 62088 62089 - Create JS objects for all the different types of exceptions, each with there own prototype and constructor. 62090 - Abstract all the logic and storage for exception classes in to an ExceptionBase class. 62091 - Move specialized ExceptionCodes into the exception classes. (ie. the EventExceptionCode enum is now in EventException). 62092 62093 Tests: fast/dom/DOMException/EventException.html 62094 fast/dom/DOMException/RangeException.html 62095 fast/dom/DOMException/XPathException.html 62096 http/tests/xmlhttprequest/XMLHttpRequestException.html 62097 svg/custom/SVGException.html 62098 62099 * DerivedSources.make: 62100 * WebCore.pro: 62101 * WebCore.vcproj/WebCore.vcproj: 62102 * WebCore.xcodeproj/project.pbxproj: 62103 * WebCoreSources.bkl: 62104 * bindings/js/JSSVGMatrixCustom.cpp: 62105 (WebCore::JSSVGMatrix::inverse): 62106 (WebCore::JSSVGMatrix::rotateFromVector): 62107 * bindings/js/kjs_binding.cpp: 62108 (KJS::setDOMException): 62109 * bindings/scripts/CodeGeneratorJS.pm: Use the constant values defined 62110 in the IDL as the ObjC bindings do. 62111 * bindings/scripts/CodeGeneratorObjC.pm: 62112 * dom/DOMCoreException.cpp: Removed. 62113 * dom/DOMCoreException.h: 62114 (WebCore::DOMCoreException::DOMCoreException): 62115 * dom/DOMCoreException.idl: 62116 * dom/Event.h: 62117 * dom/EventException.h: Copied from WebCore/dom/DOMCoreException.h. 62118 (WebCore::EventException::EventException): 62119 (WebCore::EventException::): 62120 * dom/EventException.idl: Copied from WebCore/dom/DOMCoreException.idl. 62121 * dom/EventTargetNode.cpp: 62122 (WebCore::EventTargetNode::dispatchEvent): 62123 * dom/ExceptionBase.cpp: Copied from WebCore/dom/DOMCoreException.cpp. 62124 (WebCore::ExceptionBase::ExceptionBase): 62125 (WebCore::ExceptionBase::toString): 62126 * dom/ExceptionBase.h: Copied from WebCore/dom/DOMCoreException.h. 62127 (WebCore::ExceptionBase::code): 62128 * dom/ExceptionCode.cpp: 62129 (WebCore::getExceptionCodeDescription): 62130 * dom/ExceptionCode.h: 62131 * dom/Range.cpp: 62132 (WebCore::Range::insertNode): 62133 (WebCore::Range::checkNodeWOffset): 62134 (WebCore::Range::checkNodeBA): 62135 (WebCore::Range::selectNode): 62136 (WebCore::Range::selectNodeContents): 62137 (WebCore::Range::surroundContents): 62138 * dom/RangeException.h: 62139 (WebCore::RangeException::RangeException): 62140 (WebCore::RangeException::): 62141 * dom/RangeException.idl: 62142 * page/DOMWindow.idl: 62143 * svg/SVGColor.cpp: 62144 (WebCore::SVGColor::setRGBColor): 62145 * svg/SVGException.h: 62146 (WebCore::SVGException::SVGException): 62147 (WebCore::SVGException::): 62148 * svg/SVGException.idl: 62149 * svg/SVGLocatable.cpp: 62150 (WebCore::SVGLocatable::getTransformToElement): 62151 * xml/XMLHttpRequest.cpp: 62152 (WebCore::XMLHttpRequest::dispatchEvent): 62153 (WebCore::XMLHttpRequest::open): 62154 (WebCore::XMLHttpRequest::send): 62155 * xml/XMLHttpRequest.h: 62156 * xml/XMLHttpRequestException.h: Copied from WebCore/dom/DOMCoreException.h. 62157 (WebCore::XMLHttpRequestException::XMLHttpRequestException): 62158 (WebCore::XMLHttpRequestException::): 62159 * xml/XMLHttpRequestException.idl: Copied from WebCore/dom/DOMCoreException.idl. 62160 * xml/XPathEvaluator.h: 62161 * xml/XPathException.h: Copied from WebCore/dom/DOMCoreException.h. 62162 (WebCore::XPathException::XPathException): 62163 (WebCore::XPathException::): 62164 * xml/XPathException.idl: Copied from WebCore/dom/DOMCoreException.idl. 62165 * xml/XPathParser.cpp: 62166 (WebCore::XPath::Parser::parseStatement): 62167 * xml/XPathResult.cpp: 62168 (WebCore::XPathResult::convertTo): 62169 (WebCore::XPathResult::numberValue): 62170 (WebCore::XPathResult::stringValue): 62171 (WebCore::XPathResult::booleanValue): 62172 (WebCore::XPathResult::singleNodeValue): 62173 (WebCore::XPathResult::snapshotLength): 62174 (WebCore::XPathResult::iterateNext): 62175 (WebCore::XPathResult::snapshotItem): 62176 62177 2008-01-01 Sam Weinig <sam (a] webkit.org> 62178 62179 Remove JSDomExceptionConstructor.lut.h from clean step 62180 as it no longer exists. 62181 62182 * GNUmakefile.am: 62183 62184 2008-01-01 Dan Bernstein <mitz (a] apple.com> 62185 62186 - Windows build fix 62187 62188 * WebCore.vcproj/WebCore.vcproj: 62189 62190 2008-01-01 Sam Weinig <sam (a] webkit.org> 62191 62192 Try again to fix the builds 62193 62194 * DerivedSources.make: 62195 62196 2008-01-01 Sam Weinig <sam (a] webkit.org> 62197 62198 Fix non-mac builds. 62199 62200 * WebCore.pro: 62201 * WebCore.vcproj/WebCore.vcproj: 62202 * WebCoreSources.bkl: 62203 62204 2008-01-01 Eric Seidel <eric (a] webkit.org> 62205 62206 Reviewed by Alexey. 62207 62208 Don't replace \ with / in data: urls 62209 http://bugs.webkit.org/show_bug.cgi?id=16692 62210 62211 Test: fast/loader/url-data-replace-backslash.html 62212 62213 * platform/KURL.cpp: 62214 (WebCore::KURL::init): 62215 62216 2008-01-01 Alp Toker <alp (a] atoker.com> 62217 62218 GTK+ autotools build fix. Track changes in r29051, r29058 and pass the 62219 correct parameter to AM_INIT_AUTOMAKE. 62220 62221 * GNUmakefile.am: 62222 62223 2007-12-31 Sam Weinig <sam (a] webkit.org> 62224 62225 Reviewed by Darin. 62226 62227 Patch for http://bugs.webkit.org/show_bug.cgi?id=16637 62228 Acid3 expects ExeceptionCode constants to be defined on DOMException objects 62229 62230 - Make DOMException a real JS object. 62231 62232 Test: fast/dom/DOMException/prototype-object.html 62233 62234 * DerivedSources.make: 62235 * WebCore.xcodeproj/project.pbxproj: 62236 62237 This is no longer needed as the autogenerated classes now includes the 62238 constructor. 62239 * bindings/js/JSDOMExceptionConstructor.cpp: Removed. 62240 * bindings/js/JSDOMExceptionConstructor.h: Removed. 62241 62242 Create on demand and use the new class for DOMExceptions. 62243 * bindings/js/kjs_binding.cpp: 62244 (KJS::setDOMException): 62245 62246 Remove no longer needed custom constructor getter. 62247 * bindings/js/kjs_window.cpp: 62248 (KJS::Window::getValueProperty): 62249 62250 Don't expose DOMCoreException as the name of class by special casing 62251 the user visible class name to be DOMException. 62252 * bindings/scripts/CodeGeneratorJS.pm: 62253 62254 The DOMException class/file needs to be named DOMCoreException because there is 62255 name conflict with one of the Objective-C bindings classes. It should be renamed 62256 to DOMException when the Objective-C bindings are moved into WebKit. 62257 * dom/DOMCoreException.cpp: Added. 62258 (WebCore::DOMCoreException::DOMCoreException): 62259 (WebCore::DOMCoreException::toString): 62260 * dom/DOMCoreException.h: Added. 62261 (WebCore::DOMCoreException::): 62262 (WebCore::DOMCoreException::code): 62263 (WebCore::DOMCoreException::name): 62264 (WebCore::DOMCoreException::message): 62265 * dom/DOMCoreException.idl: Added. 62266 * page/DOMWindow.idl: 62267 62268 2007-12-31 Sam Weinig <sam (a] webkit.org> 62269 62270 Re-enable querySelector and querySelectorAll and touch the necessary files to not 62271 kill the windows build. 62272 62273 * WebCore.vcproj/build-generated-files.sh: 62274 * bindings/scripts/CodeGeneratorCOM.pm: 62275 * dom/Document.idl: 62276 * dom/Element.idl: 62277 62278 2007-12-31 Darin Adler <darin (a] apple.com> 62279 62280 - fix Windows build 62281 62282 * dom/Document.idl: Temporarily disable querySelector and querySelectorAll, since they are showing 62283 up as pure virtual functions. Sam can fix this later. 62284 * dom/Element.idl: Ditto. 62285 62286 2007-12-31 Dan Bernstein <mitz (a] apple.com> 62287 62288 Reviewed by Darin Adler. 62289 62290 - fix http://bugs.webkit.org/show_bug.cgi?id=14134 62291 <rdar://problem/5655160> REGRESSION (r25353): Whitespace nodes ignored between inline list items 62292 62293 Test: fast/dynamic/create-renderer-for-whitespace-only-text.html 62294 62295 * dom/Node.cpp: 62296 (WebCore::Node::attach): Added code to check if this node's renderer 62297 has become the "previous renderer" of any sibling text node, and if so, 62298 ensure that that node gets a renderer if it now needs one. 62299 (WebCore::Node::createRendererIfNeeded): Removed the assertion that the 62300 node is not attached. 62301 62302 2007-12-31 Darin Adler <darin (a] apple.com> 62303 62304 Reviewed by Mitz. 62305 62306 - fix http://bugs.webkit.org/show_bug.cgi?id=16641 62307 Acid3 reveals HTMLFormElement.elements fails to update when element name changes 62308 62309 Test: fast/dom/HTMLFormElement/elements-not-in-document.html 62310 62311 This was a bug specific to forms that are not in the document tree. 62312 The fix was to change the code to increment the document version number to match 62313 up with other document change tracking. Maybe at some point we can clean these up 62314 so we don't have so many competing change notification systems. 62315 62316 * dom/ContainerNode.cpp: 62317 (WebCore::ContainerNode::replaceChild): Removed bogus comment. 62318 (WebCore::ContainerNode::addChild): Added an explicit incDOMTreeVersion 62319 call here, since this code path bypasses the subtree-modified event code. 62320 62321 * dom/Element.cpp: 62322 (WebCore::Element::setAttribute): Remove the inDocument() check -- not all HTML 62323 collections are for things in the document. 62324 (WebCore::Element::setAttributeMap): Ditto. 62325 62326 * dom/EventTargetNode.cpp: 62327 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): Added a call to 62328 incDOMTreeVersion here; covers most cases of tree structure changes. 62329 62330 * dom/Node.cpp: 62331 (WebCore::Node::attach): Remove call to incDOMTreeVersion -- creating a renderer 62332 has nothing to do with changes to the DOM tree! 62333 (WebCore::Node::detach): Ditto. 62334 62335 * html/HTMLFormElement.cpp: 62336 (WebCore::HTMLFormElement::registerFormElement): Remove call to incDOMTreeVersion. 62337 This is handled at a lower level and doesn't need to be here. 62338 (WebCore::HTMLFormElement::removeFormElement): Ditto. 62339 62340 2007-12-31 Henry Mason <hmason (a] mac.com> 62341 62342 Reviewed by Darin. 62343 62344 Patch for http://bugs.webkit.org/show_bug.cgi?id=14994 62345 Support for MessageEvent and cross-domain messaging 62346 62347 Test: http/tests/messaging/cross-domain-message-send.html 62348 62349 * DerivedSources.make: 62350 * WebCore.pro: 62351 * WebCore.vcproj/WebCore.vcproj: 62352 * WebCore.xcodeproj/project.pbxproj: 62353 * WebCoreSources.bkl: 62354 * bindings/js/JSDOMWindowCustom.cpp: 62355 (WebCore::JSDOMWindow::customGetOwnPropertySlot): Allow cross-domain access to the 62356 postMessage function. 62357 (WebCore::JSDOMWindow::postMessage): 62358 * bindings/js/JSEventCustom.cpp: 62359 (WebCore::toJS): 62360 * dom/Event.cpp: 62361 (WebCore::Event::isMessageEvent): 62362 * dom/Event.h: 62363 * dom/EventNames.h: New event name 62364 * dom/MessageEvent.cpp: Added. 62365 * dom/MessageEvent.h: Added. 62366 * dom/MessageEvent.idl: Added. 62367 * page/DOMWindow.cpp: 62368 (WebCore::DOMWindow::postMessage): Added. 62369 * page/DOMWindow.h: 62370 * page/DOMWindow.idl: 62371 62372 2007-12-31 Darin Adler <darin (a] apple.com> 62373 62374 Suggested by Antti. 62375 62376 - turn ENABLE_VIDEO back off for Windows until we can install QuickTime on the build bots 62377 62378 * WebCore.vcproj/WebCore.vcproj: Removed ENABLE_VIDEO. 62379 * WebCore.vcproj/build-generated-files.sh: Ditto. 62380 62381 2007-12-30 Alp Toker <alp (a] atoker.com> 62382 62383 Reviewed by Dan Bernstein. 62384 62385 Silence warning. 62386 62387 * dom/NodeList.h: 62388 62389 2007-12-30 Sam Weinig <sam (a] webkit.org> 62390 62391 Reviewed by Oliver Hunt. 62392 62393 Fix for http://bugs.webkit.org/show_bug.cgi?id=16387 62394 Variable names can be enumerated across domains 62395 <rdar://problem/5640454> 62396 62397 Test: http/tests/security/cross-frame-access-enumeration.html 62398 62399 * bindings/js/kjs_window.cpp: 62400 (KJS::Window::getPropertyNames): Override method to test same-origin policy. 62401 * bindings/js/kjs_window.h: 62402 62403 2007-12-30 Sam Weinig <sam (a] webkit.org> 62404 62405 Reviewed by Oliver Hunt. 62406 62407 Patch for http://bugs.webkit.org/show_bug.cgi?id=10686 62408 event instanceof MouseEvent throws exception 62409 62410 Add JS constructors for all the Event types. 62411 62412 Test: fast/events/event-instanceof.html 62413 62414 * WebCore.xcodeproj/project.pbxproj: 62415 * dom/KeyboardEvent.idl: 62416 * dom/MouseEvent.idl: 62417 * dom/MutationEvent.idl: 62418 * dom/OverflowEvent.idl: 62419 * dom/ProgressEvent.idl: 62420 * dom/TextEvent.idl: 62421 * dom/UIEvent.idl: 62422 * dom/WheelEvent.idl: 62423 * page/DOMWindow.idl: 62424 62425 2007-12-30 David Kilzer <ddkilzer (a] webkit.org> 62426 62427 Reviewed by Darin. 62428 62429 - fix http://bugs.webkit.org/show_bug.cgi?id=15359 62430 JPEG image not shown when height is specified as percentage inside a table 62431 62432 The problem occurs when a replaced element (image, canvas, etc.) with 62433 a percent-height attribute is contained by a table cell with an auto- 62434 or percent-height attribute. If there are no other conditions to cause 62435 the table cell's height to expand, an available height of zero will 62436 always be returned. In these cases, the intrinsic height of the 62437 replaced element should be used if it is greater than the available 62438 height of the table cell. 62439 62440 Tests: fast/replaced/table-percent-height.html 62441 tables/mozilla/bugs/bug137388-1.html 62442 tables/mozilla/bugs/bug137388-2.html 62443 62444 * rendering/RenderBox.cpp: 62445 (WebCore::RenderBox::calcReplacedHeightUsing): 62446 62447 2007-12-30 Luca Bruno <lethalman88 (a] gmail.com> 62448 62449 Reviewed by Alp Toker. 62450 62451 http://bugs.webkit.org/show_bug.cgi?id=16099 62452 Crash in CURL for empty POST 62453 62454 We have to set POST even when the data is empty, otherwise cURL will 62455 hang while waiting for a response. 62456 62457 * platform/network/curl/ResourceHandleManager.cpp 62458 (ResourceHandleManager::setupPOST): allow empty POST 62459 62460 2007-12-29 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 62461 62462 Reviewed by Alp Toker. 62463 62464 Move all SVG related stuff inside SVG block. Don't include 62465 SVGNames, SVGElementFactory, and XLinkNames when SVG is not 62466 enabled 62467 62468 * GNUmakefile.am: 62469 62470 2007-12-29 Alexey Proskuryakov <ap (a] webkit.org> 62471 62472 Reviewed by Darin. 62473 62474 http://bugs.webkit.org/show_bug.cgi?id=14428 62475 FCKEditor: Images disappear on drag/drop and copy/paste 62476 62477 Test: editing/pasteboard/drag-image-in-about-blank-frame.html 62478 62479 * editing/markup.cpp: (WebCore::createFragmentFromMarkup): Don't use "about:blank" as a 62480 base URL, just like we don't use an empty one. 62481 62482 2007-12-29 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 62483 62484 Reviewed by Alp Toker. 62485 62486 http://bugs.webkit.org/show_bug.cgi?id=16669 62487 autotools update and fixes 62488 62489 Autotools update and database/icon database inclusion guard fixes 62490 62491 * GNUmakefile.am: 62492 - Update autotools config as per -r29012 changes 62493 - Fix CSSGrammar.h/cpp generation (Seo Sanghyeon, sanxiyn) 62494 * dom/Document.cpp: 62495 * loader/icon/IconDatabase.h: 62496 * page/DOMWindow.cpp: 62497 * page/InspectorController.cpp: 62498 * page/Settings.cpp: 62499 * storage/Database.h: 62500 - Remove ENABLE(DATABASE) inclusion guard. Let the includer add the guard instead. 62501 62502 2007-12-29 Nikolas Zimmermann <zimmermann (a] kde.org> 62503 62504 Reviewed by Alexey. 62505 62506 Respect horiz-origin-x / horiz-origin-y / vert-origin-x / vert-origin-y properties when drawing SVG Fonts. 62507 (Fixes fonts-elem-05-t.svg in a --svg-fonts build) 62508 62509 * svg/SVGFont.cpp: 62510 (WebCore::Font::drawGlyphsWithSVGFont): 62511 62512 2007-12-29 Nikolas Zimmermann <zimmermann (a] kde.org> 62513 62514 Reviewed by Oliver. 62515 62516 Further SVG Font work. Parse all <glyph> attributes, using SVGGlyphElement::buildGlyphIdentifier. 62517 SVGFontElement::collectGlyphs() now uses this method. Per character advance values work well now. 62518 62519 * platform/graphics/FontData.cpp: 62520 (WebCore::SVGFontData::convertEmUnitToPixel): Add helper function. 62521 (WebCore::FontData::ascent): 62522 (WebCore::FontData::descent): 62523 * platform/graphics/FontData.h: 62524 * svg/SVGFont.cpp: 62525 (WebCore::isVerticalWritingMode): Add helper function. 62526 (WebCore::Font::drawGlyphsWithSVGFont): 62527 * svg/SVGFontElement.cpp: 62528 (WebCore::SVGFontElement::collectGlyphs): Simplified implementation - SVGGlyphIdentifier now build by SVGGlyphElement. 62529 * svg/SVGGlyphElement.cpp: 62530 (WebCore::parseArabicForm): Helper function. 62531 (WebCore::parseOrientation): Ditto. 62532 (WebCore::parsePathData): Ditto. 62533 (WebCore::SVGGlyphElement::buildGlyphIdentifier): 62534 * svg/SVGGlyphElement.h: 62535 (WebCore::SVGGlyphElement::rendererIsNeeded): 62536 62537 2007-12-29 Nikolas Zimmermann <zimmermann (a] kde.org> 62538 62539 Reviewed by Oliver. 62540 62541 Refactor SVGAnimationElement::parseValues into a generic function parseDelimitedString. 62542 SVGAnimationElement needs to parse semicolon-seperated strings, SVGGlyphElement comma-seperated. 62543 62544 * svg/SVGAnimationElement.cpp: 62545 (WebCore::SVGAnimationElement::parseMappedAttribute): 62546 * svg/SVGParserUtilities.cpp: 62547 (WebCore::parseDelimitedString): 62548 * svg/SVGParserUtilities.h: 62549 62550 2007-12-29 Nikolas Zimmermann <zimmermann (a] kde.org> 62551 62552 Reviewed by Maciej. 62553 62554 Add new helper structure SVGFontData - FontData holds this object as OwnPtr. 62555 Store several attribute values there (horiz-adv-x, horiz-origin-x etc..) 62556 62557 To optimize for the common case ('FontData' used for HTML rendering) it feels 62558 better to hold one OwnPtr in FontData, than several floats. 62559 62560 Parse all <font> attributes in SVGFontFaceElement::createFontData. 62561 62562 * platform/graphics/FontData.cpp: 62563 (WebCore::SVGFontData::SVGFontData): 62564 (WebCore::FontData::FontData): 62565 (WebCore::FontData::ascent): 62566 (WebCore::FontData::descent): 62567 * platform/graphics/FontData.h: 62568 (WebCore::FontData::isSVGFont): 62569 (WebCore::FontData::svgFontData): 62570 * svg/SVGFont.cpp: 62571 (WebCore::Font::drawGlyphsWithSVGFont): 62572 * svg/SVGFontElement.cpp: 62573 * svg/SVGFontElement.h: 62574 (WebCore::SVGFontElement::rendererIsNeeded): 62575 * svg/SVGFontFaceElement.cpp: 62576 (WebCore::SVGFontFaceElement::unitsPerEm): 62577 (WebCore::SVGFontFaceElement::createFontData): 62578 62579 2007-12-28 Darin Adler <darin (a] apple.com> 62580 62581 - try to fix Windows and WX builds (broken by SVG Fonts check-in) 62582 62583 * platform/graphics/win/FontWin.cpp: 62584 (WebCore::Font::drawGlyphs): Pass font size to FontData::ascent, now that it requires it. 62585 I can't see how it can be right to require the font size for ascent and descent, 62586 but not for other metrics functions in FontData. 62587 62588 * platform/graphics/wx/FontWx.cpp: 62589 (WebCore::Font::drawGlyphs): Pass font size to FontData::ascent and FontData::descent. 62590 62591 2007-12-28 Dan Bernstein <mitz (a] apple.com> 62592 62593 Reviewed by Mark Rowe. 62594 62595 - fix http://bugs.webkit.org/show_bug.cgi?id=16650 62596 <rdar://problem/5664872> REGRESSION (r28278-r28314): ATSUI uses LTR writing direction for all text runs 62597 62598 Covered by existing pixel tests. 62599 62600 * platform/graphics/mac/FontMac.mm: 62601 (WebCore::Font::drawComplexText): Corrected to maintain the style 62602 information in the adjusted text run when passing it to 62603 ATSUILayoutParameters. Prior to r28298 the style was passed separately. 62604 62605 2007-12-29 Nikolas Zimmermann <zimmermann (a] kde.org> 62606 62607 Build fix, not reviewed. 62608 62609 Add wtf/OwnPtr.h include, to fix --svg-fonts build. 62610 62611 * css/SVGCSSFontFace.h: 62612 62613 2007-12-29 Nikolas Zimmermann <zimmermann (a] kde.org> 62614 62615 Reviewed by Eric. 62616 62617 Fixes: http://bugs.webkit.org/show_bug.cgi?id=10649 (WebKit SVG needs SVG Fonts support) 62618 62619 Begin implementation of SVG Fonts module. Basic documents using SVG Fonts already work. 62620 Only local, in-document fonts who declare their glyphs using the <glyph d="..."> path syntax 62621 are supported. (<glyph> containing arbitary SVG content as child elements, not supported yet). 62622 62623 Limited to single char <-> glyph mapping, no ligatures supported yet. 62624 (ie. <glyph unicode='A'/> <glyph unicode='AB'/> - it ignores the 'AB' glyph definition for now) 62625 62626 Mark all SVG Font related classes & usages in ENABLE(SVG_FONTS) blocks. 62627 62628 No layout test changes for a --no-svg-fonts build, heavy changes if enabled. Because a lot of SVG Font 62629 attributes are not processed yet, the rendering looks wrong - hence disabled by default.) 62630 62631 * DerivedSources.make: Add SVGFontElement/SVGGlyphElement/SVGMissingGlyphElement 62632 * WebCore.pro: Updated build system. 62633 * WebCore.vcproj/WebCore.vcproj: Ditto. 62634 * WebCore.xcodeproj/project.pbxproj: Ditto. 62635 * bindings/js/JSSVGElementWrapperFactory.cpp: Add JSSVGFontElement/JSSVGGlyphElement/JSSVGMissingGlyphElement 62636 * bindings/objc/DOM.mm: Ditto (for DOMSVG*). 62637 (WebCore::createElementClassMap): 62638 * bindings/objc/DOMInternal.h: Ditto. 62639 * bindings/objc/DOMSVG.h: Ditto. 62640 * css/CSSFontFace.h: Mark three functions 'virtual', to be overriden by SVGCSSFontFace 62641 * css/CSSFontFaceSrcValue.h: Add functionality to identify as SVG CSS font face source. 62642 (WebCore::CSSFontFaceSrcValue::m_fontFaceElement): Hold a pointer to the font face which created it. 62643 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement): 62644 (WebCore::CSSFontFaceSrcValue::setSVGFontFaceElement): 62645 * css/CSSFontSelector.cpp: Build 'SVGCSSFontFace' objects for local, in-document SVG fonts. 62646 (WebCore::CSSFontSelector::addFontFaceRule): 62647 * css/SVGCSSFontFace.cpp: Added. (Simplified implementation for SVG Fonts) 62648 (WebCore::SVGCSSFontFace::SVGCSSFontFace): 62649 (WebCore::SVGCSSFontFace::~SVGCSSFontFace): 62650 (WebCore::SVGCSSFontFace::isValid): 62651 (WebCore::SVGCSSFontFace::addSource): 62652 (WebCore::SVGCSSFontFace::getFontData): 62653 * css/SVGCSSFontFace.h: Added. 62654 * platform/graphics/cg/PathCG.cpp: 62655 (WebCore::Path::closeSubpath): Silence a CG warning when calling closeSubpath() on empty path. 62656 * platform/graphics/Font.cpp: Add some logic to call into SVG Font code when operating on SVG Fonts. 62657 (WebCore::Font::ascent): Pass font size to FontData::ascent() call 62658 (WebCore::Font::descent): Pass font size to FontData::descent() call 62659 (WebCore::Font::canUseGlyphCache): Always return true for SVG fonts here. 62660 (WebCore::Font::drawGlyphBuffer): Call drawGlyphsWithSVGFont (instead of drawGlyphs) if the primary font is a SVG font. 62661 * platform/graphics/Font.h: Add (SVG-only!) ability to store a RenderObject pointer, to the element which invoked the drawText() call. 62662 (WebCore::TextRun::TextRun): 62663 (WebCore::TextRun::referencingRenderObject): 62664 (WebCore::TextRun::setReferencingRenderObject): 62665 * platform/graphics/FontData.cpp: 62666 (WebCore::FontData::FontData): 62667 (WebCore::FontData::ascent): 62668 (WebCore::FontData::descent): 62669 * platform/graphics/FontData.h: Store a pointer to the SVGFontFaceElement, which created this FontData object - needed for drawGlyphsWithSVGFont(). 62670 (WebCore::FontData::isSVGFont): Offer a way to determine wheter this is a FontData object, created by a SVGFontFaceElement. 62671 (WebCore::FontData::svgFontFace): 62672 * rendering/SVGInlineTextBox.cpp: 62673 (WebCore::SVGInlineTextBox::calculateGlyphWidth): Add assertion. 62674 * rendering/SVGRootInlineBox.cpp: 62675 (WebCore::svgTextRunForInlineTextBox): Always call 'setReferencingRenderObject(myRenderSVGText)' on the new TextRun 62676 * svg/SVGFont.cpp: Added. 62677 (WebCore::Font::drawGlyphsWithSVGFont): Outsourced implementation of SVG Fonts into it's own file. 62678 * svg/SVGFontElement.cpp: Added. (Note: this holds the GlyphHashMap which associates certain <glyph> objects with unicode values) 62679 (WebCore::SVGFontElement::SVGFontElement): 62680 (WebCore::SVGFontElement::~SVGFontElement): 62681 (WebCore::SVGFontElement::parseMappedAttribute): 62682 (WebCore::SVGFontElement::collectGlyphs): 62683 (WebCore::SVGFontElement::glyphIdentifierForGlyphCode): 62684 * svg/SVGFontElement.h: Added. 62685 (WebCore::GlyphHash::hash): 62686 (WebCore::GlyphHash::equal): 62687 (WebCore::GlyphHashTraits::deletedValue): 62688 (WebCore::SVGFontElement::rendererIsNeeded): 62689 (WebCore::SVGFontElement::contextElement): 62690 * svg/SVGFontElement.idl: Added. 62691 * svg/SVGFontFaceElement.cpp: Build SVG specific 'FontData' object 62692 (WebCore::SVGFontFaceElement::unitsPerEm): 62693 (WebCore::SVGFontFaceElement::fontFamily): 62694 (WebCore::SVGFontFaceElement::createFontData): Builds SVG specified 'FontData' object with the markup specified ascent/descent values etc.. 62695 (WebCore::SVGFontFaceElement::rebuildFontFace): Construct CSSFontFaceSrc object (marked as 'isSVGFontFaceSrc') to satisfy CSSFontSelector::addFontFaceRule. 62696 (WebCore::SVGFontFaceElement::insertedIntoDocument): Rebuild font face. 62697 (WebCore::SVGFontFaceElement::glyphIdentifierForGlyphCode): Allows drawGlyphsWithSVGFont to access the glyph hash map living in the SVGFontElement. 62698 * svg/SVGFontFaceElement.h: Fixed code formatting issues & wrap in ENABLE(SVG_FONTS) blocks. 62699 * svg/SVGFontFaceElement.idl: Ditto. 62700 * svg/SVGFontFaceFormatElement.cpp: Ditto. 62701 * svg/SVGFontFaceFormatElement.h: Ditto. 62702 * svg/SVGFontFaceFormatElement.idl: Ditto. 62703 * svg/SVGFontFaceNameElement.cpp: Ditto. 62704 * svg/SVGFontFaceNameElement.h: Ditto. 62705 * svg/SVGFontFaceNameElement.idl: Ditto. 62706 * svg/SVGFontFaceSrcElement.cpp: Ditto. 62707 * svg/SVGFontFaceSrcElement.h: Ditto. 62708 * svg/SVGFontFaceSrcElement.idl: Ditto. 62709 * svg/SVGFontFaceUriElement.cpp: Ditto. 62710 * svg/SVGFontFaceUriElement.h: Ditto. 62711 * svg/SVGFontFaceUriElement.idl: Ditto. 62712 * svg/SVGDefinitionSrcElement.cpp: Ditto. 62713 * svg/SVGDefinitionSrcElement.h: Ditto. 62714 * svg/SVGDefinitionSrcElement.idl: Ditto. 62715 * svg/SVGGlyphElement.cpp: Added. 62716 (WebCore::SVGGlyphElement::SVGGlyphElement): 62717 (WebCore::SVGGlyphElement::parseMappedAttribute): 62718 (WebCore::SVGGlyphElement::childrenChanged): 62719 * svg/SVGGlyphElement.h: Added. 62720 (WebCore::SVGGlyphElement::rendererIsNeeded): 62721 (WebCore::SVGGlyphIdentifier::): Structure holding all data to represent a SVG glyph (origin, advance, orientation etc..) 62722 (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier): 62723 * svg/SVGGlyphElement.idl: Added. 62724 * svg/SVGMissingGlyphElement.cpp: Added. (stub implementation) 62725 (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement): 62726 (WebCore::SVGMissingGlyphElement::parseMappedAttribute): 62727 (WebCore::SVGMissingGlyphElement::childrenChanged): 62728 * svg/SVGMissingGlyphElement.h: Added. 62729 (WebCore::SVGMissingGlyphElement::rendererIsNeeded): 62730 * svg/SVGMissingGlyphElement.idl: Added. 62731 * svg/svgtags.in: Wrap all SVGFont* elements in ENABLE(SVG_FONTS) block - to assure --no-svg-fonts compilation works (which is the default for now!). 62732 62733 2007-12-27 Dan Bernstein <mitz (a] apple.com> 62734 62735 Reviewed by Alexey Proskuryakov. 62736 62737 - fix http://bugs.webkit.org/show_bug.cgi?id=16628 62738 ASSERTION FAILED: m_resizeLayer (running layout tests) 62739 62740 * rendering/RenderLayer.cpp: 62741 (WebCore::RenderLayer::~RenderLayer): Avoid calling 62742 EventHandler::resizeLayerDestroyed() if the document is being destroyed. 62743 62744 2007-12-27 Dan Bernstein <mitz (a] apple.com> 62745 62746 Reviewed by Oliver Hunt. 62747 62748 - fix http://bugs.webkit.org/show_bug.cgi?id=16603 62749 <rdar://problem/5664199> Crash when resizing text field 62750 62751 Test: fast/layers/resize-layer-deletion-crash.html 62752 62753 The event handler has only a weak reference to the layer that is 62754 currently in resize mode, so it is the layer's responsibility to let 62755 the event handler know if it has been destroyed while in that mode. 62756 62757 * page/EventHandler.cpp: 62758 (WebCore::EventHandler::resizeLayerDestroyed): Added. Resets 62759 m_resizeLayer to 0. 62760 * page/EventHandler.h: 62761 * rendering/RenderLayer.cpp: 62762 (WebCore::RenderLayer::~RenderLayer): Added a call to 62763 EventHandler::resizeLayerDestroyed() if the layer is in resize mode. 62764 62765 2007-12-27 Collin Jackson <webkit (a] collinjackson.com> 62766 62767 Reviewed by Sam Weinig. 62768 62769 http://bugs.webkit.org/show_bug.cgi?id=16539 62770 <rdar://problem/5659269> 62771 62772 The same-origin check was missing in the implementation of 62773 setTimeout, setInterval, addEventListener, and removeEventListener. 62774 62775 Suppose <http://www.badguy.com/> contains an iframe to 62776 <http://www.goodguy.com/>. Now www.badguy.com can steal 62777 www.goodguy.com cookies by running this code: 62778 62779 setTimeout.call(frames[0], "alert(document.cookie)", 1000); 62780 62781 This patch changes the behavior so that setTimeout to does 62782 nothing and returns an undefined value if the caller is not 62783 permitted to script the window whose setTimeout method is being 62784 called. The same applies to setInterval, addEventListener, and 62785 removeEventListener. 62786 62787 Tests: http/tests/security/cross-frame-access-call.html 62788 62789 * bindings/js/kjs_window.cpp: 62790 (KJS::WindowProtoFuncSetTimeout::callAsFunction) 62791 (KJS::WindowProtoFuncSetInterval::callAsFunction) 62792 (KJS::WindowProtoFuncAddEventListener::callAsFunction) 62793 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction) 62794 62795 2007-12-27 Dan Bernstein <mitz (a] apple.com> 62796 62797 Reviewed by Dave Hyatt and Sam Weinig. 62798 62799 - fix <rdar://problem/5605937> Inspector: Disclosure triangle not drawn in node's properties panel until click 62800 62801 Test: fast/layers/add-layer-with-nested-stacking.html 62802 Test: fast/layers/remove-layer-with-nested-stacking.html 62803 62804 * rendering/RenderLayer.cpp: 62805 (WebCore::RenderLayer::addChild): If the new child is overflow-only 62806 but has children of its own, dirty the stacking context's z-order lists 62807 since the grandchildren might need to be in them. 62808 (WebCore::RenderLayer::removeChild): Similarly for the old child. 62809 62810 2007-12-27 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 62811 62812 Reviewed by Alp Toker. 62813 62814 http://bugs.webkit.org/show_bug.cgi?id=16353 62815 [GTK] Check for deprecated API use (G_DISABLE_DEPRECATED etc.) 62816 62817 Added the flags mentioned in the bug only when doing 'debug' 62818 builds. -DGST_DISABLE_DEPRECATED only added when video is enabled. 62819 62820 * GNUmakefile.am: 62821 * WebCore.pro: 62822 62823 2007-12-27 Dan Bernstein <mitz (a] apple.com> 62824 62825 Reviewed by Eric Seidel. 62826 62827 - fix http://bugs.webkit.org/show_bug.cgi?id=16490 62828 ASSERT in ~FrameView while viewing/reloading WICD test case 62829 62830 Test: fast/dynamic/paused-event-dispatch.html 62831 62832 * page/FrameView.cpp: 62833 (WebCore::FrameView::~FrameView): 62834 (WebCore::FrameView::layout): Changed to always pause event dispatch and 62835 always resume event dispatch, regardless of whether the post-layout 62836 task timer is active. However, if it is active, assert that event 62837 dispatch is still paused. 62838 62839 2007-12-27 Alexey Proskuryakov <ap (a] webkit.org> 62840 62841 Reviewed by Maciej. 62842 62843 http://bugs.webkit.org/show_bug.cgi?id=14500 62844 need to be more generous about charset declaration with meta tag 62845 62846 http://bugs.webkit.org/show_bug.cgi?id=12526 62847 <rdar://problem/4867183> Safari ignores encoding description "charset=Shift_JIS" in invalid html 62848 62849 <rdar://problem/4892428> Unlike other browsers, WebKit ignores <meta> charset definitions outside the head 62850 62851 <rdar://problem/5643774> REGRESSION: Text is garbled when clicking a link inside an Arabic website 62852 62853 Tests: fast/encoding/ahram-org-eg.html 62854 fast/encoding/bandai-co-jp-releases.html 62855 fast/encoding/floraexpress-ru.html 62856 fast/encoding/hanarei-blog32-fc2-com.html 62857 fast/encoding/yahoo-mail.html 62858 62859 * loader/TextResourceDecoder.cpp: 62860 (WebCore::TextResourceDecoder::checkForHeadCharset): Don't stop looking for <meta> until we've 62861 seen at least 512 bytes of input. 62862 62863 2007-12-26 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 62864 62865 Reviewed by Alp Toker. 62866 62867 http://bugs.webkit.org/show_bug.cgi?id=16390 62868 Use autotools or GNU make as the build system for the GTK port 62869 62870 * GNUmakefile.am: Added. 62871 62872 2007-12-26 Alexey Proskuryakov <ap (a] webkit.org> 62873 62874 Reviewed by Sam Weinig. 62875 62876 http://bugs.webkit.org/show_bug.cgi?id=16609 62877 Make manual-tests/xmlhttprequest-contenttype-empty.html test automatic 62878 62879 * manual-tests/xmlhttprequest-contenttype-empty.html: Removed (moved to LayoutTests/http). 62880 62881 2007-12-26 Mark Rowe <mrowe (a] apple.com> 62882 62883 Windows build fix. 62884 62885 * platform/Threading.h: 62886 62887 2007-12-25 Rob Buis <buis (a] kde.org> 62888 62889 Reviewed by Eric. 62890 62891 http://bugs.webkit.org/show_bug.cgi?id=15514 62892 <clipPath> with <use> not respected 62893 http://bugs.webkit.org/show_bug.cgi?id=16557 62894 SVG circle elements have been clipped away completely, instead of partially. 62895 62896 Add toClipPath to get clip path data for the clipping paths. Implement it for <use>, thereby allowing clip paths using use. 62897 62898 * svg/SVGClipPathElement.cpp: 62899 (WebCore::SVGClipPathElement::canvasResource): 62900 * svg/SVGStyledTransformableElement.h: 62901 (WebCore::SVGStyledTransformableElement::toClipPath): 62902 * svg/SVGUseElement.cpp: 62903 (WebCore::isDirectReference): 62904 (WebCore::SVGUseElement::toClipPath): 62905 * svg/SVGUseElement.h: 62906 62907 2007-12-25 Sam Weinig <sam (a] webkit.org> 62908 62909 Reviewed by Eric Seidel. 62910 62911 Clean up the files relating to NodeLists. 62912 62913 * dom/ChildNodeList.cpp: 62914 (WebCore::ChildNodeList::ChildNodeList): 62915 (WebCore::ChildNodeList::length): 62916 (WebCore::ChildNodeList::item): 62917 (WebCore::ChildNodeList::nodeMatches): 62918 * dom/ChildNodeList.h: 62919 * dom/DynamicNodeList.cpp: 62920 (WebCore::DynamicNodeList::itemForwardsFromCurrent): 62921 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): 62922 (WebCore::DynamicNodeList::itemWithName): 62923 * dom/DynamicNodeList.h: 62924 (WebCore::DynamicNodeList::needsNotifications): 62925 * dom/NameNodeList.cpp: 62926 (WebCore::NameNodeList::NameNodeList): 62927 (WebCore::NameNodeList::rootNodeAttributeChanged): 62928 (WebCore::NameNodeList::nodeMatches): 62929 * dom/NameNodeList.h: 62930 * dom/NodeList.h: 62931 * dom/SelectorNodeList.h: 62932 62933 2007-12-25 Sam Weinig <sam (a] webkit.org> 62934 62935 Fix non-mac builds. 62936 62937 * WebCore.pro: 62938 * WebCore.vcproj/WebCore.vcproj: 62939 * WebCoreSources.bkl: 62940 62941 2007-12-25 Sam Weinig <sam (a] webkit.org> 62942 62943 Rubber stamped by Eric Seidel. 62944 62945 Move TagNodeList into its own file. 62946 62947 * WebCore.xcodeproj/project.pbxproj: 62948 * dom/Node.cpp: 62949 * dom/TagNodeList.cpp: Copied from dom/Node.cpp. 62950 (WebCore::TagNodeList::TagNodeList): 62951 * dom/TagNodeList.h: Copied from dom/Node.cpp. 62952 62953 2007-12-25 Sam Weinig <sam (a] webkit.org> 62954 62955 Reviewed by Eric Seidel. 62956 62957 Simplify the NodeList architecture. 62958 - Rename recursiveItem() to item(), since it is not recursive. 62959 - Make recursiveLength() iterative and rename to length(). 62960 - Remove now unneeded overrides of item() and length() that used 62961 to call the recursive variants. 62962 62963 * dom/ClassNodeList.cpp: 62964 * dom/ClassNodeList.h: 62965 * dom/DynamicNodeList.cpp: 62966 (WebCore::DynamicNodeList::length): 62967 (WebCore::DynamicNodeList::item): 62968 (WebCore::DynamicNodeList::rootNodeAttributeChanged): Move implementation 62969 into the .cpp file since virtual methods can't be inlined. 62970 * dom/DynamicNodeList.h: 62971 * dom/NameNodeList.cpp: 62972 * dom/NameNodeList.h: 62973 * dom/Node.cpp: 62974 62975 2007-12-25 Alp Toker <alp (a] atoker.com> 62976 62977 More complete GTK+/Qt/Wx/Win build fixes for breakage introduced in 62978 r28981. 62979 62980 * WebCore.pro: 62981 * WebCore.vcproj/WebCore.vcproj: 62982 * WebCoreSources.bkl: 62983 62984 2007-12-25 Alp Toker <alp (a] atoker.com> 62985 62986 Win build fix for breakage introduced in r28981. 62987 62988 * WebCore.vcproj/WebCore.vcproj: 62989 62990 2007-12-25 Alp Toker <alp (a] atoker.com> 62991 62992 Wx build fix for breakage introduced in r28981. 62993 62994 * WebCoreSources.bkl: 62995 62996 2007-12-25 Alp Toker <alp (a] atoker.com> 62997 62998 GTK+/Qt build fix for breakage introduced in r28981. 62999 63000 * WebCore.pro: 63001 63002 2007-12-25 David Smith <catfish.man (a] gmail.com> and Sam Weinig <sam (a] webkit.org> 63003 63004 Reviewed by Oliver. 63005 63006 - http://bugs.webkit.org/show_bug.cgi?id=16587 63007 Implement the most useful part of the W3C Selectors API. 63008 63009 * WebCore.xcodeproj/project.pbxproj: 63010 * css/CSSStyleSelector.h: Make Node a friend of CSSStyleSelector so it can use checkSelector() 63011 * dom/ChildNodeList.cpp: 63012 (WebCore::ChildNodeList::ChildNodeList): Change to being a DynamicNodeList 63013 * dom/ChildNodeList.h: 63014 * dom/ClassNodeList.cpp: 63015 (WebCore::ClassNodeList::ClassNodeList): Change to being a DynamicNodeList 63016 * dom/ClassNodeList.h: 63017 * dom/Document.idl: Add the new functions 63018 * dom/DynamicNodeList.cpp: Copied from WebCore/dom/NodeList.cpp. 63019 (WebCore::DynamicNodeList::DynamicNodeList): Rename NodeList to DynamicNodeList, to differentiate it from the new StaticNodeList 63020 (WebCore::DynamicNodeList::~DynamicNodeList): 63021 (WebCore::DynamicNodeList::recursiveLength): 63022 (WebCore::DynamicNodeList::itemForwardsFromCurrent): 63023 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): 63024 (WebCore::DynamicNodeList::recursiveItem): 63025 (WebCore::DynamicNodeList::itemWithName): 63026 (WebCore::DynamicNodeList::rootNodeChildrenChanged): 63027 (WebCore::DynamicNodeList::Caches::Caches): 63028 (WebCore::DynamicNodeList::Caches::reset): 63029 * dom/DynamicNodeList.h: Copied from WebCore/dom/NodeList.h. 63030 (WebCore::DynamicNodeList::rootNodeAttributeChanged): 63031 * dom/Element.idl: Add the new functions 63032 * dom/NameNodeList.cpp: Change to being a DynamicNodeList 63033 (WebCore::NameNodeList::NameNodeList): 63034 * dom/NameNodeList.h: 63035 (WebCore::NameNodeList::rootNodeAttributeChanged): 63036 * dom/Node.cpp: 63037 (WebCore::TagNodeList::TagNodeList): Change to being a DynamicNodeList 63038 (WebCore::Node::registerDynamicNodeList): 63039 (WebCore::Node::unregisterDynamicNodeList): 63040 (WebCore::Node::getElementsByName): 63041 (WebCore::Node::getElementsByClassName): 63042 (WebCore::Node::querySelector): new 63043 (WebCore::Node::querySelectorAll): new 63044 * dom/Node.h: 63045 * dom/NodeList.cpp: Removed. 63046 * dom/NodeList.h: This is now an abstract superclass of DynamicNodeList and StaticNodeList 63047 (WebCore::NodeList::NodeList): 63048 (WebCore::NodeList::~NodeList): 63049 * dom/SelectorNodeList.cpp: Added. 63050 (WebCore::SelectorNodeList::SelectorNodeList): New StaticNodeList subclass that filters elements by CSS selector 63051 * dom/SelectorNodeList.h: Added. 63052 * dom/StaticNodeList.cpp: Added. 63053 (WebCore::StaticNodeList::length): 63054 (WebCore::StaticNodeList::item): 63055 (WebCore::StaticNodeList::itemWithName): 63056 * dom/StaticNodeList.h: Added. 63057 (WebCore::StaticNodeList::StaticNodeList): 63058 (WebCore::StaticNodeList::~StaticNodeList): 63059 63060 2007-12-25 Mark Rowe <mrowe (a] apple.com> 63061 63062 Reviewed by Sam Weinig. 63063 63064 Implement a lock-free ThreadSafeShared for i386, x86_64, ppc and ppc64. 63065 http://bugs.webkit.org/show_bug.cgi?id=16596 63066 63067 This is a 1.7x as fast as the lock-based implementation on x86 for a single-threaded use 63068 of ThreadSafeShared but is closer to 280x as fast when there is heavy concurrent multi-threaded 63069 access to a single ThreadSafeShared object. 63070 63071 The atomic operations are based on those used by the Boost C++ library's shared_ptr implementation. 63072 63073 * platform/Threading.h: 63074 (WebCore::atomicIncrement): 63075 (WebCore::atomicDecrement): 63076 (WebCore::ThreadSafeShared::ThreadSafeShared): 63077 (WebCore::ThreadSafeShared::ref): Use lock-free operations if available. 63078 (WebCore::ThreadSafeShared::deref): Ditto. 63079 (WebCore::ThreadSafeShared::hasOneRef): 63080 (WebCore::ThreadSafeShared::refCount): 63081 (WebCore::ThreadSafeShared::isThreadSafe): 63082 63083 2007-12-24 Darin Adler <darin (a] apple.com> 63084 63085 * platform/text/PlatformString.h: Removed now-incorrect comment. 63086 Added a comment about copy(). 63087 * platform/text/StringImpl.h: Added a comment about copy(). 63088 63089 2007-12-24 Darin Adler <darin (a] apple.com> 63090 63091 Reviewed by Maciej. 63092 63093 - http://bugs.webkit.org/show_bug.cgi?id=16550 63094 make StringImpl immutable 63095 63096 I tried to keep the changes to a minimum. In some cases there is 63097 room for optimization -- I didn't try to add in the "single ref count" 63098 optimizations and there might be a tiny bit more string copying than 63099 we had before. 63100 63101 * WebCore.base.exp: Updated. 63102 63103 * dom/CharacterData.cpp: 63104 (WebCore::CharacterData::appendData): Changed to use String since 63105 StringImpl doesn't have mutating functions any more. 63106 (WebCore::CharacterData::insertData): Ditto. 63107 (WebCore::CharacterData::deleteData): Ditto. 63108 (WebCore::CharacterData::replaceData): Ditto. 63109 * dom/Text.cpp: 63110 (WebCore::Text::splitText): Changed to use substring instead of 63111 remove since StringImpl does't have mutating functions any more. 63112 * editing/CompositeEditCommand.cpp: 63113 (WebCore::CompositeEditCommand::deleteInsignificantText): Changed 63114 to use String instead of StringImpl so we can use remove. 63115 63116 * platform/text/PlatformString.h: Removed newUninitialized. 63117 Added append that takes a character pointer and length. 63118 63119 * platform/text/String.cpp: 63120 (WebCore::String::insert): Added an implementation that does not 63121 rely on an underlying StringImpl function. 63122 (WebCore::String::append): Ditto. 63123 (WebCore::String::truncate): Ditto. 63124 (WebCore::String::remove): Ditto. 63125 (WebCore::String::charactersWithNullTermination): Added an 63126 implementation that uses the new StringImpl null termination feature, 63127 which does not require modifying a string. 63128 63129 * platform/text/StringImpl.cpp: 63130 (WebCore::isSpace): Fix comment. 63131 (WebCore::StringImpl::StringImpl): Added a new constructor that makes 63132 a string with a trailing null character. 63133 (WebCore::StringImpl::substring): Marked const. 63134 (WebCore::StringImpl::replace): Marked const; had to add quite a few 63135 const_cast. Also rewrote one of these to work without modifying the 63136 existing string. 63137 63138 * platform/text/StringImpl.h: Fixed a mistake where the empty string had 63139 m_hasTerminatingNullCharacter uninitialized. Added a type and constructor 63140 for creating strings that have a trailing null character. Added a 63141 hasTerminatingNullCharacter function. Removed newUninitialized, 63142 charactersWithNullTermination, append, insert, truncate, and remove. 63143 Marked lots of other functions const. 63144 63145 * platform/text/TextCodecLatin1.cpp: 63146 (WebCore::TextCodecLatin1::decode): Rewrote to use a Vector instead of 63147 newUninitialized. 63148 * platform/text/TextCodecUTF16.cpp: 63149 (WebCore::TextCodecUTF16::decode): Ditto. 63150 * platform/text/TextCodecUserDefined.cpp: 63151 (WebCore::TextCodecUserDefined::decode): Ditto. 63152 63153 * rendering/RenderStyle.cpp: 63154 (WebCore::RenderStyle::setContent): Changed to use String since 63155 StringImpl doesn't have mutating functions any more. 63156 63157 2007-12-24 Alexey Proskuryakov <ap (a] webkit.org> 63158 63159 Reviewed by Oliver. 63160 63161 Fix fast/events/arrow-keys-on-body.html, failing on Windows. 63162 63163 * platform/win/KeyEventWin.cpp: 63164 (WebCore::isKeypadEvent): 63165 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 63166 Use HIWORD() macro instead of shifting the value explicitly (no change in behavior). 63167 63168 2007-12-23 Alexey Proskuryakov <ap (a] webkit.org> 63169 63170 Fix Debug and Release QTMovieWin bulds. 63171 63172 * WebCore.vcproj/QTMovieWin.vcproj: 63173 * WebCore.vcproj/debug.vsprops: 63174 * WebCore.vcproj/debug_internal.vsprops: 63175 * WebCore.vcproj/release.vsprops: 63176 Use LibraryConfigSuffix instead of WebKitConfigSuffix for pthreadVC2. 63177 Build release import lib into \lib, not \bin. 63178 63179 2007-12-23 Alp Toker <alp (a] atoker.com> 63180 63181 Reviewed by Holger Freyther. 63182 63183 http://bugs.webkit.org/show_bug.cgi?id=15382 63184 [CAIRO] Canvas pattern support 63185 63186 http://bugs.webkit.org/show_bug.cgi?id=16577 63187 Merge Cairo enhancements from Apollo project 63188 63189 Add support for canvas patterns. 63190 63191 Make Image::nativeImageForCurrentFrame() public. 63192 63193 Fix some typos along the way. 63194 63195 The globalAlpha canvas fixes are not included in this patch as 63196 they're slightly more intrusive and may conflict conceptually with 63197 GraphicsContext::setAlpha(). 63198 63199 * html/CanvasPattern.cpp: 63200 (WebCore::CanvasPattern::CanvasPattern): 63201 (WebCore::CanvasPattern::~CanvasPattern): 63202 (WebCore::CanvasPattern::createPattern): 63203 * html/CanvasPattern.h: 63204 (WebCore::CanvasPattern::platformImage): 63205 * html/CanvasRenderingContext2D.cpp: 63206 (WebCore::CanvasRenderingContext2D::setShadow): 63207 (WebCore::CanvasRenderingContext2D::applyShadow): 63208 (WebCore::CanvasRenderingContext2D::drawImage): 63209 (WebCore::CanvasRenderingContext2D::createPattern): 63210 (WebCore::CanvasRenderingContext2D::applyStrokePattern): 63211 (WebCore::CanvasRenderingContext2D::applyFillPattern): 63212 * platform/graphics/Image.h: 63213 (WebCore::Image::nativeImageForCurrentFrame): 63214 63215 2007-12-23 Kevin Ollivier <kevino (a] theolliviers.com> 63216 63217 Reviewed by Eric Seidel. 63218 63219 Remove getWxBitmap as we have nativeImageForCurrentFrame now, 63220 and don't draw a border in fillRect. 63221 63222 * platform/graphics/BitmapImage.h: 63223 * platform/graphics/wx/GraphicsContextWx.cpp: 63224 (WebCore::GraphicsContext::fillRect): 63225 * platform/graphics/wx/ImageWx.cpp: 63226 63227 2007-12-23 Alp Toker <alp (a] atoker.com> 63228 63229 Reviewed by Holger Freyther. 63230 63231 http://bugs.webkit.org/show_bug.cgi?id=16577 63232 Merge Cairo enhancements from Apollo project 63233 63234 This patch is based on initial merging work by Brent Fulgham. Adobe's 63235 code has been modified in a few places to better suit the existing 63236 coding style. 63237 63238 Implement more clipping and drawing functions. 63239 63240 Save and restore the fill rule manually when clipping. 63241 63242 Avoid image surface creation when the image buffer has height zero. 63243 63244 * platform/graphics/cairo/GraphicsContextCairo.cpp: 63245 (WebCore::GraphicsContext::clip): 63246 (WebCore::GraphicsContext::addInnerRoundedRectClip): 63247 (WebCore::GraphicsContext::addPath): 63248 (WebCore::GraphicsContext::clipOut): 63249 (WebCore::GraphicsContext::clipOutEllipseInRect): 63250 (WebCore::GraphicsContext::fillRoundedRect): 63251 * platform/graphics/cairo/ImageSourceCairo.cpp: 63252 (WebCore::ImageSource::createFrameAtIndex): 63253 63254 2007-12-23 Nikolas Zimmermann <zimmermann (a] kde.org> 63255 63256 Reviewed by Mark. 63257 63258 Fix wrong placed ifdef - wrapping SVGDefsElement, instead of SVGDefinitionSrcElement in SVG_FONTS block. 63259 63260 * bindings/objc/DOM.mm: 63261 (WebCore::createElementClassMap): 63262 63263 2007-12-22 Alp Toker <alp (a] atoker.com> 63264 63265 GTK+ build fix 63266 63267 GTK_TARGET_OTHER_APP is not available in older GTK+ versions. Pass 63268 empty target flags for now. 63269 63270 Check GTK+, not GLib versions, since they are different. 63271 63272 * platform/gtk/PasteboardGtk.cpp: 63273 (WebCore::Pasteboard::documentFragment): 63274 63275 2007-12-22 Luca Bruno <lethalman88 (a] gmail.com> 63276 63277 Reviewed by Alp Toker. 63278 63279 http://bugs.webkit.org/show_bug.cgi?id=16311 63280 [Gtk] Copy rich text to clipboard as text/plain and text/html. 63281 63282 Hook into the WebView to get the correct clipboard object on the 63283 appropriate display. This is necessary because GTK+ does not have 63284 global clipboards. 63285 63286 * WebCore.pro: 63287 * platform/Pasteboard.h: 63288 (WebCore::Pasteboard::setHelper): added for GTK 63289 (WebCore::Pasteboard::m_helper): private added for GTK 63290 * platform/gtk/PasteboardGtk.cpp: 63291 (WebCore::PasteboardSelectionData): added to support GTK selection data callback 63292 (WebCore::clipboard_get_contents_cb): added 63293 (WebCore::clipboard_clear_contents_cb): added 63294 (WebCore::Pasteboard::~Pasteboard): 63295 (WebCore::Pasteboard::setHelper): 63296 (WebCore::Pasteboard::writeSelection): copy rich text 63297 (WebCore::Pasteboard::documentFragment): 63298 (WebCore::Pasteboard::plainText): 63299 * platform/gtk/PasteboardHelper.h: Added. 63300 63301 2007-12-22 Nikolas Zimmermann <zimmermann (a] kde.org> 63302 63303 Reviewed by Oliver. 63304 63305 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15966 (Crash in SVGRootInlineBox::walkTextChunks() on mouse hover) 63306 63307 Add new isSVGRootInlineBox() function to InlineBox to be able to differentiate between RootInlineBox/SVGRootInlineBox. 63308 SVG assumed it's root inline box (for <text> elements) is always of type SVGRootInlineBox, which is not the case 63309 for HTML text in <foreignObject>. Text selection doesn't work so far as line box offsets are wrong - which is visible 63310 in Web Inspector. 63311 63312 * rendering/InlineBox.h: 63313 (WebCore::InlineBox::isSVGRootInlineBox): 63314 * rendering/SVGInlineTextBox.cpp: 63315 (WebCore::SVGInlineTextBox::svgRootInlineBox): 63316 (WebCore::SVGInlineTextBox::closestCharacterToPosition): 63317 (WebCore::SVGInlineTextBox::selectionRect): 63318 * rendering/SVGRenderTreeAsText.cpp: 63319 (WebCore::writeSVGInlineTextBox): 63320 * rendering/SVGRootInlineBox.h: 63321 (WebCore::SVGRootInlineBox::isSVGRootInlineBox): 63322 63323 2007-12-22 Alp Toker <alp (a] atoker.com> 63324 63325 LOW_BANDWIDTH_DISPLAY build fix 63326 63327 Track recent KURL DeprecatedString changes. 63328 63329 * loader/FrameLoader.cpp: 63330 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): 63331 63332 2007-12-22 Dan Bernstein <mitz (a] apple.com> 63333 63334 - Windows build fix 63335 63336 * WebCore.vcproj/WebCore.vcproj: 63337 63338 2007-12-22 Xan Lopez <xan (a] gnome.org> 63339 63340 Reviewed by Alp Toker. 63341 63342 Add missing return 0 to fix a compile warning. 63343 63344 * page/gtk/FrameGtk.cpp: 63345 (WebCore::Frame::createScriptInstanceForWidget): 63346 63347 2007-12-21 Antti Koivisto <antti (a] apple.com> 63348 63349 Reviewed by Darin, Adam and Steve. 63350 63351 Add media playback support for Windows. 63352 63353 The implementation uses low level QuickTime API. DLL is 63354 needed to work around CF use in both WebKit and QuickTime. 63355 63356 This makes Windows build depend on the QuickTime SDK 63357 63358 http://developer.apple.com/quicktime/download/ 63359 63360 but not QuickTime itself. 63361 63362 QTMovieWinTimer contains some copy code from SharedTimerWin. It 63363 is used in the QuickTime access DLL which can't use WebCore 63364 SharedTimer due to dependency problems. 63365 63366 * WebCore.vcproj/QTMovieWin.vcproj: Added. 63367 * WebCore.vcproj/WebCore.vcproj: 63368 * WebCore.vcproj/build-generated-files.sh: 63369 * html/HTMLMediaElement.cpp: 63370 (WebCore::HTMLMediaElement::setSrc): 63371 * platform/graphics/MediaPlayer.cpp: 63372 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Added. 63373 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 63374 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 63375 (WebCore::MediaPlayerPrivate::load): 63376 (WebCore::MediaPlayerPrivate::play): 63377 (WebCore::MediaPlayerPrivate::pause): 63378 (WebCore::MediaPlayerPrivate::duration): 63379 (WebCore::MediaPlayerPrivate::currentTime): 63380 (WebCore::MediaPlayerPrivate::seek): 63381 (WebCore::MediaPlayerPrivate::doSeek): 63382 (WebCore::MediaPlayerPrivate::cancelSeek): 63383 (WebCore::MediaPlayerPrivate::seekTimerFired): 63384 (WebCore::MediaPlayerPrivate::setEndTime): 63385 (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded): 63386 (WebCore::MediaPlayerPrivate::endPointTimerFired): 63387 (WebCore::MediaPlayerPrivate::paused): 63388 (WebCore::MediaPlayerPrivate::seeking): 63389 (WebCore::MediaPlayerPrivate::naturalSize): 63390 (WebCore::MediaPlayerPrivate::hasVideo): 63391 (WebCore::MediaPlayerPrivate::setVolume): 63392 (WebCore::MediaPlayerPrivate::setMuted): 63393 (WebCore::MediaPlayerPrivate::setRate): 63394 (WebCore::MediaPlayerPrivate::dataRate): 63395 (WebCore::MediaPlayerPrivate::maxTimeBuffered): 63396 (WebCore::MediaPlayerPrivate::maxTimeSeekable): 63397 (WebCore::MediaPlayerPrivate::maxTimeLoaded): 63398 (WebCore::MediaPlayerPrivate::bytesLoaded): 63399 (WebCore::MediaPlayerPrivate::totalBytesKnown): 63400 (WebCore::MediaPlayerPrivate::totalBytes): 63401 (WebCore::MediaPlayerPrivate::cancelLoad): 63402 (WebCore::MediaPlayerPrivate::updateStates): 63403 (WebCore::MediaPlayerPrivate::didEnd): 63404 (WebCore::MediaPlayerPrivate::setRect): 63405 (WebCore::MediaPlayerPrivate::setVisible): 63406 (WebCore::MediaPlayerPrivate::paint): 63407 (WebCore::MediaPlayerPrivate::getSupportedTypes): 63408 (WebCore::MediaPlayerPrivate::movieEnded): 63409 (WebCore::MediaPlayerPrivate::movieLoadStateChanged): 63410 (WebCore::MediaPlayerPrivate::movieTimeChanged): 63411 (WebCore::MediaPlayerPrivate::movieNewImageAvailable): 63412 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Added. 63413 (WebCore::MediaPlayerPrivate::networkState): 63414 (WebCore::MediaPlayerPrivate::readyState): 63415 * platform/graphics/win/QTMovieWin.cpp: Added. 63416 (updateTaskTimer): 63417 (QTMovieWinPrivate::QTMovieWinPrivate): 63418 (QTMovieWinPrivate::~QTMovieWinPrivate): 63419 (taskTimerFired): 63420 (QTMovieWinPrivate::startTask): 63421 (QTMovieWinPrivate::endTask): 63422 (QTMovieWinPrivate::task): 63423 (QTMovieWinPrivate::registerDrawingCallback): 63424 (QTMovieWinPrivate::drawingComplete): 63425 (QTMovieWinPrivate::createGWorld): 63426 (QTMovieWinPrivate::setSize): 63427 (QTMovieWinPrivate::deleteGWorld): 63428 (QTMovieWin::QTMovieWin): 63429 (QTMovieWin::~QTMovieWin): 63430 (QTMovieWin::play): 63431 (QTMovieWin::pause): 63432 (QTMovieWin::rate): 63433 (QTMovieWin::setRate): 63434 (QTMovieWin::duration): 63435 (QTMovieWin::currentTime): 63436 (QTMovieWin::setCurrentTime): 63437 (QTMovieWin::setVolume): 63438 (QTMovieWin::setMuted): 63439 (QTMovieWin::dataSize): 63440 (QTMovieWin::maxTimeLoaded): 63441 (QTMovieWin::loadState): 63442 (QTMovieWin::getNaturalSize): 63443 (QTMovieWin::setSize): 63444 (QTMovieWin::setVisible): 63445 (QTMovieWin::paint): 63446 (QTMovieWin::load): 63447 (movieDrawingCompleteProc): 63448 (initializeSupportedTypes): 63449 (QTMovieWin::countSupportedTypes): 63450 (QTMovieWin::getSupportedType): 63451 (QTMovieWin::initializeQuickTime): 63452 (DllMain): 63453 * platform/graphics/win/QTMovieWin.h: Added. 63454 * platform/graphics/win/QTMovieWinTimer.cpp: Added. 63455 (TimerWindowWndProc): 63456 (initializeOffScreenTimerWindow): 63457 (setSharedTimerFiredFunction): 63458 (timerFired): 63459 (setSharedTimerFireDelay): 63460 (stopSharedTimer): 63461 (setSharedTimerInstanceHandle): 63462 (systemTime): 63463 * platform/graphics/win/QTMovieWinTimer.h: Added. 63464 * rendering/RenderMedia.cpp: 63465 (WebCore::MediaControlPlayButtonElement::update): 63466 63467 2007-12-21 Brent Fulgham <bfulgham (a] gmail.com> 63468 63469 Reviewed by Alp Toker. 63470 63471 http://bugs.webkit.org/show_bug.cgi?id=16558 63472 Cairo WebCore Rendering Fails on arc drawing 63473 63474 Fix for bug reported (and patched) by Apollo team in which 63475 arcs were draw in reverse (resulting in inverted images). 63476 Review of the source found that the 'clockwise' term was 63477 actually meant to mean 'anticlockwise' so the IDL and 63478 supporting classes have been changed to match this. 63479 63480 * html/CanvasRenderingContext2D.cpp: 63481 (WebCore::CanvasRenderingContext2D::arc): 63482 * html/CanvasRenderingContext2D.idl: 63483 * platform/graphics/cairo/PathCairo.cpp: 63484 (WebCore::Path::addArc): 63485 (WebCore::Path::addEllipse): 63486 * platform/graphics/Path.h: 63487 63488 2007-12-21 Alexey Proskuryakov <ap (a] webkit.org> 63489 63490 Reviewed by Oliver. 63491 63492 <rdar://problem/5629995> Incorrect display of Danish characters on web site. 63493 63494 Test: http/tests/xmlhttprequest/response-encoding.html 63495 63496 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData): 63497 Default to UTF-8 for HTML, too. It's unfortunate that we have to use different 63498 rules for main content and XHR responses, but this matches both IE and Firefox. 63499 63500 2007-12-20 Jon Honeycutt <jhoneycutt (a] apple.com> 63501 63502 Reviewed by Kevin Decker. 63503 63504 <rdar://problem/5655797> REGRESSION(304-306A10) Safari does not find 63505 shockwave plugin on freshly installed OS 63506 63507 Look for Director plugin in its native directory. 63508 63509 * plugins/win/PluginDatabaseWin.cpp: 63510 (WebCore::PluginDatabaseWin::getPluginsInPaths): The Director plugin 63511 doesn't start with "np," so special case its filename. 63512 (WebCore::addMacromediaPluginPaths): Add Flash and "Shockwave 10" 63513 directories to the plugin paths. 63514 (WebCore::PluginDatabaseWin::defaultPluginPaths): 63515 63516 2007-12-20 Peter Kasting <pkasting (a] google.com> 63517 63518 Reviewed by Alp Toker. 63519 63520 http://bugs.webkit.org/show_bug.cgi?id=16508 63521 Fix regression in GIFImageDecoder.cpp: "Haeberli hack" led to wrongly 63522 decoded transparent areas. 63523 63524 * platform/image-decoders/gif/GIFImageDecoder.cpp: 63525 (WebCore::GIFImageDecoder::haveDecodedRow): 63526 * platform/image-decoders/gif/GIFImageDecoder.h: 63527 * platform/image-decoders/gif/GIFImageReader.cpp: 63528 (GIFImageReader::output_row): 63529 63530 2007-12-20 Justin Garcia <justin.garcia (a] apple.com> 63531 63532 Reviewed by Oliver Hunt. 63533 63534 <rdar://problem/5543472> GoogleDocs: Safari hangs when creating a list from a particular selection 63535 63536 Still need to fix similar issues with the other operations that iterate 63537 over selected paragraphs, like FormatBlock, Indent and Outdent (<rdar://problem/5658933>). 63538 63539 * editing/IndentOutdentCommand.cpp: 63540 (WebCore::IndentOutdentCommand::indentRegion): Added a FIXME. 63541 * editing/IndentOutdentCommand.h: Removed an unused function. 63542 * editing/InsertListCommand.cpp: 63543 (WebCore::InsertListCommand::modifyRange): 63544 Renamed visibleStart to startOfSelection and visibleEnd to endOfSelection. 63545 Call the new selectionForParagraphIteration, which a) prevents operations like this 63546 one from being performed on a table that isn't fully selected (where the selection 63547 starts just before the table and ends inside it), and b) helps prevent paragraph 63548 iteration from going past the end of the selection. 63549 Call the new startOfNextParagraph, instead of using endOfParagraph(v).next(), 63550 since when v is in the last paragraph of the last cell of a table, that expression 63551 will return the position after the table, not the start of the next paragraph. 63552 * editing/htmlediting.cpp: 63553 (WebCore::enclosingListChild): Don't go above a table cell, so that list operations 63554 take effect inside the table cell where they are performed. 63555 (WebCore::selectionForParagraphIteration): Added, see above. 63556 (WebCore::indexForVisiblePosition): Moved from IndentOutdentCommand.cpp. 63557 * editing/htmlediting.h: 63558 * editing/visible_units.cpp: 63559 (WebCore::startOfNextParagraph): Added, see above. 63560 * editing/visible_units.h: 63561 * editing/TextIterator.h: 63562 (WebCore::TextIterator::exitNode): Added a FIXME. 63563 63564 2007-12-20 Alp Toker <alp (a] atoker.com> 63565 63566 Rubber-stamped by Maciej. 63567 63568 http://bugs.webkit.org/show_bug.cgi?id=16542 63569 [GTK] Text is missing with old Pango version 63570 63571 Back out commits r28880, r28876, r28865, r28864 which added Pango font 63572 selection support. These changes caused a regression where no text was 63573 displayed with older Pango versions. 63574 63575 * platform/graphics/gtk/FontCacheGtk.cpp: 63576 (WebCore::FontCache::fontExists): 63577 * platform/graphics/gtk/FontDataGtk.cpp: 63578 (WebCore::FontData::platformDestroy): 63579 (WebCore::FontData::containsCharacters): 63580 * platform/graphics/gtk/FontPlatformData.h: 63581 (WebCore::FontPlatformData::FontPlatformData): 63582 (WebCore::FontPlatformData::hash): 63583 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 63584 (WebCore::FontPlatformData::FontPlatformData): 63585 (WebCore::FontPlatformData::init): 63586 (WebCore::FontPlatformData::~FontPlatformData): 63587 (WebCore::FontPlatformData::isFixedPitch): 63588 (WebCore::FontPlatformData::operator==): 63589 * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: 63590 (WebCore::GlyphPage::fill): 63591 63592 2007-12-20 Timothy Hatcher <timothy (a] apple.com> 63593 63594 Reviewed by Sam Weinig. 63595 63596 <rdar://problem/5604897> Double-clicking on JavaScript console error 63597 won't show the line where it occurred 63598 63599 Make the URLs clickable in the console, since double clicking is used for 63600 word text selection. Makes the word "line" localizable. Messages that don't 63601 have a URL will no longer print "undefined". Messages that have a line number 63602 less than or equal to 0 will no longer be printed. 63603 63604 * English.lproj/InspectorLocalizedStrings.js: Add "%s (line %d)". 63605 * page/inspector/ConsolePanel.js: Tweak how the DOM nodes are created 63606 and change the click handler to look for a link with the 63607 "console-message-url" class name. 63608 * page/inspector/SourcePanel.js: Call setupSourceFrameIfNeeded() if a 63609 line row is needed. 63610 * page/inspector/inspector.css: Update the look of the URL in the console. 63611 63612 2007-12-20 Adam Barth <hk9565 (a] gmail.com> 63613 63614 Reviewed and landed by Sam Weinig. 63615 63616 http://bugs.webkit.org/show_bug.cgi?id=15313 63617 <rdar://problem/5514516> 63618 63619 The same-origin check was incorrect in two cases (both fixed in this 63620 patch): 63621 63622 A) If both the source and the target have set their document.domain 63623 to the same value, the protocol must also match in order for 63624 access to be allowed. Without this requirement, the browser is 63625 vulnerable to the following attack: 63626 63627 1) Suppose there is an HTTPS site (www.example.com) that sets 63628 document.domain = "example.com". 63629 2) A network attacker redirects the browser to http://www.example.com/ 63630 a) injects script to set document.domain = "example.com", and 63631 b) opens a window to https://www.example.com/ 63632 3) Now the network attacker can inject script into the HTTPS page, 63633 stealing cookies and issuing banking transactions. 63634 63635 B) If only one of the source and target has set document.domain, then 63636 access should be denied. With this behavior, the browser is 63637 vulnerable to the following attack: 63638 63639 1) Suppose http://foo.example.com/ opens an iframe to 63640 http://foo.example.com/frame.html that 63641 a) sets document.domain = "example.com", and 63642 b) opens an iframe to http://bar.example.com/ 63643 This is a common usage of document.domain for cross-domain 63644 communication, see for example: 63645 http://www.collinjackson.com/research/papers/fp801-jackson.pdf 63646 2) The inner-most iframe, which is from bar.example.com, sets 63647 document.domain = "example.com". 63648 3) Now the inner-most iframe can inject script into the middle 63649 iframe (say via document.write). This bar.example.com script 63650 now has access to the outer-most frame (from foo.example.com). 63651 63652 Both these changes cause WebKit to match the behavior of Firefox 2 and 63653 IE6 in these cases. This patch includes regression tests for both 63654 issues. 63655 63656 Internet Explorer 7 and Opera 9 are more strict in that they require 63657 the port numbers to match when both pages have document.domain set. 63658 Opera 9 allows access when only one page has set document.domain, but 63659 this is a security vulnerability. 63660 63661 Tests: http/tests/security/cross-frame-access-child-explicit-domain.html 63662 http/tests/security/cross-frame-access-parent-explicit-domain.html 63663 63664 * bindings/js/kjs_window.cpp: 63665 (KJS::createWindow): 63666 (KJS::Window::allowsAccessFrom): 63667 * dom/Document.cpp: 63668 (WebCore::Document::domain): 63669 (WebCore::Document::setDomain): 63670 (WebCore::Document::initSecurityOrigin): 63671 * dom/Document.h: 63672 (WebCore::Document::securityOrigin): 63673 * loader/FrameLoader.cpp: 63674 (WebCore::FrameLoader::begin): 63675 (WebCore::FrameLoader::checkCallImplicitClose): 63676 (WebCore::FrameLoader::shouldAllowNavigation): 63677 * platform/SecurityOrigin.cpp: 63678 (WebCore::SecurityOrigin::setForURL): 63679 (WebCore::SecurityOrigin::createForFrame): 63680 (WebCore::SecurityOrigin::canAccess): 63681 * platform/SecurityOrigin.h: 63682 (WebCore::SecurityOrigin::domain): 63683 * storage/Database.cpp: 63684 (WebCore::Database::openDatabase): 63685 (WebCore::Database::Database): 63686 (WebCore::Database::securityOriginData): 63687 * storage/Database.h: 63688 (WebCore::Database::databaseDebugName): 63689 * storage/DatabaseTracker.cpp: 63690 (WebCore::DatabaseTracker::canEstablishDatabase): 63691 * storage/SQLTransaction.cpp: 63692 (WebCore::SQLTransaction::postflightAndCommit): 63693 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): 63694 63695 2007-12-20 Rodney Dawes <dobey (a] wayofthemonkey.com> 63696 63697 Reviewed by Darin Adler. 63698 63699 Define XP_UNIX when building with plugins on X11. 63700 Use new npruntime_internal.h instead of npruntime.h. 63701 http://bugs.webkit.org/show_bug.cgi?id=15669 63702 63703 * ForwardingHeaders/bindings/npruntime_internal.h 63704 * WebCore.pro: 63705 * html/HTMLPlugInElement.h: 63706 63707 2007-12-19 johnnyding.webkit <johnnyding.webkit (a] gmail.com> 63708 63709 Reviewed by Alexey. Landed by Stephanie. 63710 63711 - fix http://bugs.webkit.org/show_bug.cgi?id=16179 | <rdar://problem/5619399> 63712 Any attribute name start with a unicode which like #xx00(x could be any hex number[0-9a-f]) will cause HTMLTokenizer parse error 63713 Actually any unicode characters which great than 255 in attribute name will cause Webkit parse the attribute name wrong. So after comparing 63714 the same scenario in IE 6/7, FireFox 2/3, Opera, we should treat those characters as part of attribute name. 63715 63716 63717 * html/HTMLTokenizer.cpp: 63718 (WebCore::HTMLTokenizer::parseEntity): Handle Unicode Entity Name by using ASCII version of findEntity. 63719 (WebCore::HTMLTokenizer::parseTag): Let type of ptr match type of cBuffer. 63720 * html/HTMLTokenizer.h: Change type of cBuffer from char to UChar. 63721 63722 2007-12-20 Eric Seidel <eric (a] webkit.org> 63723 63724 Reviewed by Nikolas Zimmermann. 63725 63726 WebKit claims to support SVG feature strings it shouldn't 63727 http://bugs.webkit.org/show_bug.cgi?id=15480 63728 63729 * dom/DOMImplementation.cpp: 63730 (WebCore::isSVG10Feature): 63731 (WebCore::isSVG11Feature): 63732 63733 2007-12-20 John Sullivan <sullivan (a] apple.com> 63734 63735 Reviewed by Oliver and Geoff 63736 63737 - fix <rdar://problem/5536858> Yellow highlight for find results is sometimes shorter 63738 than white "hole" behind it 63739 63740 * rendering/RenderText.cpp: 63741 (WebCore::RenderText::addLineBoxRects): 63742 respect useSelectionHeight in all cases; we were only respecting it in one of the two cases 63743 63744 2007-12-20 Dan Bernstein <mitz (a] apple.com> 63745 63746 Reviewed by Darin Adler. 63747 63748 - fix <rdar://problem/5656368> REGRESSION(3.0.4-ToT): Acid2 test fails to render anything 63749 63750 * platform/win/ScrollViewWin.cpp: 63751 (WebCore::ScrollView::maximumScroll): Changed back to return the maximum 63752 scroll offsets even if scrolling is not allowed, because navigation and 63753 scrollTo should still work. 63754 (WebCore::ScrollView::wheelEvent): Added early return if scrolling is 63755 not allowed. 63756 63757 2007-12-17 Tony Chang <idealisms (a] gmail.com> 63758 63759 Reviewed by Darin. 63760 63761 - Fix for http://bugs.webkit.org/show_bug.cgi?id=16479 63762 text selection does not always begin at mouse down point 63763 Reset the m_dragSrc object on mouse down on all platforms. 63764 63765 Test: fast/text/reset-drag-on-mouse-down.html 63766 63767 * page/EventHandler.cpp: 63768 (WebCore::EventHandler::handleMousePressEvent): 63769 * page/mac/EventHandlerMac.mm: 63770 (WebCore::EventHandler::mouseDown): 63771 63772 2007-12-19 Geoffrey Garen <ggaren (a] apple.com> 63773 63774 Reviewed by Oliver Hunt. 63775 63776 Build support: 63777 * ForwardingHeaders/kjs/SymbolTable.h: Added. 63778 * ForwardingHeaders/wtf/VectorTraits.h: Added. 63779 63780 * bindings/js/JSDOMWindowCustom.cpp: 63781 (WebCore::JSDOMWindow::customGetOwnPropertySlot): Replaced use of 63782 getDirectLocation with getOwnPropertySlot. getDirectLocation is no 63783 longer valid, since global declarations are not stored in the property 63784 map. 63785 63786 (WebCore::JSDOMWindow::customPut): Replaced use of JSObject::put with 63787 JSGlobalObject::put. JSObject::put is no longer valid, since global 63788 declarations are not stored in the property map. 63789 63790 * bindings/js/kjs_window.cpp: Replaced JSObject:: calls with Base:: 63791 calls, since JSObject is not our base class. This was always a bug, but 63792 the bug is even more apparent after some of my changes. 63793 63794 (KJS::Window::clear): Removed call to clearProperties because 63795 JSGlobalObject::reset takes care of that now. 63796 63797 * history/CachedPage.cpp: 63798 * history/CachedPage.h: Added support for saving a symbol table and 63799 localStorage to the page cache, and restoring it. 63800 63801 2007-12-19 Dan Bernstein <mitz (a] apple.com> 63802 63803 Reviewed by Darin Adler and Dave Hyatt. 63804 63805 - Substitute the user's preferred standard font for an unknown primary 63806 font before falling back on the platform's last resort font 63807 63808 Cannot be tested in DumpRenderTree because it sets the standard font to 63809 Times, which is also the hard-coded last resort font on Mac. 63810 63811 * css/CSSFontSelector.cpp: 63812 (WebCore::CSSFontSelector::getFontData): Changed the early bail out 63813 condition to allow getting generic font families from settings even if 63814 there are not @font-face rules. Fixed a typo that mapped fantasy to 63815 cursive. Added a mapping from -webkit-standard to the standard family. 63816 * css/CSSStyleSelector.cpp: 63817 (WebCore::CSSStyleSelector::CSSStyleSelector): Changed to always create 63818 a font selector. 63819 (WebCore::CSSRuleSet::addRulesFromSheet): 63820 (WebCore::CSSStyleSelector::applyProperty): Changed to always use the 63821 font selector. 63822 * css/CSSStyleSelector.h: 63823 (WebCore::CSSStyleSelector::fontSelector): 63824 * platform/graphics/FontCache.cpp: 63825 (WebCore::FontCache::getFontData): Try the user's preferred standard 63826 font before the platform's last resort font. 63827 63828 2007-12-19 Sven Herzberg <sven (a] imendio.com> 63829 63830 Reviewed by Alp Toker. 63831 63832 Scaled font destruction takes place in FontData::platformDestroy(). No 63833 need to do it in FontPlatformData::~FontPlatformData(). 63834 63835 Destroying platform data in platformDestroy() is a convention we 63836 borrow from the Mac and Win ports. 63837 63838 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 63839 63840 2007-12-19 Alice Liu <alice.liu (a] apple.com> 63841 63842 build fix (Windows) 63843 63844 Changed uint to unsigned int. uint caused Windows build breakage 63845 63846 * page/Page.cpp: 63847 (WebCore::Page::markAllMatchesForText): 63848 * page/Page.h: 63849 63850 2007-12-19 Christian Dywan <christian (a] twotoasts.de> 63851 63852 Reviewed by Alp Toker. 63853 63854 http://bugs.webkit.org/show_bug.cgi?id=16222 63855 [GTK] Implement inline search and highlighting of matching strings. 63856 63857 Implement search and highlighting logic directly in WebCore. 63858 63859 * page/Page.cpp: 63860 (WebCore::incrementFrame): 63861 (WebCore::Page::findString): 63862 (WebCore::Page::markAllMatchesForText): 63863 (WebCore::Page::unmarkAllTextMatches): 63864 * page/Page.h: 63865 63866 2007-12-19 Geoffrey Garen <ggaren (a] apple.com> 63867 63868 Reviewed by Sam Weinig, Dan Bernstein. 63869 63870 Tiger build fix: restored some graphics code still needed on Tiger. 63871 63872 * platform/graphics/GraphicsTypes.h: 63873 * platform/graphics/cg/GraphicsContextCG.cpp: 63874 * platform/graphics/mac/GraphicsContextMac.mm: 63875 (WebCore::GraphicsContext::setCompositeOperation): 63876 63877 2007-12-19 Alp Toker <alp (a] atoker.com> 63878 63879 Build fix for Pango < 1.18.0 breakage introduced in r28864. Use Fc and 63880 the Pango backend API in these cases. 63881 63882 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 63883 (WebCore::FontPlatformData::FontPlatformData): 63884 (WebCore::FontPlatformData::~FontPlatformData): 63885 63886 2007-12-19 Alice Liu <alice.liu (a] apple.com> 63887 63888 Reviewed by Darin. 63889 63890 Fixed <rdar://problem/5592485> Safari crashed trying to get a motorcycle insurance quote 63891 on Geico.com WebCore::Document::inPageCache() 63892 63893 Calling Node::willRemove on the focusedNode would immediately tell the document to remove 63894 the focused node, and trigger JS events. This means that the document is mutated while 63895 the engine is trying to tell all child nodes that it's about to removed. To avoid 63896 crashing, we need to hold off on mutating the document until node traversal is finished. 63897 63898 * dom/ContainerNode.cpp: 63899 (WebCore::ContainerNode::removeChild): 63900 (WebCore::ContainerNode::removeChildren): 63901 * dom/Node.cpp: 63902 * dom/Node.h: 63903 (WebCore::Node::willRemove): 63904 * loader/FrameLoader.cpp: 63905 (WebCore::FrameLoader::clear): 63906 63907 2007-12-19 Andre Boule <aboule (a] apple.com> 63908 63909 Reviewed by Dan Bernstein. 63910 63911 Test: fast/canvas/canvas-composite.html 63912 63913 Fix for: 63914 <rdar://problem/5640059> GraphicsContext::setCompositeOperation should use CGContextSetBlendMode 63915 63916 This fix makes setCompositeOperation consistent across all platforms that use CG. 63917 63918 The following compositing modes don't pass however that is covered by another bug: 63919 source-in 63920 source-out 63921 destination-in 63922 destination-atop 63923 copy 63924 <rdar://problem/5651783> Some canvas tag compositing modes don't render correctly 63925 63926 * platform/graphics/GraphicsTypes.h: 63927 * platform/graphics/cg/GraphicsContextCG.cpp: 63928 (WebCore::GraphicsContext::setCompositeOperation): 63929 * platform/graphics/mac/GraphicsContextMac.mm: 63930 * platform/win/GraphicsContextWin.cpp: 63931 63932 2007-12-19 Dan Bernstein <mitz (a] apple.com> 63933 63934 Reviewed by Dave Hyatt. 63935 63936 - fix <rdar://problem/5650045> REGRESSION: major layout problems in svn r28754 WebKit on Vox.com page 63937 63938 Test: fast/dynamic/subtree-boundary-percent-height.html 63939 63940 * rendering/RenderObject.cpp: 63941 (WebCore::objectIsRelayoutBoundary): Do not allow overflows with 63942 percent heights because sometimes they compute to 'auto'. 63943 63944 2007-12-19 Sam Weinig <sam (a] webkit.org> 63945 63946 Reviewed by Maciej. 63947 63948 http://bugs.webkit.org/show_bug.cgi?id=16511 63949 Speed up ClassNodeList and NamedNodeList by using the caching mechanism employed by ChildNodeList. 63950 - This give a ~2.15x speedup on the native test @ http://ejohn.org/apps/classname/ 63951 63952 * dom/ChildNodeList.cpp: Use the caching NodeList constructor to turn on caching. 63953 (WebCore::ChildNodeList::ChildNodeList): 63954 * dom/ClassNodeList.cpp: 63955 (WebCore::ClassNodeList::ClassNodeList): 63956 * dom/ClassNodeList.h: 63957 63958 Move getElementsByName and getElementsByClassName to Node so they 63959 can use easily employ the caching already used by ChildNodeLists. In the case of 63960 getElementsByClassName, this reduces code duplication in Element as well 63961 * dom/Document.cpp: 63962 * dom/Document.h: 63963 63964 Move getElementsByClassName to Node. 63965 * dom/Element.cpp: 63966 * dom/Element.h: 63967 63968 * dom/NameNodeList.cpp: Use the caching NodeList constructor to turn on caching. 63969 (WebCore::NameNodeList::NameNodeList): 63970 (WebCore::NameNodeList::item): 63971 * dom/NameNodeList.h: 63972 63973 Add maps of caches for ClassNodeLists and NameNodeList to NodeListsNodeData. 63974 * dom/Node.cpp: 63975 (WebCore::TagNodeList::TagNodeList): 63976 (WebCore::Node::Node): 63977 (WebCore::Node::~Node): 63978 (WebCore::Node::childNodes): 63979 (WebCore::Node::registerNodeList): 63980 (WebCore::Node::getElementsByName): 63981 (WebCore::Node::getElementsByClassName): 63982 * dom/Node.h: Make m_nodeLists an OwnPtr. Moved getElementsByName and getElementsByClassName here 63983 63984 Allow subclasses to choose whether they want to receive the notifications using a new bit. 63985 * dom/NodeList.cpp: 63986 (WebCore::NodeList::NodeList): 63987 * dom/NodeList.h: 63988 (WebCore::NodeList::needsNotifications): 63989 63990 2007-12-19 Dave Hyatt <hyatt (a] apple.com> 63991 63992 Add support for GDI text rendering to WebKit. 63993 63994 Reviewed by mitz 63995 63996 * css/CSSStyleSelector.cpp: 63997 (WebCore::CSSStyleSelector::applyProperty): 63998 * dom/Document.cpp: 63999 (WebCore::Document::recalcStyle): 64000 * page/Settings.cpp: 64001 (WebCore::Settings::setFontRenderingMode): 64002 (WebCore::Settings::fontRenderingMode): 64003 * page/Settings.h: 64004 * platform/graphics/Font.h: 64005 (WebCore::Font::renderingMode): 64006 * platform/graphics/FontCache.cpp: 64007 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): 64008 (WebCore::FontPlatformDataCacheKey::operator==): 64009 (WebCore::computeHash): 64010 (WebCore::FontCache::getCachedFontPlatformData): 64011 * platform/graphics/FontDescription.h: 64012 (WebCore::FontDescription::FontDescription): 64013 (WebCore::FontDescription::renderingMode): 64014 (WebCore::FontDescription::setRenderingMode): 64015 (WebCore::FontDescription::operator==): 64016 * platform/graphics/GraphicsContext.h: 64017 * platform/graphics/win/FontCacheWin.cpp: 64018 (WebCore::FontCache::fontExists): 64019 (WebCore::FontCache::createFontPlatformData): 64020 * platform/graphics/win/FontDataWin.cpp: 64021 (WebCore::FontData::platformInit): 64022 (WebCore::FontData::smallCapsFontData): 64023 (WebCore::FontData::containsCharacters): 64024 (WebCore::FontData::determinePitch): 64025 (WebCore::FontData::platformWidthForGlyph): 64026 * platform/graphics/win/FontPlatformData.h: 64027 (WebCore::FontPlatformData::FontPlatformData): 64028 (WebCore::FontPlatformData::useGDI): 64029 (WebCore::FontPlatformData::operator==): 64030 * platform/graphics/win/FontPlatformDataWin.cpp: 64031 (WebCore::FontPlatformData::FontPlatformData): 64032 * platform/graphics/win/FontWin.cpp: 64033 (WebCore::Font::drawGlyphs): 64034 * platform/graphics/win/IconWin.cpp: 64035 (WebCore::Icon::paint): 64036 * platform/win/GraphicsContextWin.cpp: 64037 (WebCore::GraphicsContext::getWindowsContext): 64038 (WebCore::GraphicsContext::releaseWindowsContext): 64039 * platform/win/UniscribeController.cpp: 64040 (WebCore::UniscribeController::shapeAndPlaceItem): 64041 * platform/win/UniscribeController.h: 64042 * plugins/win/PluginViewWin.cpp: 64043 (WebCore::PluginViewWin::paint): 64044 64045 2007-12-19 Sven Herzberg <sven (a] imendio.com> 64046 64047 Reviewed by Alp Toker. 64048 64049 Replace the fontconfig/freetype based font management with a pango 64050 based one. Fixes: 64051 http://bugs.webkit.org/show_bug.cgi?id=15229 64052 64053 * platform/gtk/FontDataGtk.cpp (FontData::platformDestroy()): updated 64054 the platform specific destroy code 64055 (FontData::containsCharacters()): implemented font coverage with pango 64056 * platform/gtk/FontPlatformData.h: replaced fontconfig specific 64057 members with pango-specific ones 64058 * platform/gtk/FontPlatformDataGtk.cpp: added static members for the 64059 FontPlatformData class 64060 (FontPlatformData::FontPlatformData()): implemented the font-matching 64061 with a PangoFontDescription instead of an FcPattern; initialize the 64062 scaled font by using the API for PangoCairoFont 64063 (FontPlatformData::init()): initialize the PangoFontMap and set up a 64064 hash table to translate the font family name into a font family 64065 (FontPlatformData::isFixedPitch()): implemented by querying the 64066 PangoFontFamily 64067 (FontPlatformData::operator==): compare the FontPlatformData by 64068 comparing the font pointers or the described fonts 64069 * platform/gtk/GlyphPageTreeNodeGtk.cpp (pango_font_get_glyph()): 64070 added a function to query a glyph from a PangoFont 64071 (GlyphPage::fill()): implemented the fill function with Pango instead 64072 of fontconfig/freetype 64073 64074 2007-12-19 Alp Toker <alp (a] atoker.com> 64075 64076 Reviewed by Holger Freyther. 64077 64078 Improve graphics operator approximations 64079 64080 These changes match Cairo's own CG approximations. 64081 64082 * platform/graphics/cairo/GraphicsContextCairo.cpp: 64083 (WebCore::toCairoOperator): 64084 64085 2007-12-19 Alp Toker <alp (a] atoker.com> 64086 64087 Reviewed by Holger Freyther. 64088 64089 Check the bounding box before doing a full hit test 64090 64091 * platform/graphics/cairo/PathCairo.cpp: 64092 (WebCore::Path::contains): 64093 64094 2007-12-18 Sam Weinig <sam (a] webkit.org> 64095 64096 Reviewed by Geoff. 64097 64098 Fix for <rdar://problem/5646478> 64099 REGRESSION: fast/events/event-view-toString fails on Leopard 64100 64101 This fixes an issue where we were incorrectly setting the lastInPrototypeChain 64102 for the JSDOMWindow (the global object) before a call to setPrototype overwrote 64103 it. This fixes it by passing the prototype up the constructor chain so that it 64104 is set before any calls can be made. 64105 64106 * bindings/js/kjs_window.cpp: 64107 (KJS::Window::Window): 64108 * bindings/js/kjs_window.h: 64109 * bindings/scripts/CodeGeneratorJS.pm: 64110 64111 2007-12-18 Beth Dakin <bdakin (a] apple.com> 64112 64113 Reviewed by Oliver. 64114 64115 Fix for <rdar://problem/5616982> SVGs with width and height 100% 64116 fail to render when used as <img> or CSS image (16167) 64117 64118 This final part of the work fixes the <img> tag. 64119 64120 This is the real fix. 64121 * rendering/RenderImage.cpp: 64122 (WebCore::RenderImage::calcReplacedWidth): Set the container size 64123 on the image. Setting the container size only actually sticks if 64124 the values are non-zero, so if the container size really was set, 64125 use the imageSize that is calculated using the container size. If 64126 it did not stick but the image does have relative width (meaning 64127 that the container size is 0), set the width to 0 by hand. We want 64128 to avoid setting the width before we have a container size or we 64129 will end up incorrectly using the default size of 300x150. 64130 (WebCore::RenderImage::calcReplacedHeight): Same as above, but for 64131 height. 64132 64133 A few more pieces of information have to be exposed through cached 64134 image to make this happen. 64135 * loader/CachedImage.cpp: 64136 (WebCore::CachedImage::usesImageContainerSize): As mentioned above, 64137 when setContainerSize() is called, the container size is only 64138 actually set if the values are non-zero. This call tells you if it 64139 was set. 64140 (WebCore::CachedImage::imageHasRelativeWidth): 64141 (WebCore::CachedImage::imageHasRelativeHeight): 64142 * loader/CachedImage.h: 64143 * platform/graphics/Image.h: 64144 (WebCore::Image::usesContainerSize): 64145 * svg/graphics/SVGImage.cpp: 64146 (WebCore::SVGImage::usesContainerSize): 64147 * svg/graphics/SVGImage.h: 64148 64149 2007-12-18 Mark Rowe <mrowe (a] apple.com> 64150 64151 Rubber-stamped by Maciej Stachowiak. 64152 64153 Remove outdated and non-functioning project files for the Apollo port. 64154 64155 * WebCore.apolloproj: Removed. 64156 64157 2007-12-18 Steve Falkenburg <sfalken (a] apple.com> 64158 64159 <rdar://problem/5649911> REGRESSION (304-306A9): Typing 'p' in popup menu for type-to-select brings up Safari Help 64160 64161 Need to translate the char back into a key code for posting our WM_KEYDOWN. 64162 64163 Reviewed by Ada. 64164 64165 * platform/win/PopupMenuWin.cpp: 64166 (WebCore::PopupWndProc): 64167 64168 2007-12-18 Steve Falkenburg <sfalken (a] apple.com> 64169 64170 <rdar://problem/5651534> REGRESSION(r28764-r28765): GDI leak drawing text when no appropriate font is available 64171 64172 Our captured metafile from Uniscribe may contain multiple calls to CreateFontIndirect. 64173 Only create a font with the last one. 64174 64175 Reviewed by Mitz, Darin. 64176 64177 * platform/graphics/win/FontCacheWin.cpp: 64178 (WebCore::metaFileEnumProc): 64179 (WebCore::FontCache::getFontDataForCharacters): 64180 64181 2007-12-17 Brent Fulgham <bfulgham (a] gmail.com> 64182 64183 Reviewed by Darin. 64184 64185 http://bugs.webkit.org/show_bug.cgi?id=16464 64186 Modify WebCore to use win32 thread primitives 64187 64188 Updates to support native windows threading primitives 64189 rather than pthreads emulation library. 64190 64191 * WebCore.vcproj/WebCore.vcproj: 64192 * config.h: 64193 * platform/Threading.h: 64194 * platform/win/MutexWin.cpp: Added. 64195 (WebCore::Mutex::Mutex): 64196 (WebCore::Mutex::~Mutex): 64197 (WebCore::Mutex::lock): 64198 (WebCore::Mutex::tryLock): 64199 (WebCore::Mutex::unlock): 64200 * platform/win/ThreadConditionWin.cpp: Added. 64201 (WebCore::ThreadCondition::ThreadCondition): 64202 (WebCore::ThreadCondition::~ThreadCondition): 64203 (WebCore::ThreadCondition::wait): 64204 (WebCore::ThreadCondition::signal): 64205 (WebCore::ThreadCondition::broadcast): 64206 * platform/win/ThreadingWin.cpp: 64207 (WebCore::threadMapMutex): 64208 (WebCore::threadMap): 64209 (WebCore::storeThreadHandleByIdentifier): 64210 (WebCore::identifierByThreadHandle): 64211 (WebCore::threadHandleForIdentifier): 64212 (WebCore::clearThreadHandleForIdentifier): 64213 (WebCore::createThread): 64214 (WebCore::waitForThreadCompletion): 64215 (WebCore::detachThread): 64216 (WebCore::currentThread): 64217 64218 2007-12-18 Rodney Dawes <dobey (a] wayofthemonkey.com> 64219 64220 Reviewed by Darin Adler. 64221 64222 Handle EINTR when set by select() and try the select() again 64223 http://bugs.webkit.org/show_bug.cgi?id=16071 64224 64225 * platform/network/curl/ResourceHandleManager.cpp: 64226 (ResourceHandleManager::downloadTimerCallback): 64227 64228 2007-12-18 Dan Bernstein <mitz (a] apple.com> 64229 64230 Reviewed by Dave Hyatt. 64231 64232 - avoid the simplified Chinese font linking code for characters that are 64233 not in any Windows code page 64234 64235 * platform/graphics/win/FontCacheWin.cpp: 64236 (WebCore::FontCache::getFontDataForCharacters): 64237 64238 2007-12-18 Brady Eidson <beidson (a] apple.com> 64239 64240 Reviewed by Adele 64241 64242 <rdar://problem/5525770> REGRESSION: HTTP Auth protected favicon request results in a password sheet 64243 64244 Some http-auth protected sites have the main resource(s) unprotected, but many subresources are 64245 protected by authentication. Occasionally one can view the main page of a site but the favicon 64246 is behind the iron curtain - in these cases, we should *not* prompt for a username and password 64247 solely for the favicon. 64248 64249 * loader/ResourceLoader.h: Make didReceiveAuthenticationChallenge virtual 64250 64251 * loader/SubresourceLoader.cpp: 64252 (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Now that this method 64253 is virtual from ResourceLoader, SubresourceLoader can override. First call to the 64254 SubresourceLoaderClient. If they cancel the resource load, return early. Otherwise, let 64255 ResourceLoader work its magic (resulting in the auth sheet coming down) 64256 * loader/SubresourceLoader.h: 64257 64258 * loader/SubresourceLoaderClient.h: 64259 (WebCore::SubresourceLoaderClient::didReceiveAuthenticationChallenge): 64260 64261 * loader/icon/IconLoader.cpp: 64262 (WebCore::IconLoader::didReceiveAuthenticationChallenge): Cancel the resource load, since we should 64263 never prompt the user for credentials just for a favicon. 64264 * loader/icon/IconLoader.h: 64265 64266 2007-12-18 John Sullivan <sullivan (a] apple.com> 64267 64268 Reviewed by Brady 64269 64270 - fixed <rdar://problem/5652380> Initial prompt shows "" for databases with no user-visible name 64271 64272 * storage/DatabaseTracker.cpp: 64273 (WebCore::DatabaseTracker::canEstablishDatabase): 64274 pass "name" instead of "displayName" if there's no displayName 64275 64276 2007-12-17 Dan Bernstein <mitz (a] apple.com> 64277 64278 Reviewed by Maciej Stachowiak. 64279 64280 - restore ButtonFace and ThreeDFace to their previous values for non-Mac 64281 platforms. The Mac port also uses the same values for now instead 64282 of NSColor-based ones. 64283 64284 * rendering/RenderTheme.cpp: 64285 (WebCore::RenderTheme::systemColor): 64286 64287 2007-12-17 Rodney Dawes <dobey (a] wayofthemonkey.com> 64288 64289 Reviewed by Maciej Stachowiak. 64290 64291 Define WTF_USE_NPOBJECT and WTF_USE_JAVASCRIPTCORE_BINDINGS for GTK+ 64292 Add required Frame::createScriptInstanceForWidget to FrameGtk 64293 64294 * config.h: 64295 * page/gtk/FrameGtk.cpp (Frame::createScriptInstanceForWidget): 64296 64297 2007-12-17 Alice Liu <alice.liu (a] apple.com> 64298 64299 Reviewed by Adam. 64300 64301 Fixed <rdar://5566435> window with no scrollbars can be scrolled 64302 64303 * platform/win/ScrollViewWin.cpp: 64304 (WebCore::ScrollView::maximumScroll): 64305 corrected maximumScroll() to account for scrolling not allowed. 64306 (WebCore::ScrollView::wheelEvent): 64307 64308 2007-12-14 Juan A. Suarez Romero <jasuarez (a] igalia.com> 64309 64310 Reviewed by Alp Toker. 64311 64312 http://bugs.webkit.org/show_bug.cgi?id=16042 64313 [GTK] Eliminate webkit_init() 64314 64315 Move webkit initialization to WebView class init. 64316 64317 * WebCore.pro: 64318 64319 2007-12-17 Jon Honeycutt <jhoneycutt (a] apple.com> 64320 64321 Reviewed by Darin. 64322 64323 <rdar://problem/5651291> REGRESSION: Flash content doesn't display 64324 (www.adobe.com) 64325 64326 We were passing NPEvent** instead of NPEvent* to NPP_HandleEvent. 64327 64328 * plugins/win/PluginViewWin.cpp: 64329 (WebCore::PluginViewWin::dispatchNPEvent): Changed to take NPEvent&, not 64330 NPEvent* 64331 (WebCore::PluginViewWin::paint): Pass NPEvent, not NPEvent* 64332 (WebCore::PluginViewWin::handleKeyboardEvent): same 64333 (WebCore::PluginViewWin::handleMouseEvent): same 64334 * plugins/win/PluginViewWin.h: 64335 64336 2007-12-17 Alexey Proskuryakov <ap (a] webkit.org> 64337 64338 Reviewed by Darin. 64339 64340 Live to the promise of never making AppKit special character codes visible via DOM. 64341 64342 Test: fast/events/arrow-keys-on-body.html 64343 64344 * page/EventHandler.cpp: 64345 (WebCore::EventHandler::keyEvent): Check for empty keypress characters after disambiguation, 64346 to let quirks-aware code strip special charactrers. 64347 * platform/mac/KeyEventMac.mm: 64348 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): If not in keyboard event quirks 64349 mode, remove the text if it's a special character. 64350 64351 2007-12-17 Mark Rowe <mrowe (a] apple.com> 64352 64353 Reviewed by Darin Adler. 64354 64355 Fix incorrect array size and incorrect array index in convertNSColorToColor. 64356 64357 * rendering/RenderThemeMac.mm: 64358 (WebCore::convertNSColorToColor): 64359 64360 2007-12-17 Darin Adler <darin (a] apple.com> 64361 64362 Reviewed by Mark Rowe. 64363 64364 - fix http://bugs.webkit.org/show_bug.cgi?id=16468 64365 REGRESSION(r28781): Crash running storage/transaction_callback_exception_crash.html 64366 64367 * storage/DatabaseThread.cpp: 64368 (WebCore::DatabaseThread::dispatchNextTaskIdentifier): Use a RefPtr for the database 64369 because there's no guarantee it won't lose its last reference otherwise. 64370 64371 2007-12-17 Dan Bernstein <mitz (a] apple.com> 64372 64373 Reviewed by Maciej Stachowiak. 64374 64375 - fix <rdar://problem/5333260> Some Chinese characters in Text Encoding menu are bold, others are not 64376 and <rdar://problem/5280188> Chinese text looks worse on Safari for Windows cf. Safari for Mac 64377 64378 * platform/graphics/win/FontCacheWin.cpp: 64379 (WebCore::FontCache::getFontDataForCharacters): To ensure that font 64380 linking gives consistent results for characters that are exclusive to 64381 the simplified Chinese code page and characters that belong to that 64382 code page and other code pages, always ask to map to simplified Chinese 64383 alone first. 64384 64385 2007-12-17 Christian Dywan <christian (a] twotoasts.de> 64386 64387 Reviewed by Alp Toker. 64388 64389 http://bugs.webkit.org/show_bug.cgi?id=16378 64390 Implement Icon for Gtk 64391 64392 Icon provides a GdkPixbuf containing a themed icon. 64393 The icon theme is probed for an icon name according to the 64394 Icon Naming Specification or conventional Gnome icon names respectively. 64395 64396 See http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html 64397 64398 * platform/graphics/Icon.h: 64399 * platform/graphics/gtk/IconGtk.cpp: 64400 (WebCore::Icon::~Icon): 64401 (WebCore::lookupIconName): 64402 (WebCore::Icon::newIconForFile): 64403 (WebCore::Icon::paint): 64404 64405 2007-12-16 Sam Weinig <sam (a] webkit.org> 64406 64407 Reviewed by Mitz. 64408 64409 Fix for http://bugs.webkit.org/show_bug.cgi?id=16466 64410 Move the JS Location object to its own file 64411 64412 - Move Location into its own file and rename it JSLocation. 64413 64414 * DerivedSources.make: 64415 * WebCore.pro: 64416 * WebCore.vcproj/WebCore.vcproj: 64417 * WebCore.xcodeproj/project.pbxproj: 64418 * WebCoreSources.bkl: 64419 * bindings/js/JSDocumentCustom.cpp: 64420 * bindings/js/JSLocation.cpp: Copied from WebCore/bindings/js/kjs_window.cpp. 64421 (WebCore::JSLocation::JSLocation): 64422 (WebCore::JSLocation::getValueProperty): 64423 (WebCore::JSLocation::getOwnPropertySlot): 64424 (WebCore::JSLocation::put): 64425 (WebCore::JSLocationProtoFuncReplace::callAsFunction): 64426 (WebCore::JSLocationProtoFuncReload::callAsFunction): 64427 (WebCore::JSLocationProtoFuncAssign::callAsFunction): 64428 (WebCore::JSLocationProtoFuncToString::callAsFunction): 64429 * bindings/js/JSLocation.h: Copied from WebCore/bindings/js/kjs_window.h. 64430 (WebCore::JSLocation::): 64431 (WebCore::JSLocation::frame): 64432 (WebCore::JSLocation::classInfo): 64433 * bindings/js/kjs_window.cpp: 64434 (KJS::Window::location): 64435 * bindings/js/kjs_window.h: 64436 * history/CachedPage.cpp: 64437 64438 2007-12-16 Dan Bernstein <mitz (a] apple.com> 64439 64440 Reviewed by Sam Weinig. 64441 64442 - make 'cursor: copy' and 'cursor: none' work. 64443 64444 Already covered by manual-tests/cursor.html 64445 64446 * rendering/RenderStyle.h: Increase the _cursor_style field to 6 bits, 64447 needed for the 33rd and 34th cursor values. 64448 64449 2007-12-16 Mark Rowe <mrowe (a] apple.com> 64450 64451 Reviewed by Maciej Stachowiak. 64452 64453 Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation. 64454 64455 * WebCore.base.exp: 64456 * WebCore.xcodeproj/project.pbxproj: 64457 * loader/NetscapePlugInStreamLoader.h: 64458 * loader/mac/NetscapePlugInStreamLoaderMac.mm: Removed. 64459 * loader/mac/WebPlugInStreamLoaderDelegate.h: Moved to WebKit. 64460 64461 2007-12-16 Sam Weinig <sam (a] webkit.org> 64462 64463 Reviewed by Maciej. 64464 64465 Yet more of http://bugs.webkit.org/show_bug.cgi?id=16385 64466 Cleanup kjs_window 64467 64468 - Move ScheduledAction into its own file and put it in the WebCore namespace. 64469 64470 * WebCore.pro: 64471 * WebCore.vcproj/WebCore.vcproj: 64472 * WebCore.xcodeproj/project.pbxproj: 64473 * WebCoreSources.bkl: 64474 * bindings/js/PausedTimeouts.cpp: 64475 * bindings/js/PausedTimeouts.h: 64476 * bindings/js/ScheduledAction.cpp: Copied from bindings/js/kjs_window.cpp. 64477 (WebCore::ScheduledAction::ScheduledAction): 64478 (WebCore::ScheduledAction::execute): 64479 * bindings/js/ScheduledAction.h: Copied from bindings/js/kjs_window.h. 64480 (WebCore::ScheduledAction::ScheduledAction): 64481 * bindings/js/kjs_window.cpp: 64482 (KJS::DOMWindowTimer::DOMWindowTimer): 64483 (KJS::DOMWindowTimer::action): 64484 (KJS::DOMWindowTimer::takeAction): 64485 (KJS::Window::installTimeout): 64486 (KJS::Window::timerFired): 64487 * bindings/js/kjs_window.h: 64488 64489 2007-12-16 Alp Toker <alp (a] atoker.com> 64490 64491 Reviewed by Maciej. 64492 64493 http://bugs.webkit.org/show_bug.cgi?id=16356 64494 [GTK] Integrate GStreamer video with the graphics backend 64495 64496 Integrate the GStreamer media backend with the Cairo graphics backend. 64497 There are still some issues: Data is copied more often than necessary, 64498 and repaint() is not called, causing transformed video not to update 64499 sometimes. 64500 64501 * WebCore.pro: 64502 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 64503 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 64504 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 64505 (WebCore::MediaPlayerPrivate::currentTime): 64506 (WebCore::MediaPlayerPrivate::setEndTime): 64507 (WebCore::MediaPlayerPrivate::seeking): 64508 (WebCore::MediaPlayerPrivate::naturalSize): 64509 (WebCore::MediaPlayerPrivate::setMuted): 64510 (WebCore::MediaPlayerPrivate::setRect): 64511 (WebCore::MediaPlayerPrivate::setVisible): 64512 (WebCore::MediaPlayerPrivate::repaint): 64513 (WebCore::MediaPlayerPrivate::paint): 64514 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 64515 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 64516 * platform/graphics/gtk/VideoSinkGStreamer.cpp: Added. 64517 (webkit_video_sink_base_init): 64518 (webkit_video_sink_init): 64519 (webkit_video_sink_idle_func): 64520 (webkit_video_sink_render): 64521 (webkit_video_sink_set_caps): 64522 (webkit_video_sink_dispose): 64523 (webkit_video_sink_finalize): 64524 (webkit_video_sink_set_property): 64525 (webkit_video_sink_get_property): 64526 (webkit_video_sink_stop): 64527 (webkit_video_sink_class_init): 64528 (webkit_video_sink_new): 64529 (webkit_video_sink_set_surface): 64530 (plugin_init): 64531 * platform/graphics/gtk/VideoSinkGStreamer.h: Added. 64532 64533 2007-12-16 Mark Rowe <mrowe (a] apple.com> 64534 64535 Mac build fix. 64536 64537 * WebCore.xcodeproj/project.pbxproj: Remove NetscapePlugInStreamLoader.cpp from the WebCore target. 64538 Mac currently has its own implementation in NetscapePlugInStreamLoaderMac.mm which conflicts with the 64539 new shared implementation. 64540 64541 2007-12-16 Rodney Dawes <dobey (a] wayofthemonkey.com> 64542 64543 Reviewed by Maciej Stachowiak. 64544 64545 http://bugs.webkit.org/show_bug.cgi?id=16389 64546 Bug 16389: Common Implementation of NetscapePlugInStreamLoader 64547 64548 * WebCore.vcproj/WebCore.vcproj: Remove NetscapePlugInStreamLoaderWin.cpp. 64549 * loader/NetscapePlugInStreamLoader.cpp: Copy method implementations from NetscapePlugInStreamLoaderWin.cpp. 64550 * loader/win/NetscapePlugInStreamLoaderWin.cpp: Removed. 64551 64552 2007-12-16 Grace Kloba <klobag (a] gmail.com> 64553 64554 Reviewed by Darin Adler. 64555 64556 Fix http://bugs.webkit.org/show_bug.cgi?id=16433. 64557 Bug 16433: LOW_BANDWIDTH_DISPLAY build is broken 64558 64559 * dom/Document.cpp: 64560 (WebCore::Document::Document): 64561 * loader/FrameLoader.cpp: 64562 (WebCore::FrameLoader::addLowBandwidthDisplayRequest): 64563 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): 64564 64565 2007-12-16 Darin Adler <darin (a] apple.com> 64566 64567 Reviewed by Maciej. 64568 64569 - fix <rdar://problem/5636065> First form of SQLTransaction.executeSql() fails with TYPE_ERROR dom exception 64570 64571 Test: storage/execute-sql-args.html 64572 64573 * bindings/js/JSSQLTransactionCustom.cpp: 64574 (WebCore::JSSQLTransaction::executeSql): Added exception handling code so that once an 64575 exception happens, we won't try to do any more argument processing. Changed processing 64576 of the second argument so that we allow an undefined value or null, and simply omit the 64577 array. Changed processing of the second argument so that we don't require an actual 64578 JavaScript array. Instead, as with the JavaScript array operations themselves, we use 64579 the length property and corresponding numeric properties of the object, allowing other 64580 objects to act as arrays. Changed processing of the third and fourth arguments to 64581 allow the undefined value as well as null; we check the value of the argument rather 64582 than looking at the size of the passed-in arguments list. 64583 64584 2007-12-16 Sam Weinig <sam (a] webkit.org> 64585 64586 Reviewed by Darin. 64587 64588 More of http://bugs.webkit.org/show_bug.cgi?id=16385 64589 Cleanup kjs_window 64590 64591 - Move PausedTimeouts into its own file and put it in the WebCore namespace. 64592 64593 * WebCore.pro: 64594 * WebCore.vcproj/WebCore.vcproj: 64595 * WebCore.xcodeproj/project.pbxproj: 64596 * WebCoreSources.bkl: 64597 * bindings/js/PausedTimeouts.cpp: Copied from bindings/js/kjs_window.cpp. 64598 * bindings/js/PausedTimeouts.h: Copied from bindings/js/kjs_window.h. 64599 * bindings/js/kjs_window.cpp: 64600 (KJS::Window::pauseTimeouts): 64601 * bindings/js/kjs_window.h: 64602 * history/CachedPage.cpp: 64603 * history/CachedPage.h: 64604 * page/Chrome.cpp: 64605 64606 2007-12-16 Beth Dakin <bdakin (a] apple.com> 64607 64608 Reviewed by Geoff. 64609 64610 Make relative-size SVGs work in border-image. 64611 64612 * rendering/RenderBox.cpp: 64613 (WebCore::RenderBox::calculateBackgroundSize): 64614 * rendering/RenderObject.cpp: 64615 (WebCore::RenderObject::paintBorderImage): 64616 64617 2007-12-16 Darin Adler <darin (a] apple.com> 64618 64619 - fix Tiger build (my fault it was broken) 64620 64621 * rendering/RenderThemeMac.mm: Define NSUInteger if on Tiger. 64622 64623 2007-12-16 Andrew Wellington <proton (a] wiretapped.net> 64624 64625 Reviewed by Darin. 64626 64627 http://bugs.webkit.org/show_bug.cgi?id=6129 64628 Incomplete implementation of CSS 2.1 system colors 64629 64630 Test: fast/css/css2-system-color.html 64631 64632 Based on original patch by Rob Buis. 64633 64634 System colors are retrieved from NSColor as appropriate. If the color is a pattern color 64635 (and therefore NSColor won't let us retrieve a color from it) we draw a 1x1 image of the 64636 color and sample that to get a solid color. 64637 64638 * css/CSSStyleSelector.cpp: 64639 (WebCore::colorForCSSValue): 64640 * rendering/RenderTheme.cpp: 64641 (WebCore::RenderTheme::systemColor): 64642 * rendering/RenderTheme.h: 64643 * rendering/RenderThemeMac.h: 64644 * rendering/RenderThemeMac.mm: 64645 (WebCore::getSystemColor): 64646 (WebCore::RenderThemeMac::platformColorsDidChange): 64647 (WebCore::RenderThemeMac::systemColor): 64648 64649 2007-12-16 Dan Bernstein <mitz (a] apple.com> 64650 64651 Reviewed by Darin Adler. 64652 64653 - fix http://bugs.webkit.org/show_bug.cgi?id=16426 64654 Divs with overflow:auto: scrollbars not correctly updated when contents change 64655 64656 Test: fast/overflow/scrollbar-position-update.html 64657 64658 * platform/mac/PlatformScrollBarMac.mm: 64659 (WebCore::PlatformScrollbar::updateThumbProportion): Update the 64660 NSScroller's value for the new proportions. 64661 * rendering/RenderLayer.cpp: 64662 (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed unnecessary 64663 repaint(). Scrollbars repaint themselves as needed. 64664 64665 2007-12-16 Alexey Proskuryakov <ap (a] webkit.org> 64666 64667 Reviewed by Darin. 64668 64669 http://bugs.webkit.org/show_bug.cgi?id=14140 64670 <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly 64671 64672 * dom/KeyboardEvent.h: 64673 (WebCore::KeypressCommand::KeypressCommand): 64674 (WebCore::KeyboardEvent::keypressCommands): 64675 Change stored command class to preserve complete information about commands. 64676 64677 * editing/EditorCommand.cpp: (WebCore::CommandEntry::): Mark InsertText as a text insertion 64678 command, which it is. Previously, we couldn't do it because WebKit didn't really treat insertText: 64679 as a command. 64680 64681 * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Copy commands saved while interpreting 64682 a keydown event into keypress, to avoid losing state when running interpretKeyEvents: again. 64683 64684 2007-12-16 Alexey Proskuryakov <ap (a] webkit.org> 64685 64686 Reviewed by Darin. 64687 64688 http://bugs.webkit.org/show_bug.cgi?id=16462 64689 REGRESSION: access keys broken on Windows 64690 64691 * page/EventHandler.cpp: 64692 (WebCore::EventHandler::handleAccessKey): 64693 (WebCore::EventHandler::keyEvent): 64694 * page/EventHandler.h: 64695 Make handleAccessKey a class method; rely on WebKit to call it on Windows and wxWidgets. 64696 64697 2007-12-16 Xan Lopez <xan (a] gnome.org> 64698 64699 Reviewed by Alexey Proskuryakov. 64700 64701 http://bugs.webkit.org/show_bug.cgi?id=16454 64702 [GTK] Text input doesn't work consistently on PPC 64703 64704 * platform/gtk/KeyEventGtk.cpp: 64705 (WebCore::singleCharacterString): 64706 64707 UChar is 2 bytes (UTF-16), so transform accordingly from 64708 gunichar (UCS-4). Fixes keyboard input on big endian systems. 64709 64710 2007-12-15 Darin Adler <darin (a] apple.com> 64711 64712 Reviewed by Mark Rowe. 64713 64714 - better build fix for the problem affecting GTK and some other platforms 64715 "this time for sure" 64716 64717 * WebCore.xcodeproj/project.pbxproj: 64718 * bindings/js/JSEventTargetBase.cpp: Move the include of the .lut.h file here. 64719 * bindings/js/JSEventTargetBase.h: Instead of including the .lut.h file in the header, 64720 which won't work, declare the tables that are in the .lut.h file in the header. 64721 64722 2007-12-12 Kevin Watters <kevin (a] dotsyntax.com> 64723 64724 Reviewed by Darin Adler. 64725 64726 Fixed the Wx port's FontPlatformData for use in HashTable. 64727 - FontPlatformData(Deleted) made unequal to FontPlatformData() 64728 64729 * platform/graphics/wx/FontPlatformData 64730 64731 2007-12-15 Dan Bernstein <mitz (a] apple.com> 64732 64733 Reviewed by Darin Adler. 64734 64735 - fix <rdar://problem/5636090> Text in Georgia, Armenian, Inuktitut, Cree, or Cherokee (KA, HY, IU, CR, CHR) draws as all missing glyphs 64736 64737 * platform/graphics/win/FontCacheWin.cpp: 64738 (WebCore::metaFileEnumProc): Added. Called during metafile record 64739 enumeration and extracts the font from the create font record. 64740 (WebCore::FontCache::getFontDataForCharacters): If font linking fails, 64741 let Uniscribe draw the characters and see what font it chooses. 64742 64743 2007-12-15 Darin Adler <darin (a] apple.com> 64744 64745 * WebCore.pro: Roll my last change out. Was wrong and didn't fix the build. 64746 64747 2007-12-15 Darin Adler <darin (a] apple.com> 64748 64749 Another try at a GTK build fix. 64750 64751 * WebCore.pro: Add JSEventTargetBase.cpp to LUT_TABLE_FILES instead of LUT_FILES. 64752 64753 2007-12-15 Sam Weinig <sam (a] webkit.org> 64754 64755 Force windows to regenerate COM DOM bindings. 64756 64757 * WebCore.vcproj/build-generated-files.sh: Add license. 64758 * bindings/scripts/CodeGeneratorCOM.pm: Use shared WK_ucfirst. 64759 64760 2007-12-15 Sam Weinig <sam (a] webkit.org> 64761 64762 Fix Windows and wx builds. 64763 64764 * WebCore.vcproj/WebCore.vcproj: 64765 * WebCoreSources.bkl: 64766 64767 2007-12-15 Mark Rowe <mrowe (a] apple.com> 64768 64769 Gtk build fix. Add JSEventTargetBase.cpp to SOURCES. 64770 64771 * WebCore.pro: 64772 64773 2007-12-15 Sam Weinig <sam (a] webkit.org> 64774 64775 Fix wx build. 64776 64777 * WebCoreSources.bkl: 64778 64779 2007-12-15 Nikolas Zimmermann <zimmermann (a] kde.org> 64780 64781 Not reviewed. Build fix for Qt/Gtk. 64782 64783 * WebCore.pro: Include JSEventTargetBase.lut.h in generation 64784 64785 2007-12-15 Nikolas Zimmermann <zimmermann (a] kde.org> 64786 64787 Reviewed by Eric. 64788 64789 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16445 (Refactor EventTargetNode & JSEventTargetNode for an upcoming SVG patch) 64790 64791 Split up JSEventTargetNode in JSEventTargetNode & JSEventTargetBase - where most functionality has been moved down 64792 in the base class. Applied the same refactorization to EventTargetNode. 64793 64794 This makes it possible for the upcoming patch implementing the EventTarget interface for SVGElementInstance 64795 to share as much code as possible with the EventTargetNode classes. 64796 64797 * DerivedSources.make: 64798 * WebCore.xcodeproj/project.pbxproj: 64799 * bindings/js/JSEventTargetBase.cpp: Added. 64800 (WebCore::retrieveEventTargetAndCorrespondingNode): 64801 (WebCore::eventNameForPropertyToken): 64802 * bindings/js/JSEventTargetBase.h: Added. 64803 (WebCore::JSEventTargetProperties::): 64804 (WebCore::JSEventTargetPrototypeFunctionBase::JSEventTargetPrototypeFunctionBase): 64805 (WebCore::JSEventTargetPrototypeFunction::JSEventTargetPrototypeFunction): 64806 (WebCore::::create): 64807 (WebCore::JSEventTargetBase::JSEventTargetBase): 64808 (WebCore::JSEventTargetBase::getValueProperty): 64809 (WebCore::JSEventTargetBase::putValueProperty): 64810 (WebCore::JSEventTargetBase::getOwnPropertySlot): 64811 (WebCore::JSEventTargetBase::put): 64812 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype): 64813 (WebCore::JSEventTargetPrototype::self): 64814 (WebCore::JSEventTargetPrototype::getOwnPropertySlot): 64815 (WebCore::JSEventTargetPrototype::classInfo): 64816 * bindings/js/JSEventTargetNode.cpp: 64817 (WebCore::JSEventTargetNode::getOwnPropertySlot): 64818 (WebCore::JSEventTargetNode::getValueProperty): 64819 (WebCore::JSEventTargetNode::put): 64820 (WebCore::JSEventTargetNode::putValueProperty): 64821 (WebCore::JSEventTargetNode::setListener): 64822 (WebCore::toEventTargetNode): 64823 * bindings/js/JSEventTargetNode.h: 64824 (WebCore::JSEventTargetPrototypeInformation::prototypeClassName): 64825 (WebCore::JSEventTargetPrototypeInformation::prototypeIdentifier): 64826 * dom/EventTarget.cpp: 64827 (WebCore::EventTarget::addEventListener): 64828 (WebCore::EventTarget::removeEventListener): 64829 (WebCore::EventTarget::dispatchGenericEvent): 64830 (WebCore::EventTarget::removeAllEventListeners): 64831 (WebCore::EventTarget::insertedIntoDocument): 64832 (WebCore::EventTarget::removedFromDocument): 64833 (WebCore::EventTarget::handleLocalEvents): 64834 (WebCore::EventTarget::applySVGEventTargetRules): 64835 (WebCore::forbidEventDispatch): 64836 (WebCore::allowEventDispatch): 64837 (WebCore::eventDispatchForbidden): 64838 * dom/EventTarget.h: 64839 (WebCore::EventTarget::preDispatchEventHandler): 64840 (WebCore::EventTarget::postDispatchEventHandler): 64841 (WebCore::forbidEventDispatch): 64842 (WebCore::allowEventDispatch): 64843 * dom/EventTargetNode.cpp: 64844 (WebCore::EventTargetNode::~EventTargetNode): 64845 (WebCore::EventTargetNode::insertedIntoDocument): 64846 (WebCore::EventTargetNode::removedFromDocument): 64847 (WebCore::EventTargetNode::addEventListener): 64848 (WebCore::EventTargetNode::removeEventListener): 64849 (WebCore::EventTargetNode::removeAllEventListeners): 64850 (WebCore::EventTargetNode::handleLocalEvents): 64851 (WebCore::EventTargetNode::dispatchEvent): 64852 (WebCore::EventTargetNode::dispatchWindowEvent): 64853 * dom/EventTargetNode.h: 64854 (WebCore::EventTargetNode::localEventListeners): 64855 * svg/SVGElement.cpp: 64856 (WebCore::SVGElement::sendSVGLoadEventIfPossible): 64857 (WebCore::SVGElement::dispatchEvent): 64858 64859 2007-12-15 Eric Seidel <eric (a] webkit.org> 64860 64861 Reviewed by Oliver. 64862 64863 Width of SVG elements not applied to container elements 64864 http://bugs.webkit.org/show_bug.cgi?id=16305 64865 Added calcPrefWidths for RenderSVGRoot (copied from RenderReplaced) 64866 This is caused by poor factoring in the render tree. RenderContainer probably should be a template. 64867 64868 svg/css/css-box-min-width.html 64869 64870 * rendering/RenderSVGRoot.cpp: 64871 (WebCore::RenderSVGRoot::calcPrefWidths): Added. 64872 * rendering/RenderSVGRoot.h: 64873 * css/SVGCSSStyleSelector::applySVGProperty: fixed ASSERT in debug builds 64874 64875 2007-12-15 David Kilzer <ddkilzer (a] apple.com> 64876 64877 Fix comment after isSafeScript() was renamed to allowsAccessFrom(). 64878 64879 * bindings/js/kjs_window.cpp: 64880 (KJS::createWindow): 64881 64882 2007-12-15 Alp Toker <alp (a] atoker.com> 64883 64884 Reviewed by Mark Rowe. 64885 64886 http://bugs.webkit.org/show_bug.cgi?id=16449 64887 cairo_arc() functions hang or crash when passed inf as radius or start/end angle 64888 64889 Add checks. This matches a similar workaround for a CG bug in the CG 64890 graphics backend: <rdar://problem/5189233> 64891 64892 Fixes: 64893 fast/canvas/arc-crash.html 64894 fast/canvas/canvas-with-incorrect-args.html 64895 64896 * platform/graphics/cairo/PathCairo.cpp: 64897 (WebCore::Path::addArc): 64898 64899 2007-12-15 Alexey Proskuryakov <ap (a] webkit.org> 64900 64901 Reviewed by Darin. 64902 64903 http://bugs.webkit.org/show_bug.cgi?id=16078 64904 Google Maps zooming via the scroll wheel (almost) always zooms IN only. 64905 64906 * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent): 64907 Ensure that delta is never rounded down to zero - we are getting values less than 1 from 64908 many mice on OS X, and Google Maps code assumes scrolling up if event.wheelDelta is zero. 64909 64910 2007-12-14 Dan Bernstein <mitz (a] apple.com> 64911 64912 - Windows build fix 64913 64914 * WebCore.vcproj/WebCore.vcproj: 64915 64916 2007-12-14 Alp Toker <alp (a] atoker.com> 64917 64918 GTK+/Qt build fix. Track added files in r28722. 64919 64920 * WebCore.pro: 64921 64922 2007-12-14 Sam Weinig <sam (a] webkit.org> 64923 64924 Reviewed by Geoff. 64925 64926 Speed up getElementByClassName. 64927 - This makes getElementByClassName 33% faster on the stress test 64928 linked to at http://bugs.webkit.org/show_bug.cgi?id=15760. 64929 64930 * platform/text/StringImpl.cpp: 64931 (WebCore::StringImpl::foldCase): Optimize the case when all the characters are ASCII. 64932 64933 2007-12-14 Alp Toker <alp (a] atoker.com> 64934 64935 Reviewed by Maciej. 64936 64937 http://bugs.webkit.org/show_bug.cgi?id=16432 64938 [GTK] Update license headers 64939 64940 Consent has been given by the authors of these files to change license 64941 to the LGPL as outlined in the bug report. 64942 64943 * platform/gtk/ClipboardGtk.cpp: 64944 * platform/gtk/ContextMenuGtk.cpp: 64945 * platform/gtk/ContextMenuItemGtk.cpp: 64946 * platform/gtk/CookieJarGtk.cpp: 64947 * platform/gtk/CursorGtk.cpp: 64948 * platform/gtk/DragDataGtk.cpp: 64949 * platform/gtk/DragImageGtk.cpp: 64950 * platform/gtk/PasteboardGtk.cpp: 64951 * platform/gtk/PlatformScreenGtk.cpp: 64952 * platform/gtk/PlatformScrollBarGtk.cpp: 64953 * platform/gtk/SearchPopupMenuGtk.cpp: 64954 * platform/gtk/WidgetGtk.cpp: 64955 64956 2007-12-14 Darin Adler <darin (a] apple.com> 64957 64958 Reviewed by Adele. 64959 64960 - fix http://bugs.webkit.org/show_bug.cgi?id=16442 64961 navigation policy delegate gets called twice for each load 64962 64963 * loader/MainResourceLoader.cpp: 64964 (WebCore::MainResourceLoader::willSendRequest): Removed call to checkNavigationPolicy. 64965 That's handled by FrameLoader. 64966 64967 * loader/MainResourceLoader.h: Removed callContinueAfterNavigationPolicy 64968 and continueAfterNavigationPolicy. 64969 64970 2007-12-14 Anders Carlsson <andersca (a] apple.com> 64971 64972 Reviewed by Brady. 64973 64974 Make document.open count as committing a document load, so that -[WebFrame dataSource:] won't 64975 return nil in that case. 64976 64977 * loader/FrameLoader.cpp: 64978 (WebCore::FrameLoader::didExplicitOpen): 64979 64980 2007-12-14 David Smith <catfish.man (a] gmail.com> 64981 64982 Reviewed by Mitz. 64983 64984 - fix http://bugs.webkit.org/show_bug.cgi?id=14955 64985 Implement getElementsByClassName. 64986 64987 This patch also renames AtomicStringList to ClassNames to better reflect its actual use, 64988 and takes advantage of admitting that it's class-specific to encapsulate class attribute 64989 parsing so it can be shared. It also changes the class to use a Vector, rather than a linked 64990 list to store the class names. 64991 64992 Tests: fast/dom/getElementsByClassName/001.html 64993 fast/dom/getElementsByClassName/002.html 64994 fast/dom/getElementsByClassName/003.html 64995 fast/dom/getElementsByClassName/004.html 64996 fast/dom/getElementsByClassName/005.html 64997 fast/dom/getElementsByClassName/006.html 64998 fast/dom/getElementsByClassName/007.html 64999 fast/dom/getElementsByClassName/008.html 65000 fast/dom/getElementsByClassName/009.html 65001 fast/dom/getElementsByClassName/010.xml 65002 fast/dom/getElementsByClassName/011.xml 65003 fast/dom/getElementsByClassName/012.html 65004 fast/dom/getElementsByClassName/013.html 65005 fast/dom/getElementsByClassName/014.html 65006 fast/dom/getElementsByClassName/array/001.html 65007 fast/dom/getElementsByClassName/array/002.html 65008 fast/dom/getElementsByClassName/array/003.html 65009 fast/dom/getElementsByClassName/array/004.html 65010 fast/dom/getElementsByClassName/dumpNodeList.html 65011 65012 * WebCore.xcodeproj/project.pbxproj: 65013 * css/CSSStyleSelector.cpp: 65014 (WebCore::CSSStyleSelector::matchRules): 65015 (WebCore::CSSStyleSelector::checkOneSelector): 65016 * dom/AtomicStringList.h: Removed. 65017 * dom/ClassNames.cpp: Added. 65018 (WebCore::ClassNames::contains): 65019 (WebCore::ClassNames::parseClassAttribute): 65020 * dom/ClassNames.h: Copied from WebCore/dom/AtomicStringList.h. 65021 (WebCore::ClassNames::ClassNames): 65022 (WebCore::ClassNames::size): 65023 (WebCore::ClassNames::clear): 65024 (WebCore::ClassNames::operator[]): 65025 (WebCore::isClassWhitespace): 65026 * dom/ClassNodeList.cpp: Added. 65027 (WebCore::ClassNodeList::ClassNodeList): 65028 (WebCore::ClassNodeList::length): 65029 (WebCore::ClassNodeList::item): 65030 (WebCore::ClassNodeList::nodeMatches): 65031 * dom/ClassNodeList.h: Added. 65032 * dom/Document.cpp: 65033 (WebCore::Document::getElementsByName): 65034 (WebCore::Document::getElementsByClassName): 65035 * dom/Document.h: 65036 * dom/Document.idl: 65037 * dom/Element.cpp: 65038 (WebCore::Element::getClassNames): 65039 (WebCore::Element::getElementsByClassName): 65040 * dom/Element.h: 65041 * dom/Element.idl: 65042 * dom/NameNodeList.cpp: 65043 (WebCore::NameNodeList::NameNodeList): 65044 (WebCore::NameNodeList::item): 65045 (WebCore::NameNodeList::nodeMatches): 65046 * dom/NameNodeList.h: 65047 * dom/NamedMappedAttrMap.cpp: 65048 (WebCore::NamedMappedAttrMap::clearAttributes): 65049 (WebCore::NamedMappedAttrMap::parseClassAttribute): 65050 * dom/NamedMappedAttrMap.h: 65051 (WebCore::NamedMappedAttrMap::getClassNames): 65052 * dom/StyledElement.cpp: 65053 (WebCore::StyledElement::getClassNames): 65054 * dom/StyledElement.h: 65055 65056 2007-12-14 Darin Adler <darin (a] apple.com> 65057 65058 Reviewed by Sam. 65059 65060 - fix http://bugs.webkit.org/show_bug.cgi?id=16351 65061 FontFallbackList.h doesn't include wtf/PassRefPtr.h 65062 65063 * platform/graphics/FontFallbackList.h: Added include of <wtf/Forward.h> 65064 * platform/graphics/GlyphPageTreeNode.h: Removed an unneeded include. 65065 65066 2007-12-14 Darin Adler <darin (a] apple.com> 65067 65068 Reviewed by Alexey. 65069 65070 - http://bugs.webkit.org/show_bug.cgi?id=16420 65071 change regression tests to use document.execCommand instead of textInputController.doCommand 65072 65073 Add a few more operations to document.execCommand. 65074 65075 Finished up the transition to the new Editor::Command, including removing 65076 the Editor::execCommand function. 65077 65078 * WebCore.base.exp: Added Editor::Command::isSupported. 65079 * editing/Editor.h: Removed execCommand. 65080 * editing/EditorCommand.cpp: 65081 (WebCore::expandSelectionToGranularity): Added. 65082 (WebCore::verticalScrollDistance): Added; replaces canScroll. 65083 (WebCore::executeDeleteBackward): Added. Moved code here from WebHTMLView. 65084 (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto. 65085 (WebCore::executeDeleteForward): Ditto. 65086 (WebCore::executeDeleteToBeginningOfLine): Ditto. 65087 (WebCore::executeDeleteToBeginningOfParagraph): Ditto. 65088 (WebCore::executeDeleteToEndOfLine): Ditto. 65089 (WebCore::executeDeleteToEndOfParagraph): Ditto. 65090 (WebCore::executeMovePageDown): Renamed this command to be consistent with all the other 65091 Move commands. They all modify the caret. Reimplemented to match the Mac OS X version by 65092 removing the explicit scrolling, and letting it be done automatically by code that makes 65093 the caret visible. In some cases the old code would scroll twice which was harmless but 65094 unnecessary. 65095 (WebCore::executeMovePageDownAndModifySelection): Added. Moved code here from WebHTMLView. 65096 (WebCore::executeMovePageUp): See MovePageDown above. 65097 (WebCore::executeMovePageUpAndModifySelection): Added. Moved code here from WebHTMLView. 65098 (WebCore::executeSelectLine): Ditto. 65099 (WebCore::executeSelectParagraph): Ditto. 65100 (WebCore::executeSelectSentence): Ditto. 65101 (WebCore::executeSelectWord): Ditto. 65102 (WebCore::executeSwapWithMark): Some small tweaks. 65103 65104 * page/ContextMenuController.cpp: 65105 (WebCore::ContextMenuController::contextMenuItemSelected): Changed to use Editor::command() 65106 instead of Editor::execCommand(). This code could be changed to use Editor::Command quite a 65107 bit more, but I didn't do that this time. 65108 65109 - Removed some obsolete unused code. 65110 65111 * page/mac/EventHandlerMac.mm: 65112 (WebCore::EventHandler::passMouseDownEventToWidget): Removed the special case code for 65113 NSTextView. This was left over from when we used NSTextField and NSTextView for form 65114 elements and is no longer used at all. 65115 65116 * page/mac/WebCoreFrameBridge.h: Removed 20 unused methods that were still on one side 65117 of the bridge or another. We really need to find a time to tear down the rest of the 65118 bridge, but that's not this patch. 65119 65120 * page/mac/WebCoreFrameBridge.mm: 65121 (-[WebCoreFrameBridge addData:]): Changed to get at the _shouldCreateRenderers field directly 65122 instead of using a method. 65123 (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]): 65124 Took out obsolete comment about matching enums (we use a single enum now and have for some 65125 time). 65126 (-[WebCoreFrameBridge selectionGranularity]): Ditto. 65127 65128 2007-12-14 Justin Garcia <justin.garcia (a] apple.com> 65129 65130 Reviewed by Darin Adler. 65131 65132 <rdar://problem/5575101> GoogleDocs: Hang in SplitElementCommand::doApply when outdenting a list item in a particular list 65133 65134 * editing/CompositeEditCommand.cpp: 65135 (WebCore::CompositeEditCommand::splitTreeToNode): Moved here. 65136 * editing/CompositeEditCommand.h: 65137 * editing/IndentOutdentCommand.cpp: Moved splitTreeToNode. 65138 * editing/IndentOutdentCommand.h: Ditto, and removed unimplemented splitTreeTo. 65139 * editing/InsertListCommand.cpp: 65140 (WebCore::InsertListCommand::doApply): Split ancestors of listChildNode between 65141 it and listNode, if they exists, so that moving listChildNode doesn't put it out 65142 of order. Added a test case to cover each change. 65143 * editing/SplitElementCommand.cpp: 65144 (WebCore::SplitElementCommand::doApply): Added an ASSERT to catch code that 65145 tries to split a container at a bogus child, and an early return to avoid a 65146 hang in that case. 65147 65148 2007-12-14 Anders Carlsson <andersca (a] apple.com> 65149 65150 Reviewed by Darin and Geoff. 65151 65152 <rdar://problem/5619295> 65153 REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9) 65154 65155 _NPN_CreateScriptObject doesn't take an origin root object anymore. 65156 65157 * html/HTMLPlugInElement.cpp: 65158 (WebCore::HTMLPlugInElement::createNPObject): 65159 * page/Frame.cpp: 65160 (WebCore::Frame::windowScriptNPObject): 65161 65162 2007-12-14 Dan Bernstein <mitz (a] apple.com> 65163 65164 Reviewed by Darin Adler. 65165 65166 - fix <rdar://problem/5643663> text-shadow and box-shadow offsets 1px smaller than specified 65167 which is the root cause of: 65168 http://bugs.webkit.org/show_bug.cgi?id=12943 65169 box-shadow: small values don't affect shadow position 65170 http://bugs.webkit.org/show_bug.cgi?id=14736 65171 Safari implementation of text-shadow off by 1px 65172 65173 * platform/graphics/cg/GraphicsContextCG.cpp: 65174 (WebCore::GraphicsContext::setShadow): Slightly increase the magnitude 65175 of the offsets passed to CGContextSetShadow* to ensure that the end 65176 result after truncation is the desired integer offsets. 65177 65178 2007-12-13 Alp Toker <alp (a] atoker.com> 65179 65180 curl backend build fix for breakage introduced in r28709. 65181 65182 * platform/network/ResourceHandleInternal.h: 65183 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 65184 65185 2007-12-13 Justin Garcia <justin.garcia (a] apple.com> 65186 65187 Reviewed by Oliver Hunt. 65188 65189 <rdar://problem/5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element 65190 65191 * editing/InsertLineBreakCommand.cpp: 65192 (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Equip this function to 65193 handle editing positions, like [input, 0]; 65194 * editing/InsertParagraphSeparatorCommand.cpp: 65195 (WebCore::InsertParagraphSeparatorCommand::doApply): Pass enclosingBlock a node peeled 65196 off of a non-editing position, to fix a bug where the enclosing block of [input, 0] was 65197 the input element itself. 65198 Insert a <br> when a <form> element is the enclosing block instead of splitting/cloning or 65199 nesting a <div>. 65200 65201 2007-12-13 Alp Toker <alp (a] atoker.com> 65202 65203 Reviewed by Oliver Hunt. 65204 65205 http://bugs.webkit.org/show_bug.cgi?id=16365 65206 [cURL] Acid2 test segmentation fault 65207 65208 This patch makes the Acid2 test pass. 65209 65210 Defer the cleanup of cancelled jobs and halt further transfer as early 65211 as possible. 65212 65213 Bug found by and initial patch provided by Luca Bruno. 65214 65215 * platform/network/curl/ResourceHandleManager.cpp: 65216 (WebCore::writeCallback): 65217 (WebCore::headerCallback): 65218 (WebCore::ResourceHandleManager::downloadTimerCallback): 65219 (WebCore::ResourceHandleManager::cancel): 65220 65221 2007-12-13 Sam Weinig <sam (a] webkit.org> 65222 65223 Reviewed by Mark Rowe. 65224 65225 Fix typos and rename InspectorController::moveByUnrestricted to InspectorController::moveWindowBy. 65226 65227 * page/InspectorController.cpp: 65228 (WebCore::moveByUnrestricted): 65229 (WebCore::InspectorController::windowScriptObjectAvailable): 65230 (WebCore::InspectorController::moveWindowBy): 65231 * page/InspectorController.h: 65232 * page/inspector/inspector.js: 65233 65234 2007-12-13 Dan Bernstein <mitz (a] apple.com> 65235 65236 Reviewed by Dave Hyatt. 65237 65238 - fix <rdar://problem/5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function 65239 65240 Test: fast/css/transition-timing-function.html 65241 65242 * css/CSSStyleSelector.cpp: Changed the HANDLE_MULTILAYER_VALUE macro to 65243 not reject non-primitive non-list values, and instead made sure that the 65244 mapping functions rejected them if necessary. This allows non-primitive 65245 timing functions to be mapped. 65246 (WebCore::CSSStyleSelector::mapBackgroundAttachment): 65247 (WebCore::CSSStyleSelector::mapBackgroundClip): 65248 (WebCore::CSSStyleSelector::mapBackgroundComposite): 65249 (WebCore::CSSStyleSelector::mapBackgroundOrigin): 65250 (WebCore::CSSStyleSelector::mapBackgroundImage): 65251 (WebCore::CSSStyleSelector::mapBackgroundRepeat): 65252 (WebCore::CSSStyleSelector::mapBackgroundXPosition): 65253 (WebCore::CSSStyleSelector::mapBackgroundYPosition): 65254 (WebCore::CSSStyleSelector::mapTransitionDuration): 65255 (WebCore::CSSStyleSelector::mapTransitionRepeatCount): 65256 (WebCore::CSSStyleSelector::mapTransitionTimingFunction): 65257 (WebCore::CSSStyleSelector::mapTransitionProperty): 65258 * css/CSSTimingFunctionValue.cpp: 65259 (WebCore::CSSTimingFunctionValue::cssText): Implemented for use in the 65260 regression test. 65261 * css/CSSTimingFunctionValue.h: 65262 (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue): 65263 Added. Returns true. 65264 * css/CSSValue.h: 65265 (WebCore::CSSValue::isTransitionTimingFunctionValue): Added. Returns 65266 false. 65267 65268 2007-12-13 Steve Falkenburg <sfalken (a] apple.com> 65269 65270 Move source file generation into its own vcproj to fix build dependencies. 65271 65272 Reviewed by Adam. 65273 65274 * WebCore.vcproj/WebCore.make: 65275 * WebCore.vcproj/WebCore.sln: 65276 * WebCore.vcproj/WebCore.submit.sln: 65277 * WebCore.vcproj/WebCore.vcproj: 65278 * WebCore.vcproj/WebCoreGenerated.vcproj: Added. 65279 65280 2007-12-13 Justin Garcia <justin.garcia (a] apple.com> 65281 65282 Reviewed by Oliver Hunt. 65283 65284 <rdar://problem/4145786> Undoing a color change of text in a compose window always changes it back to black 65285 65286 Some of the operations performed in removeHTMLFontStyle were non-undoable. 65287 65288 I'm having trouble writing a layout test for this because I can't get DRT to 65289 perform editing operations in separate Undo steps without adding unacceptably long 65290 wait times between operations. I filed: 65291 65292 <rdar://problem/5646779> Can't get DRT to perform editing operations in separate Undo steps 65293 65294 * editing/ApplyStyleCommand.cpp: 65295 (WebCore::ApplyStyleCommand::removeHTMLFontStyle): 65296 65297 2007-12-13 Sam Weinig <sam (a] webkit.org> 65298 65299 Reviewed by Anders. 65300 65301 Fix for http://bugs.webkit.org/show_bug.cgi?id=16352 65302 Toolbar dragged inspector cannot be moved beyond screen edges 65303 65304 * page/InspectorController.cpp: 65305 (WebCore::moveByUnrestricted): 65306 (WebCore::InspectorController::windowScriptObjectAvailable): 65307 (WebCore::InspectorController::moveByUnrestricted): 65308 * page/InspectorController.h: 65309 * page/inspector/inspector.js: 65310 65311 2007-12-13 Adam Roben <aroben (a] apple.com> 65312 65313 Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked 65314 65315 Windows Media Player has a modal message loop that will deliver 65316 messages to us at inappropriate times and we will crash if we handle 65317 them when they are delivered. In PluginViewWin, we add a quirk for 65318 Media Player to set a flag whenever we give the plugin a chance to 65319 execute code, and in SharedTimerWin we check if the plugin is 65320 executing code and repost messages if so. 65321 65322 Reviewed by Anders. 65323 65324 * platform/win/SharedTimerWin.cpp: 65325 (WebCore::TimerWindowWndProc): Repost messages if we're calling a 65326 plugin. 65327 * plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with 65328 setCallingPlugin(true/false). 65329 (WebCore::PluginViewWin::updateWindow): 65330 (WebCore::PluginViewWin::dispatchNPEvent): 65331 (WebCore::PluginViewWin::setNPWindowRect): 65332 (WebCore::PluginViewWin::start): 65333 (WebCore::PluginViewWin::stop): 65334 (WebCore::PluginViewWin::performRequest): 65335 (WebCore::PluginViewWin::bindingInstance): 65336 (WebCore::PluginViewWin::determineQuirks): 65337 (WebCore::PluginViewWin::setCallingPlugin): Added. 65338 (WebCore::PluginViewWin::isCallingPlugin): Added. 65339 * plugins/win/PluginViewWin.h: Added a new quirk. 65340 65341 2007-12-13 Alp Toker <alp (a] atoker.com> 65342 65343 Add a missing DEPENDPATH. Fixes non-clean builds following networking 65344 header changes. 65345 65346 * WebCore.pro: 65347 65348 2007-12-13 Dan Bernstein <mitz (a] apple.com> 65349 65350 Reviewed by Anders Carlsson. 65351 65352 - fix regression in fast/text/international/bidi-override on Tiger 65353 65354 * platform/graphics/GlyphPageTreeNode.cpp: 65355 (WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here 65356 too. I forgot to add them when I added them to treatAsZeroWidthSpace in 65357 an earlier patch. 65358 65359 2007-12-13 Justin Garcia <justin.garcia (a] apple.com> 65360 65361 Reviewed by Darin Adler. 65362 65363 <rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text 65364 65365 The code that checks the selected Range to see if it's inside an anchor 65366 checks ancestors of the Range's commonAncestor() but not the 65367 commonAncestor() itself, and so we'd fail to add markup for the enclosing 65368 anchor to the pasteboard. 65369 65370 Some enclosing element getters check the node passed to the getter and some 65371 don't. There were a few places where we incorrectly assumed that enclosing 65372 element getters check the node passed to the getter, but this is the only 65373 case that I'm able to write a test case for at the moment. 65374 65375 In this patch I've: 65376 Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions, 65377 like the newer enclosing element getters. This is important because we must 65378 soon add code to the getters so that they understand that some editing positions 65379 inside nodes don't actually refer to positions inside those nodes but positions 65380 before and after them. Like [table, 0]. 65381 Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with 65382 n where [n, o] is the position passed to the getter, instead of starting the the parent 65383 of n. This makes all but a few of the enclosing element getters behave consistently. 65384 Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable 65385 nodes if the input position was editable. This fixes a bug that that the above change 65386 exposed. 65387 Changed enclosingTableCell to simply call enclosingNodeWithType. We should do 65388 this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType 65389 unless doing so would affect readability, like it would in the case of enclosingTableCell. 65390 Ditto for enclosingBlock. 65391 65392 * editing/AppendNodeCommand.cpp: 65393 (WebCore::AppendNodeCommand::doApply): 65394 * editing/DeleteButtonController.cpp: 65395 (WebCore::enclosingDeletableElement): 65396 * editing/DeleteSelectionCommand.cpp: 65397 (WebCore::DeleteSelectionCommand::initializePositionData): 65398 (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): 65399 * editing/Editor.cpp: 65400 (WebCore::Editor::selectionUnorderedListState): 65401 (WebCore::Editor::selectionOrderedListState): 65402 * editing/IndentOutdentCommand.cpp: 65403 (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): 65404 (WebCore::IndentOutdentCommand::outdentParagraph): 65405 * editing/InsertNodeBeforeCommand.cpp: 65406 (WebCore::InsertNodeBeforeCommand::doApply): 65407 * editing/InsertParagraphSeparatorCommand.cpp: 65408 (WebCore::InsertParagraphSeparatorCommand::doApply): 65409 * editing/ReplaceSelectionCommand.cpp: 65410 (WebCore::ReplaceSelectionCommand::shouldMerge): 65411 (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): 65412 (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): 65413 * editing/TextIterator.cpp: 65414 * editing/htmlediting.cpp: 65415 (WebCore::enclosingBlock): 65416 (WebCore::enclosingNodeWithTag): 65417 (WebCore::enclosingNodeOfType): 65418 (WebCore::enclosingTableCell): 65419 (WebCore::isTableCell): 65420 * editing/htmlediting.h: 65421 * editing/markup.cpp: 65422 (WebCore::appendStartMarkup): 65423 (WebCore::createMarkup): 65424 65425 2007-12-13 Alexey Proskuryakov <ap (a] webkit.org> 65426 65427 Reviewed by Darin. 65428 65429 Turn on keyboard event processing quirks for feed views and old applications on Mac OS X. 65430 65431 * WebCore.base.exp: 65432 * dom/KeyboardEvent.cpp: 65433 (WebCore::KeyboardEvent::charCode): 65434 * page/EventHandler.cpp: 65435 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): 65436 (WebCore::EventHandler::keyEvent): 65437 * page/EventHandler.h: 65438 * page/Settings.cpp: 65439 (WebCore::Settings::Settings): 65440 (WebCore::Settings::setNeedsKeyboardEventDisambiguationQuirks): 65441 * page/Settings.h: 65442 (WebCore::Settings::needsKeyboardEventDisambiguationQuirks): 65443 * page/mac/EventHandlerMac.mm: 65444 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): 65445 * platform/PlatformKeyboardEvent.h: 65446 * platform/mac/KeyEventMac.mm: 65447 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 65448 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 65449 65450 2007-12-13 Dan Bernstein <mitz (a] apple.com> 65451 65452 - build fix 65453 65454 * platform/network/cf/ResourceErrorCF.cpp: 65455 65456 2007-12-13 Antti Koivisto <antti (a] apple.com> 65457 65458 Reviewed by Tim Hatcher. 65459 65460 Fix <rdar://problem/5605674> 65461 Make <video> display WebKit context menu instead of the QTKit one. 65462 65463 It doesn't really matter where the QTMovieView is. 65464 65465 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 65466 (WebCore::MediaPlayerPrivate::createQTMovieView): 65467 (WebCore::MediaPlayerPrivate::setRect): 65468 65469 2007-12-13 Dan Bernstein <mitz (a] apple.com> 65470 65471 Reviewed by Adam Roben. 65472 65473 - ensure that Unicode bidi control characters are rendered as zero width 65474 spaces 65475 65476 Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html 65477 65478 * platform/graphics/Font.h: 65479 (WebCore::Font::treatAsZeroWidthSpace): 65480 * platform/graphics/GlyphPageTreeNode.cpp: 65481 (WebCore::GlyphPageTreeNode::initializePage): 65482 * platform/text/CharacterNames.h: 65483 65484 2007-12-13 Brady Eidson <beidson (a] apple.com> 65485 65486 Build fix 65487 65488 * platform/wx/TemporaryLinkStubs.cpp: 65489 65490 2007-12-12 Brady Eidson <beidson (a] apple.com> 65491 65492 Build fix 65493 65494 * platform/gtk/TemporaryLinkStubs.cpp: 65495 65496 2007-12-12 Brady Eidson <beidson (a] apple.com> 65497 65498 Build fix 65499 65500 * WebCore.pro: 65501 * history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed 65502 65503 2007-12-12 Brady Eidson <beidson (a] apple.com> 65504 65505 Build fix 65506 65507 * platform/win/TemporaryLinkStubs.cpp: 65508 65509 2007-12-12 Brady Eidson <beidson (a] apple.com> 65510 65511 Reviewed by Sam Weinig 65512 65513 Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows) 65514 65515 All back/forward list and page cache related items used to be in WebKit. 65516 When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac. 65517 Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive. We accomplished this via some #ifdefs 65518 in CachedPage and having the Mac-only CachedPageMac.mm 65519 65520 To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the 65521 concept of "CachedPagePlatformData" which can contain anything the platform API wants. 65522 65523 I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes. 65524 65525 * WebCore.base.exp: 65526 * WebCore.xcodeproj/project.pbxproj: 65527 65528 * history/CachedPage.cpp: 65529 (WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here. 65530 (WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists. Also delete the CachedPagePlatformData. 65531 (WebCore::CachedPage::setCachedPagePlatformData): 65532 (WebCore::CachedPage::cachedPagePlatformData): 65533 * history/CachedPage.h: 65534 65535 * history/CachedPagePlatformData.h: Added. 65536 (WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor. 65537 (WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear(). 65538 65539 * history/PageCache.cpp: 65540 (WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()" 65541 65542 * history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData. 65543 65544 * loader/FrameLoader.cpp: 65545 (WebCore::FrameLoader::transitionToCommitted): Call the new client methods. Make some work previously done by WebKitMac cross platform 65546 (setting the cached DocumentLoader to the Frame). 65547 (WebCore::FrameLoader::cachePageForHistoryItem): Renamed the client methods 65548 65549 * loader/FrameLoaderClient.h: The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage" 65550 become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly 65551 65552 * svg/graphics/SVGImageEmptyClients.h: 65553 (WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage): 65554 (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage): 65555 (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage): 65556 65557 2007-12-12 Dan Bernstein <mitz (a] apple.com> 65558 65559 Reviewed by Oliver Hunt. 65560 65561 - fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail) 65562 65563 * css/CSSStyleSelector.cpp: 65564 (WebCore::CSSStyleSelector::applyProperty): When the font property is 65565 set to 'initial', set the font size to its initial value, 'medium', 65566 and the font family to the standard family. 65567 65568 2007-12-12 Justin Garcia <justin.garcia (a] apple.com> 65569 65570 Reviewed by Darin Adler. 65571 65572 <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection 65573 65574 * editing/DeleteSelectionCommand.cpp: 65575 (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows): 65576 Don't remove the table row that contained the end of the selection if it is where we are 65577 about to place the ending selection. 65578 Don't remove all empty rows after the row that contained the start of the selection, 65579 they might come after the row that contained the end of the selection. 65580 65581 2007-12-12 Sam Weinig <sam (a] webkit.org> 65582 65583 Reviewed by Anders Carlsson. 65584 65585 Add button to clear the Web Inspector's console. 65586 65587 * English.lproj/InspectorLocalizedStrings.js: 65588 * page/inspector/ConsolePanel.js: 65589 * page/inspector/inspector.css: 65590 65591 2007-12-12 Anders Carlsson <andersca (a] apple.com> 65592 65593 Reviewed by Adam and Jon. 65594 65595 <rdar://problem/5349282> 65596 popup blocking is not applied to plugins on Windows. 65597 65598 Implement popup blocking. If the plug-in supports the new 65599 NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that 65600 to determine if a plug-in request can open new windows. 65601 65602 If a plug-in does not support the new API, we assume that a plug-in can open new windows 65603 in response to either mouse click or key press events. 65604 65605 * plugins/win/PluginViewWin.cpp: 65606 (WebCore::PluginRequestWin::PluginRequestWin): 65607 (WebCore::PluginRequestWin::shouldAllowPopups): 65608 Add new shouldAllowPopups member. 65609 65610 (WebCore::PluginViewWin::popPopupsStateTimerFired): 65611 Reset the popup state. 65612 65613 (WebCore::isWindowsMessageUserGesture): 65614 New function that given a windows message id returns whether it's a user gesture or not. 65615 65616 (WebCore::PluginViewWin::wndProc): 65617 Allow popups if the window message is a user gesture. 65618 65619 (WebCore::PluginViewWin::dispatchNPEvent): 65620 New method that dispatches an NPEvent, turning on popups if necessary. 65621 65622 (WebCore::PluginViewWin::paint): 65623 (WebCore::PluginViewWin::handleKeyboardEvent): 65624 (WebCore::PluginViewWin::handleMouseEvent): 65625 Call dispatchNPEvent(). 65626 65627 (WebCore::PluginViewWin::performRequest): 65628 (WebCore::PluginViewWin::load): 65629 Add calls to shouldAllowPopups(). 65630 65631 (WebCore::PluginViewWin::pushPopupsEnabledState): 65632 (WebCore::PluginViewWin::popPopupsEnabledState): 65633 New methods that maintain the popup state stack. 65634 65635 (WebCore::PluginViewWin::arePopupsAllowed): 65636 New method that returns whether popups are allowed. 65637 65638 (WebCore::PluginViewWin::PluginViewWin): 65639 * plugins/win/PluginViewWin.h: 65640 Add new instance variables. 65641 65642 * plugins/win/npapi.cpp: 65643 (NPN_PushPopupsEnabledState): 65644 (NPN_PopPopupsEnabledState): 65645 Implement these. 65646 65647 2007-12-12 Dan Bernstein <mitz (a] apple.com> 65648 65649 Reviewed by John Sullivan. 65650 65651 - fix a bug in debug builds only where selecting an earlier item in 65652 a popup selects the first item 65653 65654 Test: fast/forms/menulist-selection-reset.html 65655 65656 * html/HTMLSelectElement.cpp: 65657 (WebCore::HTMLSelectElement::recalcListItems): Added an argument that 65658 tells that function whether it should update the selected state of 65659 option elements. 65660 (WebCore::HTMLSelectElement::checkListItems): Changed to pass false 65661 as the above argument. 65662 * html/HTMLSelectElement.h: 65663 65664 2007-12-12 Adele Peterson <adele (a] apple.com> 65665 65666 Reviewed by Geoff. 65667 65668 Fix for <rdar://problem/5643054> Remove cue point implementation for media elements 65669 65670 When the specification for cue ranges is more final, we will implement those. 65671 65672 * html/HTMLMediaElement.cpp: 65673 (WebCore::HTMLMediaElement::~HTMLMediaElement): 65674 (WebCore::HTMLMediaElement::load): 65675 * html/HTMLMediaElement.h: 65676 * html/HTMLMediaElement.idl: 65677 * platform/graphics/MediaPlayer.cpp: 65678 * platform/graphics/MediaPlayer.h: 65679 (WebCore::MediaPlayerClient::mediaPlayerTimeChanged): 65680 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 65681 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 65682 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 65683 (WebCore::MediaPlayerPrivate::load): 65684 (WebCore::MediaPlayerPrivate::play): 65685 (WebCore::MediaPlayerPrivate::pause): 65686 (WebCore::MediaPlayerPrivate::setEndTime): 65687 (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded): 65688 (WebCore::MediaPlayerPrivate::endPointTimerFired): 65689 (WebCore::MediaPlayerPrivate::timeChanged): 65690 (WebCore::MediaPlayerPrivate::didEnd): 65691 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 65692 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 65693 (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded): 65694 (WebCore::MediaPlayerPrivate::endPointTimerFired): 65695 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 65696 65697 2007-12-12 Darin Fisher <darin (a] chromium.org> 65698 65699 Reviewed by Maciej. 65700 65701 Fixes: 65702 http://bugs.webkit.org/show_bug.cgi?id=16408 65703 65704 When navigating back/forward to a http:// link, we should prefer to 65705 load from cache if possible. 65706 65707 * loader/FrameLoader.cpp: 65708 65709 2007-12-12 Anders Carlsson <andersca (a] apple.com> 65710 65711 Reviewed by Sam. 65712 65713 <rdar://problem/5132003> 65714 dumpResourceLoadCallbacks is not implemented in DRT on Windows. 65715 65716 * platform/network/cf/ResourceErrorCF.cpp: 65717 (WebCore::ResourceError::unpackPlatformError): 65718 Handle kCFErrorDomainWinSock. 65719 65720 * platform/network/cf/ResourceHandleCFNet.cpp: 65721 (WebCore::willSendRequest): 65722 Ignore willSendRequest calls where the redirect response is null, like we do in 65723 the Mac version. 65724 65725 2007-12-12 Steve Falkenburg <sfalken (a] apple.com> 65726 65727 <rdar://problem/5643785> Fix iBench regression caused by mis-placed nested timer check. 65728 65729 Reviewed by Anders. 65730 65731 * platform/win/SharedTimerWin.cpp: 65732 (WebCore::TimerWindowWndProc): Don't set high-resolution timer flag inside non-high-resolution timer proc. 65733 65734 2007-12-12 Beth Dakin <bdakin (a] apple.com> 65735 65736 Reviewed by Oliver. 65737 65738 Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs 65739 with width and height 100% clip to 300 x 150 65740 65741 Though it was correct in an earlier iteration of my patch, it is 65742 not sufficient in the final, committed version to ask if the 65743 relativeWidthValue() or relativeHeightValue() is greater than 0 65744 just to determine if one has been set, for, they are now 65745 initialized to 300 and 150 respectively! This patch instead adds a 65746 bool to keep track of whether a container size has been set, and 65747 only used the relative value if it has. 65748 65749 * rendering/RenderSVGRoot.cpp: 65750 (WebCore::RenderSVGRoot::calcViewport): 65751 * svg/SVGSVGElement.cpp: 65752 (WebCore::SVGSVGElement::SVGSVGElement): 65753 * svg/SVGSVGElement.h: 65754 (WebCore::SVGSVGElement::setContainerSize): 65755 (WebCore::SVGSVGElement::hasSetContainerSize): 65756 65757 2007-12-12 Brady Eidson <beidson (a] apple.com> 65758 65759 Reviewed by Steve Falkenburg 65760 65761 <rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm 65762 65763 * platform/network/ProtectionSpace.cpp: 65764 (WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host 65765 65766 2007-12-12 Alp Toker <alp (a] atoker.com> 65767 65768 Reviewed by Maciej. 65769 65770 http://bugs.webkit.org/show_bug.cgi?id=16388 65771 [GTK] Widget::setCursor() gets called frequently 65772 65773 Cache the current cursor to avoid calling gdk_window_set_cursor() when 65774 there's no change in cursor. 65775 65776 * platform/gtk/WidgetGtk.cpp: 65777 (WebCore::Widget::Widget): 65778 (WebCore::Widget::cursor): 65779 (WebCore::Widget::setCursor): 65780 65781 2007-12-12 Rodney Dawes <dobey (a] wayofthemonkey.com> 65782 65783 Reviewed by Maciej. 65784 65785 http://bugs.webkit.org/show_bug.cgi?id=16342 65786 Build Warning and Error fixes in WebCore GTK+ 65787 65788 Use C-style casts for casting function pointers to gpointer 65789 Use static_cast<int> to cast a float to int to fix a warning 65790 65791 * platform/gtk/PlatformScrollBarGtk.cpp: 65792 (PlatformScrollbar::PlatformScrollbar): 65793 (PlatformScrollbar::~PlatformScrollbar): 65794 (PlatformScrollbar::gtkValueChanged): 65795 * platform/gtk/ThreadingGtk.cpp: 65796 (callFunctionOnMainThread): 65797 (callOnMainThread): 65798 65799 2007-12-12 Dan Bernstein <mitz (a] apple.com> 65800 65801 Reviewed by Darin Adler. 65802 65803 - better fix for a crash when pressing a key that is not associated 65804 with a command 65805 65806 * editing/EditorCommand.cpp: 65807 (WebCore::Editor::command): Return the empty command if the command name 65808 is empty. 65809 65810 2007-12-12 Alexey Proskuryakov <ap (a] webkit.org> 65811 65812 Reviewed by Darin. 65813 65814 http://bugs.webkit.org/show_bug.cgi?id=16410 65815 Implement isKeypadEvent() on Windows 65816 65817 Test: platform/win/fast/events/keyLocation-numpad.html 65818 65819 * platform/win/KeyEventWin.cpp: 65820 (WebCore::isKeypadEvent): Added. 65821 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat. 65822 65823 2007-12-12 Oliver Hunt <oliver (a] apple.com> 65824 65825 Reviewed by Maciej. 65826 65827 <rdar://problem/5071781> window.mouseout events are not sent 65828 to window when mouse moves out of window 65829 65830 Make PlatformMouseEvent recognise WM_MOUSELEAVE. 65831 65832 * platform/win/PlatformMouseEventWin.cpp: 65833 (WebCore::messageToEventType): 65834 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 65835 65836 2007-12-12 Sam Weinig <sam (a] webkit.org> 65837 65838 Fix Mac release build. 65839 65840 * WebCore.base.exp: 65841 65842 2007-12-12 Sam Weinig <sam (a] webkit.org> 65843 65844 Build fix for Qt, Gtk, and Wx. 65845 65846 * css/CSSParser.cpp: 65847 (WebCore::CSSParser::parseValue): 65848 * loader/win/FrameLoaderWin.cpp: 65849 (WebCore::FrameLoader::urlSelected): 65850 * platform/network/curl/ResourceHandleManager.cpp: 65851 (WebCore::parseDataUrl): 65852 (WebCore::ResourceHandleManager::startJob): 65853 * platform/network/win/CookieJarWin.cpp: 65854 (WebCore::setCookies): 65855 (WebCore::cookies): 65856 * platform/network/win/ResourceHandleWin.cpp: 65857 (WebCore::ResourceHandle::start): 65858 * platform/qt/PasteboardQt.cpp: 65859 (WebCore::Pasteboard::writeURL): 65860 65861 2007-12-11 Dan Bernstein <mitz (a] apple.com> 65862 65863 Reviewed by Maciej Stachowiak. 65864 65865 - allow non-integer font sizes on Windows for small caps 65866 65867 * platform/graphics/win/FontDataWin.cpp: 65868 (WebCore::FontData::smallCapsFontData): 65869 * platform/graphics/win/FontPlatformData.h: 65870 (WebCore::FontPlatformData::size): 65871 (WebCore::FontPlatformData::setSize): 65872 * platform/graphics/win/FontPlatformDataWin.cpp: 65873 (WebCore::FontPlatformData::FontPlatformData): 65874 65875 2007-12-11 Sam Weinig <sam (a] webkit.org> 65876 65877 Build fix for Qt, Gtk, and Wx. 65878 65879 * platform/gtk/CookieJarGtk.cpp: 65880 (WebCore::setCookies): 65881 (WebCore::cookies): 65882 * platform/qt/ClipboardQt.cpp: 65883 (WebCore::ClipboardQt::writeURL): 65884 * platform/qt/CookieJarQt.cpp: 65885 (WebCore::setCookies): 65886 (WebCore::cookies): 65887 * platform/wx/PasteboardWx.cpp: 65888 (WebCore::Pasteboard::writeURL): 65889 65890 2007-12-11 Sam Weinig <sam (a] webkit.org> 65891 65892 Reviewed by Darin Adler. 65893 65894 Scrub URL out of the tree in preparation for renaming KURL to URL. 65895 - Renames Document::URL() -> Document::url() 65896 - Renames DocumentLoader::URL() -> DocumentLoader::url() 65897 - Renames KURL::url() to KURL::string() and KURL::deprecatedString() 65898 - Remove FrameLoader::URL() 65899 - Various variable renames. 65900 65901 The change from Document::URL() to Document::url() required changes 65902 to the bindings scripts as well, because URL() is the name of a DOM 65903 method. The code generation scripts now have code to special case URL() 65904 to url(). 65905 65906 * WebCore.base.exp: 65907 * bindings/js/kjs_events.cpp: 65908 (WebCore::JSLazyEventListener::parseCode): 65909 * bindings/js/kjs_navigator.cpp: 65910 (KJS::Navigator::getValueProperty): 65911 * bindings/js/kjs_proxy.cpp: 65912 (WebCore::KJSProxy::initScript): 65913 * bindings/js/kjs_window.cpp: 65914 (KJS::Window::put): 65915 (KJS::Window::allowsAccessFrom): 65916 (KJS::Location::put): 65917 (KJS::LocationProtoFuncReplace::callAsFunction): 65918 (KJS::LocationProtoFuncReload::callAsFunction): 65919 (KJS::LocationProtoFuncAssign::callAsFunction): 65920 * bindings/scripts/CodeGenerator.pm: 65921 * bindings/scripts/CodeGeneratorCOM.pm: 65922 * bindings/scripts/CodeGeneratorJS.pm: 65923 * bindings/scripts/CodeGeneratorObjC.pm: 65924 * css/CSSImportRule.cpp: 65925 (WebCore::CSSImportRule::insertedIntoParent): 65926 * css/CSSParser.cpp: 65927 (WebCore::CSSParser::parseValue): 65928 (WebCore::CSSParser::parseContent): 65929 (WebCore::CSSParser::parseBackgroundImage): 65930 (WebCore::CSSParser::parseFontFaceSrc): 65931 (WebCore::CSSParser::parseBorderImage): 65932 (WebCore::CSSParser::createImportRule): 65933 * css/CSSStyleSelector.cpp: 65934 (WebCore::CSSStyleSelector::setEncodedURL): 65935 * dom/Document.cpp: 65936 (WebCore::Document::processHttpEquiv): 65937 (WebCore::Document::cookie): 65938 (WebCore::Document::setCookie): 65939 (WebCore::Document::domain): 65940 (WebCore::Document::setDomain): 65941 (WebCore::Document::getImageMap): 65942 (WebCore::Document::completeURL): 65943 * dom/Document.h: 65944 (WebCore::Document::url): 65945 (WebCore::Document::baseURL): 65946 * dom/Element.cpp: 65947 (WebCore::Element::baseURI): 65948 * dom/ProcessingInstruction.h: 65949 * dom/StyledElement.cpp: 65950 (WebCore::StyledElement::addCSSImageProperty): 65951 * dom/StyledElement.h: 65952 * dom/XMLTokenizer.cpp: 65953 (WebCore::XMLTokenizer::endElementNs): 65954 (WebCore::XMLTokenizer::end): 65955 * dom/XMLTokenizer.h: 65956 * editing/Editor.cpp: 65957 (WebCore::Editor::copy): 65958 * editing/markup.cpp: 65959 (WebCore::completeURLs): 65960 * history/CachedPage.h: 65961 (WebCore::CachedPage::url): 65962 * history/HistoryItem.cpp: 65963 (WebCore::HistoryItem::HistoryItem): 65964 (WebCore::HistoryItem::setURL): 65965 (WebCore::HistoryItem::isCurrentDocument): 65966 * html/HTMLBaseElement.cpp: 65967 (WebCore::HTMLBaseElement::process): 65968 * html/HTMLParser.cpp: 65969 (WebCore::HTMLParser::reportErrorToConsole): 65970 * html/HTMLScriptElement.cpp: 65971 (WebCore::HTMLScriptElement::childrenChanged): 65972 (WebCore::HTMLScriptElement::insertedIntoDocument): 65973 (WebCore::HTMLScriptElement::evaluateScript): 65974 * html/HTMLScriptElement.h: 65975 * html/HTMLTokenizer.cpp: 65976 (WebCore::HTMLTokenizer::scriptExecution): 65977 * loader/Cache.cpp: 65978 (WebCore::createResource): 65979 (WebCore::Cache::requestResource): 65980 * loader/CachedCSSStyleSheet.cpp: 65981 (WebCore::CachedCSSStyleSheet::checkNotify): 65982 * loader/CachedResource.cpp: 65983 (WebCore::CachedResource::CachedResource): 65984 * loader/CachedResource.h: 65985 (WebCore::CachedResource::): 65986 * loader/CachedScript.h: 65987 * loader/DocLoader.cpp: 65988 (WebCore::DocLoader::checkForReload): 65989 (WebCore::DocLoader::requestResource): 65990 * loader/DocumentLoader.cpp: 65991 (WebCore::DocumentLoader::url): 65992 (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll): 65993 (WebCore::DocumentLoader::setRequest): 65994 (WebCore::DocumentLoader::startLoadingMainResource): 65995 * loader/DocumentLoader.h: 65996 * loader/FrameLoader.cpp: 65997 (WebCore::FormSubmission::FormSubmission): 65998 (WebCore::ScheduledRedirection::ScheduledRedirection): 65999 (WebCore::FrameLoader::changeLocation): 66000 (WebCore::FrameLoader::urlSelected): 66001 (WebCore::FrameLoader::requestFrame): 66002 (WebCore::FrameLoader::loadSubframe): 66003 (WebCore::FrameLoader::submitFormAgain): 66004 (WebCore::FrameLoader::submitForm): 66005 (WebCore::FrameLoader::didExplicitOpen): 66006 (WebCore::FrameLoader::replaceContentsWithScriptResult): 66007 (WebCore::FrameLoader::executeScript): 66008 (WebCore::FrameLoader::receivedFirstData): 66009 (WebCore::FrameLoader::begin): 66010 (WebCore::FrameLoader::startIconLoader): 66011 (WebCore::FrameLoader::commitIconURLToIconDatabase): 66012 (WebCore::FrameLoader::scheduleRefresh): 66013 (WebCore::FrameLoader::redirectionTimerFired): 66014 (WebCore::FrameLoader::loadPlugin): 66015 (WebCore::FrameLoader::didNotOpenURL): 66016 (WebCore::FrameLoader::updatePolicyBaseURL): 66017 (WebCore::FrameLoader::scrollToAnchor): 66018 (WebCore::FrameLoader::startRedirectionTimer): 66019 (WebCore::FrameLoader::load): 66020 (WebCore::FrameLoader::canLoad): 66021 (WebCore::FrameLoader::shouldHideReferrer): 66022 (WebCore::FrameLoader::shouldAllowNavigation): 66023 (WebCore::FrameLoader::commitProvisionalLoad): 66024 (WebCore::FrameLoader::clientRedirected): 66025 (WebCore::FrameLoader::open): 66026 (WebCore::FrameLoader::didTellBridgeAboutLoad): 66027 (WebCore::FrameLoader::haveToldBridgeAboutLoad): 66028 (WebCore::FrameLoader::post): 66029 (WebCore::FrameLoader::loadResourceSynchronously): 66030 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): 66031 (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): 66032 (WebCore::FrameLoader::createHistoryItem): 66033 (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): 66034 (WebCore::FrameLoader::loadItem): 66035 (WebCore::FrameLoader::urlsMatchItem): 66036 (WebCore::FrameLoader::recursiveGoToItem): 66037 (WebCore::FrameLoader::updateHistoryForStandardLoad): 66038 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): 66039 * loader/FrameLoader.h: 66040 (WebCore::FrameLoader::url): 66041 * loader/ImageDocument.cpp: 66042 (WebCore::ImageDocument::createDocumentStructure): 66043 * loader/MainResourceLoader.cpp: 66044 (WebCore::shouldLoadAsEmptyDocument): 66045 (WebCore::MainResourceLoader::didFinishLoading): 66046 * loader/NavigationAction.cpp: 66047 (WebCore::NavigationAction::NavigationAction): 66048 * loader/NavigationAction.h: 66049 (WebCore::NavigationAction::url): 66050 * loader/PluginDocument.cpp: 66051 (WebCore::PluginTokenizer::createDocumentStructure): 66052 * loader/SubresourceLoader.cpp: 66053 (WebCore::SubresourceLoader::load): 66054 (WebCore::SubresourceLoader::create): 66055 * loader/icon/IconLoader.cpp: 66056 (WebCore::IconLoader::startLoading): 66057 (WebCore::IconLoader::finishLoading): 66058 * loader/loader.cpp: 66059 (WebCore::Loader::servePendingRequests): 66060 * loader/mac/LoaderNSURLExtras.m: 66061 (urlOriginalData): 66062 * page/Chrome.cpp: 66063 (WebCore::Chrome::setToolTip): 66064 * page/ContextMenuController.cpp: 66065 (WebCore::ContextMenuController::contextMenuItemSelected): 66066 * page/Frame.cpp: 66067 (WebCore::Frame::setUserStyleSheetLocation): 66068 * page/InspectorController.cpp: 66069 (WebCore::InspectorResource::type): 66070 (WebCore::addSourceToFrame): 66071 (WebCore::InspectorController::addScriptResource): 66072 (WebCore::InspectorController::updateScriptResourceRequest): 66073 (WebCore::InspectorController::didCommitLoad): 66074 * page/mac/WebCoreFrameBridge.mm: 66075 (-[WebCoreFrameBridge getData:andResponse:forURL:]): 66076 * platform/KURL.h: 66077 (WebCore::KURL::string): 66078 (WebCore::KURL::deprecatedString): 66079 * platform/mac/ClipboardMac.mm: 66080 (WebCore::ClipboardMac::getData): 66081 * platform/mac/CookieJar.mm: 66082 (WebCore::cookies): 66083 (WebCore::setCookies): 66084 * platform/mac/PasteboardMac.mm: 66085 (WebCore::Pasteboard::writeURL): 66086 (WebCore::fileWrapperForImage): 66087 (WebCore::Pasteboard::writeImage): 66088 (WebCore::Pasteboard::plainText): 66089 * platform/network/ResourceHandle.cpp: 66090 (WebCore::ResourceHandle::portAllowed): 66091 * platform/network/ResourceRequestBase.cpp: 66092 (WebCore::ResourceRequestBase::isNull): 66093 * platform/network/cf/ResourceHandleCFNet.cpp: 66094 (WebCore::willSendRequest): 66095 (WebCore::didReceiveResponse): 66096 (WebCore::didReceiveData): 66097 (WebCore::didFinishLoading): 66098 (WebCore::didFail): 66099 (WebCore::didReceiveChallenge): 66100 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 66101 (WebCore::ResourceHandle::~ResourceHandle): 66102 (WebCore::ResourceHandle::start): 66103 * platform/win/ClipboardUtilitiesWin.cpp: 66104 (WebCore::createGlobalData): 66105 (WebCore::urlToMarkup): 66106 * platform/win/ClipboardWin.cpp: 66107 (WebCore::writeURL): 66108 (WebCore::writeImageToDataObject): 66109 (WebCore::ClipboardWin::writeURL): 66110 (WebCore::ClipboardWin::writeRange): 66111 * platform/win/PasteboardWin.cpp: 66112 (WebCore::Pasteboard::writeSelection): 66113 (WebCore::Pasteboard::writeURL): 66114 * plugins/win/PluginDatabaseWin.cpp: 66115 (WebCore::PluginDatabaseWin::findPlugin): 66116 * plugins/win/PluginStreamWin.cpp: 66117 (WebCore::PluginStreamWin::startStream): 66118 (WebCore::PluginStreamWin::destroyStream): 66119 * plugins/win/PluginViewWin.cpp: 66120 (WebCore::scriptStringIfJavaScriptURL): 66121 (WebCore::PluginViewWin::performRequest): 66122 * svg/SVGImageLoader.cpp: 66123 (WebCore::SVGImageLoader::updateFromElement): 66124 * xml/XMLHttpRequest.cpp: 66125 (WebCore::XMLHttpRequest::getResponseXML): 66126 (WebCore::XMLHttpRequest::urlMatchesDocumentDomain): 66127 * xml/XSLImportRule.cpp: 66128 (WebCore::XSLImportRule::loadSheet): 66129 * xml/XSLTProcessor.cpp: 66130 (WebCore::XSLTProcessor::createDocumentFromSource): 66131 (WebCore::xsltStylesheetPointer): 66132 (WebCore::xmlDocPtrFromNode): 66133 66134 2007-12-11 Beth Dakin <bdakin (a] apple.com> 66135 66136 Reviewed by Darin. 66137 66138 Fix for <rdar://problem/5641255> SVGs with width and height 100% 66139 fail to render when used as background images 66140 66141 CachedImage now has a setImageContainerSize function. It is only 66142 needed for SVG right now. 66143 * loader/CachedImage.cpp: 66144 (WebCore::CachedImage::setImageContainerSize): 66145 * loader/CachedImage.h: 66146 66147 Relatively sized SVGs have no intrinsic size. Because this call is 66148 low-level enough that we cannot pass in the container size and get 66149 the real size of the SVG, we need to know if it has relative 66150 dimensions, and if so, we need to get the size from scaledTileSize. 66151 * platform/graphics/Image.cpp: 66152 (WebCore::Image::drawTiled): 66153 * platform/graphics/Image.h: 66154 (WebCore::Image::setContainerSize): 66155 (WebCore::Image::hasRelativeWidth): 66156 (WebCore::Image::hasRelativeHeight): 66157 66158 Re-factored calculateBackgroundSize a bit so that it returns an 66159 IntSize. Made it a member function so that it can send m_width and 66160 m_height along to setImageContainerSize. 66161 * rendering/RenderBox.cpp: 66162 (WebCore::RenderBox::calculateBackgroundSize): 66163 (WebCore::RenderBox::calculateBackgroundImageGeometry): 66164 * rendering/RenderBox.h: 66165 66166 Need to account for relatively sized SVGs in calcViewport() 66167 * rendering/RenderSVGRoot.cpp: 66168 (WebCore::RenderSVGRoot::calcViewport): 66169 66170 Added new member variables to store the size of the SVG container. 66171 relativeWidthValue() and relativeHeightValue() use the stored SVG 66172 container size to correctly calculate the width and height of a 66173 relatively sized SVG. 66174 * svg/SVGSVGElement.cpp: 66175 (WebCore::SVGSVGElement::SVGSVGElement): 66176 (WebCore::SVGSVGElement::setContainerSize): 66177 (WebCore::SVGSVGElement::relativeWidthValue): 66178 (WebCore::SVGSVGElement::relativeHeightValue): 66179 * svg/SVGSVGElement.h: 66180 (WebCore::SVGSVGElement::containerSize): 66181 66182 Re-factored size calculations to use the size of the container. 66183 * svg/graphics/SVGImage.cpp: 66184 (WebCore::SVGImage::setContainerSize): 66185 (WebCore::SVGImage::size): 66186 (WebCore::SVGImage::hasRelativeWidth): 66187 (WebCore::SVGImage::hasRelativeHeight): 66188 * svg/graphics/SVGImage.h: 66189 66190 2007-12-11 Darin Adler <darin (a] apple.com> 66191 66192 * editing/Editor.cpp: 66193 (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding 66194 a missing return statement. 66195 66196 2007-12-11 Darin Adler <darin (a] apple.com> 66197 66198 Reviewed by Geoff. 66199 66200 - exposed many new commands to the DOM Document executeCommand function by 66201 merging the JSEditor and Editor executeCommand implementations 66202 - replaced the execCommand function with a EditorCommand class 66203 - replaced the WTF::StrHash<> class template with the WebCore::StringHash class 66204 - replaced the WTF::CaseInsensitiveHash<> class template with the 66205 WebCore::CaseFoldingHash class 66206 66207 * WebCore.base.exp: Updated. 66208 * WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp. 66209 * WebCore.vcproj/WebCore.vcproj: Ditto. 66210 * WebCore.xcodeproj/project.pbxproj: Ditto. 66211 * WebCoreSources.bkl: Ditto. 66212 66213 * dom/Document.cpp: 66214 (WebCore::Document::Document): Removed code to set up m_jsEditor. 66215 (WebCore::Document::~Document): Removed code to delete m_jsEditor. 66216 (WebCore::command): Added. Helper function that gets an Editor::Command. 66217 (WebCore::Document::executeCommand): Changed to use Editor::Command instead of 66218 JSEditor. 66219 (WebCore::Document::queryCommandEnabled): Ditto. 66220 (WebCore::Document::queryCommandIndeterm): 66221 (WebCore::Document::queryCommandState): Ditto. 66222 (WebCore::Document::queryCommandSupported): Ditto. 66223 (WebCore::Document::queryCommandValue): Ditto. 66224 66225 * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to 66226 use CaseFoldingHash. 66227 66228 * editing/Editor.cpp: 66229 (WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and 66230 made into a member function so it is accessible from the new EditorCommand.cpp file. 66231 Also changed to get the selection from the passed-in frame instead of from the 66232 page, because this should work on the targeted frame unless the event overrides it. 66233 (WebCore::Editor::handleKeypress): Updated for selectionForCommand change. 66234 (WebCore::Editor::handleInputMethodKeypress): Ditto. 66235 (WebCore::imageElementFromImageDocument): Renamed and changed to return 66236 a HTMLImageElement instead of a Node*. 66237 (WebCore::Editor::canCopy): Updated for name change. 66238 (WebCore::Editor::selectionUnorderedListState): Updated for TriState change. 66239 (WebCore::Editor::selectionOrderedListState): Ditto. 66240 (WebCore::Editor::selectionStartHasStyle): Make type of local more specific. 66241 (WebCore::updateState): Moved here from Frame. 66242 (WebCore::Editor::selectionHasStyle): Ditto. 66243 (WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence. 66244 (WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for 66245 selectionForCommand change. 66246 (WebCore::Editor::copy): Updated for imageElementFromImageDocument change. 66247 (WebCore::Editor::toggleBold): Call the ToggleBold command via the command 66248 machinery since it's no longer in this file as a local function. 66249 (WebCore::Editor::toggleUnderline): Call the ToggleUnderline command. 66250 (WebCore::Editor::setBaseWritingDirection): Change type of argument and of 66251 local variable. 66252 (WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful 66253 without a kill ring, but it's relatively straightforward to implement one. 66254 (WebCore::Editor::appendToKillRing): Put default implementation here for 66255 platforms other than Mac. We should probably put a simple kill ring 66256 implementation here -- doesn't need to be shared with the OS oh platforms 66257 other than Mac. 66258 (WebCore::Editor::prependToKillRing): Ditto. 66259 (WebCore::Editor::yankFromKillRing): Ditto. 66260 (WebCore::Editor::startNewKillRingSequence): Ditto. 66261 (WebCore::Editor::setKillRingToYankedState): Ditto. 66262 66263 * editing/Editor.h: Moved the TriState enum here instead of inside the 66264 Frame class. Added EditorCommandSource enum. Moved selectionHasStyle 66265 here from the Frame class. Added Editor::Command class with five functions 66266 for the various things you can do with a command (execute it, check if it 66267 can be used, and its state and value). Changed hte parameter of 66268 setBaseWritingDirection to be a const String& rather than a String. 66269 Got rid of the kill-ring-related operations, but added the kill ring 66270 functions themselves. Made selectedRange() public. Made the 66271 m_startNewKillRingSequence not Mac-specific and added "should" to its 66272 name. 66273 66274 * editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp. 66275 Retained only the editing commands. 66276 (WebCore::targetFrame): Moved to the top of the file. 66277 (WebCore::executeApplyStyle): Added. Helper function for commands 66278 that need to apply styles. 66279 (WebCore::executeToggleStyle): Added. Helper function for commands 66280 that need to toggle styles based on the style of the start of selection. 66281 (WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but 66282 for paragraph styles. 66283 (WebCore::executeInsertFragment): Added. Helper function for commands 66284 that need to insert a DOM fragment. 66285 (WebCore::executeInsertNode): Added. Helper function for commands that 66286 need to insert a tree rooted in a single DOM node. 66287 (WebCore::stateStyle): Added. Helper function for the state of commands 66288 that represent style. 66289 (WebCore::valueStyle): Added. Helper function for the value of commands 66290 that represent style. 66291 (WebCore::canScroll): Added. Helper functions for some move and scroll 66292 commands that need to determine if the renderer they are in can scroll. 66293 (WebCore::unionDOMRanges): Moved here from EditorMac. 66294 (WebCore::executeBackColor): 66295 (WebCore::executeBackwardDelete): 66296 (WebCore::executeCopy): 66297 (WebCore::executeCreateLink): 66298 (WebCore::executeCut): 66299 (WebCore::executeDelete): 66300 (WebCore::executeDeleteToMark): 66301 (WebCore::executeDeleteWordBackward): 66302 (WebCore::executeDeleteWordForward): 66303 (WebCore::executeFindString): 66304 (WebCore::executeFontName): 66305 (WebCore::executeFontSize): 66306 (WebCore::executeFontSizeDelta): 66307 (WebCore::executeForeColor): 66308 (WebCore::executeFormatBlock): 66309 (WebCore::executeForwardDelete): 66310 (WebCore::executeIndent): 66311 (WebCore::executeInsertBacktab): 66312 (WebCore::executeInsertHorizontalRule): 66313 (WebCore::executeInsertHTML): 66314 (WebCore::executeInsertImage): 66315 (WebCore::executeInsertLineBreak): 66316 (WebCore::executeInsertNewline): 66317 (WebCore::executeInsertNewlineInQuotedContent): 66318 (WebCore::executeInsertOrderedList): 66319 (WebCore::executeInsertParagraph): 66320 (WebCore::executeInsertTab): 66321 (WebCore::executeInsertText): 66322 (WebCore::executeInsertUnorderedList): 66323 (WebCore::executeJustifyCenter): 66324 (WebCore::executeJustifyFull): 66325 (WebCore::executeJustifyLeft): 66326 (WebCore::executeJustifyRight): 66327 (WebCore::executeMoveBackward): 66328 (WebCore::executeMoveBackwardAndModifySelection): 66329 (WebCore::executeMoveDown): 66330 (WebCore::executeMoveDownAndModifySelection): 66331 (WebCore::executeMoveDownByPageAndModifyCaret): 66332 (WebCore::executeMoveForward): 66333 (WebCore::executeMoveForwardAndModifySelection): 66334 (WebCore::executeMoveLeft): 66335 (WebCore::executeMoveLeftAndModifySelection): 66336 (WebCore::executeMoveRight): 66337 (WebCore::executeMoveRightAndModifySelection): 66338 (WebCore::executeMoveToBeginningOfDocument): 66339 (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): 66340 (WebCore::executeMoveToBeginningOfLine): 66341 (WebCore::executeMoveToBeginningOfLineAndModifySelection): 66342 (WebCore::executeMoveToBeginningOfParagraph): 66343 (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): 66344 (WebCore::executeMoveToBeginningOfSentence): 66345 (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): 66346 (WebCore::executeMoveToEndOfDocument): 66347 (WebCore::executeMoveToEndOfDocumentAndModifySelection): 66348 (WebCore::executeMoveToEndOfSentence): 66349 (WebCore::executeMoveToEndOfSentenceAndModifySelection): 66350 (WebCore::executeMoveToEndOfLine): 66351 (WebCore::executeMoveToEndOfLineAndModifySelection): 66352 (WebCore::executeMoveToEndOfParagraph): 66353 (WebCore::executeMoveToEndOfParagraphAndModifySelection): 66354 (WebCore::executeMoveParagraphBackwardAndModifySelection): 66355 (WebCore::executeMoveParagraphForwardAndModifySelection): 66356 (WebCore::executeMoveUp): 66357 (WebCore::executeMoveUpAndModifySelection): 66358 (WebCore::executeMoveUpByPageAndModifyCaret): 66359 (WebCore::executeMoveWordBackward): 66360 (WebCore::executeMoveWordBackwardAndModifySelection): 66361 (WebCore::executeMoveWordForward): 66362 (WebCore::executeMoveWordForwardAndModifySelection): 66363 (WebCore::executeMoveWordLeft): 66364 (WebCore::executeMoveWordLeftAndModifySelection): 66365 (WebCore::executeMoveWordRight): 66366 (WebCore::executeMoveWordRightAndModifySelection): 66367 (WebCore::executeOutdent): 66368 (WebCore::executePaste): 66369 (WebCore::executePasteAndMatchStyle): 66370 (WebCore::executePrint): 66371 (WebCore::executeRedo): 66372 (WebCore::executeRemoveFormat): 66373 (WebCore::executeSelectAll): 66374 (WebCore::executeSelectToMark): 66375 (WebCore::executeSetMark): 66376 (WebCore::executeStrikethrough): 66377 (WebCore::executeSubscript): 66378 (WebCore::executeSuperscript): 66379 (WebCore::executeSwapWithMark): 66380 (WebCore::executeToggleBold): 66381 (WebCore::executeToggleItalic): 66382 (WebCore::executeTranspose): 66383 (WebCore::executeUnderline): 66384 (WebCore::executeUndo): 66385 (WebCore::executeUnlink): 66386 (WebCore::executeUnscript): 66387 (WebCore::executeUnselect): 66388 (WebCore::executeYank): 66389 (WebCore::executeYankAndSelect): 66390 (WebCore::supported): 66391 (WebCore::supportedPaste): 66392 (WebCore::enabled): 66393 (WebCore::enabledAnySelection): 66394 (WebCore::enabledAnySelectionAndMark): 66395 (WebCore::enableCaretInEditableText): 66396 (WebCore::enabledCopy): 66397 (WebCore::enabledCut): 66398 (WebCore::enabledInEditableText): 66399 (WebCore::enabledInRichlyEditableText): 66400 (WebCore::enabledPaste): 66401 (WebCore::enabledRangeInEditableText): 66402 (WebCore::enabledRangeInRichlyEditableText): 66403 (WebCore::enabledRedo): 66404 (WebCore::enabledUndo): 66405 (WebCore::stateNone): 66406 (WebCore::stateBold): 66407 (WebCore::stateItalic): 66408 (WebCore::stateOrderedList): 66409 (WebCore::stateStrikethrough): 66410 (WebCore::stateSubscript): 66411 (WebCore::stateSuperscript): 66412 (WebCore::stateUnderline): 66413 (WebCore::stateUnorderedList): 66414 (WebCore::valueNull): 66415 (WebCore::valueBackColor): 66416 (WebCore::valueFontName): 66417 (WebCore::valueFontSize): 66418 (WebCore::valueFontSizeDelta): 66419 (WebCore::valueForeColor): 66420 (WebCore::createCommandMap): Added lots of commands, including all the commands 66421 from JSEditor. A few commands needed different behavior based on whether they are 66422 invoked from the DOM or a keyboard binding. 66423 (WebCore::Editor::command): Added. Gets a command object given a name. 66424 (WebCore::Editor::Command::Command): Added. 66425 (WebCore::Editor::Command::execute): Added. 66426 (WebCore::Editor::Command::isSupported): Added. 66427 (WebCore::Editor::Command::isEnabled): Added. 66428 (WebCore::Editor::Command::state): Added. 66429 (WebCore::Editor::Command::value): Added. 66430 (WebCore::Editor::execCommand): Changed to call command().execute(). 66431 66432 * editing/JSEditor.cpp: Removed. 66433 * editing/JSEditor.h: Removed. 66434 66435 * editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of 66436 kill ring commands, so the kill ring commands can be cross-platform. 66437 (WebCore::Editor::appendToKillRing): Added. 66438 (WebCore::Editor::prependToKillRing): Added. 66439 (WebCore::Editor::yankFromKillRing): Added. 66440 (WebCore::Editor::startNewKillRingSequence): Added. 66441 (WebCore::Editor::setKillRingToYankedState): Added. 66442 66443 * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState. 66444 * page/Frame.h: Ditto. 66445 66446 * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle. 66447 * page/mac/WebCoreFrameBridge.h: Ditto. 66448 66449 * platform/ContextMenu.cpp: 66450 (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change. 66451 66452 * platform/text/StringHash.h: 66453 (WebCore::StringHash::hash): Merged the StrHash<> template classes into this. 66454 (WebCore::StringHash::equal): Ditto. 66455 (WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template 66456 classes into this. 66457 (WebCore::CaseFoldingHash::equal): Ditto. 66458 66459 * platform/text/StringImpl.cpp: 66460 (WebCore::equal): Changed to invoke StringHash. 66461 (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash. 66462 66463 * dom/DOMImplementation.cpp: 66464 (WebCore::addString): Updated to use StringHash and CaseFoldingHash. 66465 (WebCore::isSVG10Feature): Ditto. 66466 (WebCore::isSVG11Feature): Ditto. 66467 * loader/FrameLoader.cpp: 66468 (WebCore::localSchemes): Ditto. 66469 * platform/graphics/FontCache.cpp: 66470 (WebCore::computeHash): Ditto. 66471 * platform/network/HTTPHeaderMap.h: Ditto. 66472 * platform/text/PlatformString.h: Ditto. 66473 * platform/text/StringImpl.h: Ditto. 66474 * rendering/RenderPartObject.cpp: 66475 (WebCore::RenderPartObject::updateWidget): Ditto. 66476 * xml/XMLHttpRequest.cpp: 66477 (WebCore::canSetRequestHeader): Ditto. 66478 66479 * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h. 66480 66481 2007-12-11 Darin Adler <darin (a] apple.com> 66482 66483 * platform/wx/KeyboardEventWx.cpp: 66484 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the 66485 WX build. Changes the code around a little bit. 66486 66487 2007-12-11 Darin Adler <darin (a] apple.com> 66488 66489 * platform/wx/KeyboardEventWx.cpp: 66490 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build. 66491 66492 2007-12-11 Dan Bernstein <mitz (a] apple.com> 66493 66494 Reviewed by Darin Adler. 66495 66496 - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia 66497 66498 Test: fast/text/international/complex-character-based-fallback.html 66499 66500 * platform/graphics/Font.cpp: 66501 (WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument 66502 that forces this function to use the small caps font. It is used for 66503 combining marks that need to combine with a small cap. 66504 * platform/graphics/Font.h: 66505 * platform/win/UniscribeController.cpp: 66506 (WebCore::UniscribeController::advance): Changed to split the string 66507 into runs of characters that will be rendered using the same FontData. 66508 This is done by calling glyphDataForCharacter() for each cahracter to 66509 find the FontData it should be rendered with. 66510 (WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData 66511 argument that is passed on to shapeAndPlaceItem() instead of the 66512 smallCaps argument. 66513 (WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData 66514 argument and removed the font fallback logic from this function, as 66515 it is now expected to be called with an item all of whose characters 66516 can be rendered with the given fontData. 66517 * platform/win/UniscribeController.h: 66518 66519 2007-12-07 Alexey Proskuryakov <ap (a] webkit.org> 66520 66521 Reviewed by Darin. 66522 66523 <rdar://problem/5535636> 66524 Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard. 66525 66526 http://bugs.webkit.org/show_bug.cgi?id=13916 66527 JavaScript detects Tab as a character input on a textfield validation 66528 66529 Test: platform/win/fast/events/double-dead-char.html 66530 66531 * platform/PlatformKeyboardEvent.h: 66532 (WebCore::PlatformKeyboardEvent::): 66533 (WebCore::PlatformKeyboardEvent::type): 66534 (WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode): 66535 (WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode): 66536 (WebCore::PlatformKeyboardEvent::keyIdentifier): 66537 (WebCore::PlatformKeyboardEvent::setIsAutoRepeat): 66538 Added an explicit type member to differentiate different kinds of events: 66539 RawKeyDown == keydown == WM_KEYDOWN 66540 KeyUp == keyup == WM_KEYUP 66541 Char == keypress == WM_CHAR 66542 KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for 66543 event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM. 66544 66545 * platform/mac/KeyEventMac.mm: 66546 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members. 66547 Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers. 66548 (WebCore::windowsKeyCodeForKeyEvent): 66549 (WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining 66550 that it still fails. 66551 (WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that 66552 should not be available in those (because it cannot be provided on Windows). 66553 66554 * platform/win/KeyEventWin.cpp: 66555 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members. 66556 Used standard Windows constants for bit masks instead of our own ones. 66557 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows. 66558 66559 * platform/gtk/KeyEventGtk.cpp: 66560 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 66561 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 66562 * platform/qt/PlatformKeyboardEventQt.cpp: 66563 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 66564 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 66565 * platform/wx/KeyboardEventWx.cpp: 66566 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 66567 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 66568 Updated for cross-platform changes as much as it was possible without appropriate build 66569 environments. 66570 66571 * WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to 66572 convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand(). 66573 66574 * bridge/EditorClient.h: 66575 Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses. 66576 Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns. 66577 66578 * dom/Document.h: 66579 * dom/Document.cpp: 66580 (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler. 66581 66582 * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior. 66583 66584 * dom/KeyboardEvent.cpp: 66585 (WebCore::eventTypeForKeyboardEventType): 66586 (WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is 66587 now straightforward, so scary hacks such as using autorepeat to distinguish types are 66588 not needed. 66589 (WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior. 66590 (WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior. 66591 Changed to a more compatible behavior: raw keydown/keyup events do not and can not have 66592 character codes. 66593 66594 * editing/Editor.h: 66595 * editing/Editor.cpp: 66596 (WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise? 66597 (WebCore::Editor::handleKeyboardEvent): Updated for new function names. 66598 (WebCore::Editor::handleInputMethodKeydown): Ditto. 66599 66600 * html/HTMLButtonElement.cpp: 66601 (WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an 66602 appropriate event. Enter is processed on keypress (and thus should be checked for via charCode, 66603 not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is 66604 highlighted when Space is pressed. 66605 66606 * html/HTMLInputElement.cpp: 66607 (WebCore::HTMLInputElement::defaultEventHandler): 66608 * html/HTMLSelectElement.cpp: 66609 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): 66610 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): 66611 Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones 66612 described above. 66613 66614 * page/EventHandler.cpp: 66615 (WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event 66616 to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event 66617 handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress() 66618 now being handleInputMethodKeydown(). 66619 (WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown. 66620 (WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler, 66621 as default tab handling happens when processing keydown. 66622 (WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal 66623 event handling. Fixed accesskey processing to use information that's available in a raw keydown 66624 event. 66625 66626 (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular, 66627 handle tabs during keydown processing. 66628 66629 * page/mac/EventHandlerMac.mm: 66630 (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is 66631 what callers want. 66632 66633 * platform/text/PlatformString.h: 66634 * platform/text/String.cpp: 66635 (WebCore::String::characterStartingAt): 66636 * platform/text/StringImpl.cpp: 66637 (WebCore::StringImpl::characterStartingAt): 66638 * platform/text/StringImpl.h: 66639 Added a UChar32 accessor. 66640 66641 * svg/graphics/SVGImageEmptyClients.h: 66642 (WebCore::SVGEmptyEditorClient::handleKeyboardEvent): 66643 (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown): 66644 Updated for new function names. 66645 66646 2007-12-11 John Sullivan <sullivan (a] apple.com> 66647 66648 Reviewed by Adele 66649 66650 Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public 66651 66652 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 66653 (WebCore::MediaPlayerPrivate::createQTMovieView): 66654 (WebCore::MediaPlayerPrivate::detachQTMovieView): 66655 66656 2007-12-11 Alexey Proskuryakov <ap (a] webkit.org> 66657 66658 Reviewed by Darin. 66659 66660 http://bugs.webkit.org/show_bug.cgi?id=16325 66661 <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work 66662 66663 Fix this on Windows, too! 66664 66665 Test: http/tests/misc/empty-cookie.html 66666 66667 * platform/network/win/CookieJarWin.cpp: 66668 (WebCore::setCookies): 66669 (WebCore::cookies): 66670 Same fix as on Mac, translated into CF. 66671 66672 * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win. 66673 66674 2007-12-11 Christian Dywan <christian (a] twotoasts.de> 66675 66676 Reviewed by Alp Toker. 66677 66678 http://bugs.webkit.org/show_bug.cgi?id=16371 66679 Implement additional mouse cursors for Gtk 66680 66681 Added cursor bitmaps from Mozilla: 66682 http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h 66683 66684 * platform/gtk/CursorGtk.cpp: 66685 (WebCore::customCursorNew): 66686 (WebCore::verticalTextCursor): 66687 (WebCore::cellCursor): 66688 (WebCore::contextMenuCursor): 66689 (WebCore::noDropCursor): 66690 (WebCore::copyCursor): 66691 (WebCore::progressCursor): 66692 (WebCore::aliasCursor): 66693 (WebCore::noneCursor): 66694 (WebCore::notAllowedCursor): 66695 (WebCore::zoomInCursor): 66696 (WebCore::zoomOutCursor): 66697 * platform/gtk/CursorGtk.h: Added. 66698 66699 2007-12-10 Oliver Hunt <oliver (a] apple.com> 66700 66701 Reviewed by Weinig, Dan, and Alexey. 66702 66703 Fix character set used for dynamically loaded scripts. 66704 66705 Fix for: 66706 <rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly. 66707 <rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage. 66708 <rdar://problem/5416588> All menus for chinese IBM site have wrong encoding 66709 66710 Use the same logic to determine the charset for a script loaded dynamically 66711 as we do for a statically loaded script. 66712 66713 * html/HTMLScriptElement.cpp: 66714 (WebCore::HTMLScriptElement::insertedIntoDocument): 66715 66716 2007-12-10 Justin Garcia <justin.garcia (a] apple.com> 66717 66718 Reviewed by Oliver Hunt. 66719 66720 <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled 66721 66722 We were trying to insert a block of the requested type before the body element. 66723 66724 * editing/FormatBlockCommand.cpp: 66725 (WebCore::FormatBlockCommand::doApply): 66726 Removed unnecessary ()s in the if condition. 66727 Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since 66728 a) upstreamStart will never be outside the root editable element, since in that case 66729 there would be no block inside the editable root to Format, and b) if upstreamStart.node() 66730 *is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert 66731 at [root, 0]. 66732 Added comments to explain the use of upstream() in the second if-clause. 66733 Added an early return for case where there is nothing selected, in that case, there is nothing 66734 to move. 66735 66736 2007-12-10 Adele Peterson <adele (a] apple.com> 66737 66738 Reviewed and partially fixed by Tim Hatcher. 66739 66740 Remaining part of fix for <rdar://problem/5633400> 66741 Transformed <video> is not clipped correctly until a repaint is forced 66742 66743 Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie 66744 from clobbering the WebCore repaints. 66745 66746 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added. 66747 * html/HTMLMediaElement.h: 66748 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added. 66749 * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added. 66750 66751 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 66752 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 66753 (method_setImplementation): Added for Tiger. 66754 66755 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup. 66756 (WebCore::MediaPlayerPrivate::cancelLoad): ditto. 66757 (WebCore::MediaPlayerPrivate::setVisible): ditto. 66758 (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer. 66759 66760 (WebCore::MediaPlayerPrivate::repaint): Added. Triggers a repaint on the video renderer. 66761 (-[WebCoreMovieObserver repaint]): ditto. 66762 66763 (WebCore::mainThreadSetNeedsDisplay): Added. 66764 Does a WebCore repaint instead of going through the view repaint system for QTMovieView. 66765 (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay. 66766 66767 2007-12-10 Geoffrey Garen <ggaren (a] apple.com> 66768 66769 Reviewed by Sam Weinig. 66770 66771 Updated for rename in JavaScriptCore. 66772 66773 * bridge/mac/WebCoreScriptDebugger.mm: 66774 (-[WebCoreScriptCallFrame scopeChain]): 66775 (-[WebCoreScriptCallFrame functionName]): 66776 (-[WebCoreScriptCallFrame evaluateWebScript:]): 66777 66778 2007-12-10 Rodney Dawes <dobey (a] wayofthemonkey.com> 66779 66780 Bug 16383: Ambiguous Window Usage in kjs_dom.cpp 66781 <http://bugs.webkit.org/show_bug.cgi?id=16383> 66782 66783 Use KJS::Window not the ambiguous Window 66784 66785 Reviewed by ddkilzer. 66786 66787 * bindings/js/kjs_dom.cpp (checkNodeSecurity): 66788 66789 2007-12-10 Sam Weinig <sam (a] webkit.org> 66790 66791 Fix non-mac builds. 66792 66793 * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan. 66794 66795 2007-12-10 Brett Wilson <brettw (a] chromium.org> 66796 66797 Reviewed by Darin. 66798 66799 Fix a divide by 0 in the progress tracker. 66800 http://bugs.webkit.org/show_bug.cgi?id=15055 66801 66802 * loader/ProgressTracker.cpp: 66803 (WebCore::ProgressTracker::incrementProgress): 66804 66805 2007-12-09 Sam Weinig <sam (a] webkit.org> 66806 66807 Reviewed by Darin. 66808 66809 More cleanup of kjs_window. 66810 - Move WindowFeatures from bridge/ to page/ 66811 - Move functions related to WindowFeatures (boolFeature, 66812 floatFeature, setWindowFeature, parseWindowFeatures) into the class. 66813 - Fix up whitespace. 66814 66815 * WebCore.vcproj/WebCore.vcproj: 66816 * WebCore.xcodeproj/project.pbxproj: 66817 * bindings/js/kjs_window.cpp: 66818 (KJS::DOMWindowTimer::~DOMWindowTimer): 66819 (KJS::createWindow): 66820 (KJS::showModalDialog): 66821 (KJS::Window::getOwnPropertySlot): 66822 (KJS::Window::allowsAccessFrom): 66823 (KJS::Window::shouldInterruptScript): 66824 (KJS::WindowProtoFuncAToB::callAsFunction): 66825 (KJS::WindowProtoFuncOpen::callAsFunction): 66826 (KJS::Window::setReturnValueSlot): 66827 (KJS::ScheduledAction::execute): 66828 (KJS::Window::timerFired): 66829 (KJS::Location::Location): 66830 (KJS::Location::getValueProperty): 66831 (KJS::Location::getOwnPropertySlot): 66832 (KJS::Location::put): 66833 (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names. 66834 (KJS::LocationProtoFuncAssign::callAsFunction): Ditto. 66835 (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to 66836 allowsAccessFrom, cleanup the function a little. 66837 (KJS::PausedTimeouts::~PausedTimeouts): 66838 * bridge/WindowFeatures.h: Removed. 66839 * page/WindowFeatures.cpp: Added. 66840 (WebCore::isSeparator): 66841 (WebCore::WindowFeatures::WindowFeatures): 66842 (WebCore::WindowFeatures::setWindowFeature): 66843 (WebCore::WindowFeatures::boolFeature): 66844 (WebCore::WindowFeatures::floatFeature): 66845 * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h. 66846 (WebCore::WindowFeatures::WindowFeatures): 66847 66848 2007-12-10 Timothy Hatcher <timothy (a] apple.com> 66849 66850 Reviewed by Mark Rowe. 66851 66852 <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x 66853 66854 * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR, 66855 so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX. 66856 66857 2007-12-10 Alp Toker <alp (a] atoker.com> 66858 66859 Reviewed by Niko. 66860 66861 Cairo implementation of GraphicsContext::setUseAntialiasing(). 66862 66863 * platform/graphics/cairo/GraphicsContextCairo.cpp: 66864 (WebCore::GraphicsContext::setUseAntialiasing): 66865 66866 2007-12-10 Rob Buis <buis (a] kde.org> 66867 66868 Reviewed by Darin. 66869 66870 http://bugs.webkit.org/show_bug.cgi?id=16182 66871 SVG should disable antialiasing for shape-rendering="crispEdges" 66872 66873 Turn off anti-aliasing of shapes when shape-rendering="crispEdges". 66874 66875 * platform/graphics/GraphicsContext.h: 66876 * platform/graphics/cairo/GraphicsContextCairo.cpp: 66877 (WebCore::GraphicsContext::setUseAntialiasing): 66878 * platform/graphics/cg/GraphicsContextCG.cpp: 66879 (WebCore::GraphicsContext::setUseAntialiasing): 66880 * platform/graphics/qt/GraphicsContextQt.cpp: 66881 (WebCore::GraphicsContext::setUseAntialiasing): 66882 * platform/graphics/wx/GraphicsContextWx.cpp: 66883 (WebCore::GraphicsContext::setUseAntialiasing): 66884 * rendering/RenderPath.cpp: 66885 (WebCore::RenderPath::paint): 66886 66887 2007-12-09 Rob Buis <buis (a] kde.org> 66888 66889 Reviewed by Niko. 66890 66891 http://bugs.webkit.org/show_bug.cgi?id=16163 66892 SVG crash in Node::setChanged() on Debug builds only (trashed parent) 66893 66894 Fix the crash by properly unregistering as client from SVGResource 66895 when deleting a styled svg node. 66896 66897 * svg/SVGStyledElement.cpp: 66898 (WebCore::SVGStyledElement::~SVGStyledElement): 66899 66900 2007-12-10 Brady Eidson <beidson (a] apple.com> 66901 66902 Rubberstamped by John 66903 66904 * storage/DatabaseTracker.cpp: 66905 (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size 66906 for the new quota, we should allow the database to be created 66907 66908 2007-12-10 David D. Kilzer <ddkilzer (a] webkit.org> 66909 66910 Bug 9683: Implement select.options.remove() method 66911 <http://bugs.webkit.org/show_bug.cgi?id=9683> 66912 66913 Reviewed by Maciej. 66914 66915 Implement select.options.remove() by calling select.remove() 66916 with the same arguments. This is what MSIE 7 does, although its 66917 select.remove() method differs from WebKit's by throwing an 66918 exception when called with no arguments or with a negative 66919 integer argument. Note that the DOM Level 1 documentation 66920 specifies that select.remove() does not throw an exception. 66921 66922 Tests: fast/js/select-options-remove-gc.html 66923 fast/js/select-options-remove.html 66924 66925 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 66926 (WebCore::JSHTMLOptionsCollection::remove): Added. 66927 * html/HTMLOptionsCollection.cpp: 66928 (WebCore::HTMLOptionsCollection::remove): Added. 66929 * html/HTMLOptionsCollection.h: 66930 * html/HTMLOptionsCollection.idl: 66931 66932 2007-12-09 Sam Weinig <sam (a] webkit.org> 66933 66934 Rubber stamped by Mark Rowe. 66935 66936 * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files. 66937 66938 2007-12-09 Oliver Hunt <oliver (a] apple.com> 66939 66940 Reviewed by Niko. 66941 66942 Correction, 'z' and 'Z' are the only commands that cannot have an extended 66943 list of arguments. 66944 66945 * svg/SVGParserUtilities.cpp: 66946 (WebCore::SVGPathParser::parseSVG): 66947 66948 2007-12-09 Oliver Hunt <oliver (a] apple.com> 66949 66950 Reviewed by Niko. 66951 66952 Prevent unlimited iteration in the case of invalid path data. 66953 66954 The only path commands that can leave numbers trailing the command processing 66955 are 'm' and 'M', in which trailing numbers are parsed as arguments to an 66956 implicit lineto command. In any case we should just terminate as an invalid 66957 path. 66958 66959 * svg/SVGParserUtilities.cpp: 66960 (WebCore::SVGPathParser::parseSVG): 66961 66962 2007-12-09 Luca Bruno <lethalman88 (a] gmail.com> 66963 66964 Reviewed by Alp Toker. 66965 66966 http://bugs.webkit.org/show_bug.cgi?id=15825 66967 [GTK] curl - slow dns causing hangs. 66968 66969 Create a vector of jobs, to satisfy requests in the right order. 66970 Set a limit to the number of simultaneous connections. 66971 66972 * platform/network/curl/ResourceHandleManager.cpp: 66973 (WebCore::maxRunningJobs): added 66974 (WebCore::ResourceHandleManager::ResourceHandleManager): 66975 (WebCore::ResourceHandleManager::removeFromCurl): 66976 (WebCore::ResourceHandleManager::startScheduledJobs): 66977 66978 * platform/network/curl/ResourceHandleManager.h: 66979 (WebCore::ResourceHandleList): removed 66980 (WebCore::ResourceHandleManager::m_runningJobs): added 66981 (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed 66982 (WebCore::ResourceHandleManager::m_resourceHandleList): added 66983 66984 2007-12-08 Sam Weinig <sam (a] webkit.org> 66985 66986 Reviewed by Oliver. 66987 66988 Cleanup kjs_window.h/cpp. 66989 66990 * bindings/js/kjs_window.cpp: 66991 (KJS::WindowPrivate::WindowPrivate): 66992 (KJS::DOMWindowTimer::DOMWindowTimer): 66993 (KJS::Window::Window): 66994 (KJS::Window::retrieveWindow): 66995 (KJS::Window::retrieveActive): 66996 (KJS::Window::retrieve): 66997 (KJS::Window::location): 66998 (KJS::Window::mark): 66999 (KJS::allowPopUp): 67000 (KJS::parseModalDialogFeatures): 67001 (KJS::floatFeature): 67002 (KJS::canShowModalDialog): 67003 (KJS::canShowModalDialogNow): 67004 (KJS::showModalDialog): 67005 (KJS::Window::getValueProperty): 67006 (KJS::Window::getOwnPropertySlot): 67007 (KJS::Window::globalExec): 67008 (KJS::Window::setListener): 67009 (KJS::Window::getListener): 67010 (KJS::Window::findOrCreateJSEventListener): 67011 (KJS::Window::findOrCreateJSUnprotectedEventListener): 67012 (KJS::Window::clearHelperObjectProperties): 67013 (KJS::Window::setCurrentEvent): 67014 (KJS::WindowProtoFuncAToB::callAsFunction): 67015 (KJS::WindowProtoFuncBToA::callAsFunction): 67016 (KJS::WindowProtoFuncOpen::callAsFunction): 67017 (KJS::WindowProtoFuncSetTimeout::callAsFunction): 67018 (KJS::WindowProtoFuncClearTimeout::callAsFunction): 67019 (KJS::WindowProtoFuncSetInterval::callAsFunction): 67020 (KJS::WindowProtoFuncAddEventListener::callAsFunction): 67021 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction): 67022 (KJS::WindowProtoFuncShowModalDialog::callAsFunction): 67023 (KJS::WindowProtoFuncNotImplemented::callAsFunction): 67024 * bindings/js/kjs_window.h: 67025 (KJS::PausedTimeouts::PausedTimeouts): 67026 (KJS::PausedTimeouts::takeTimeouts): 67027 (KJS::ScheduledAction::ScheduledAction): 67028 67029 2007-12-08 Sam Weinig <sam (a] webkit.org> 67030 67031 Reviewed by Mitz. 67032 67033 Move window scrolling, moving and resizing methods from KJS::Window 67034 to WebCore::DOMWindow so that there bindings can be autogenerated. 67035 67036 Tests: fast/dom/Window/window-resize-and-move-arguments.html 67037 fast/dom/Window/window-scroll-arguments.html 67038 67039 * WebCore.xcodeproj/project.pbxproj: 67040 * bindings/js/kjs_window.cpp: 67041 (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check. 67042 (KJS::WindowProtoFuncOpen::callAsFunction): 67043 (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check. 67044 * bindings/js/kjs_window.h: 67045 * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute 67046 to ensure that the no less than the declared number of attributes 67047 is allowed. 67048 * page/DOMWindow.cpp: 67049 (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window. 67050 (WebCore::DOMWindow::scrollBy): 67051 (WebCore::DOMWindow::scrollTo): 67052 (WebCore::DOMWindow::moveBy): 67053 (WebCore::DOMWindow::moveTo): 67054 (WebCore::DOMWindow::resizeBy): 67055 (WebCore::DOMWindow::resizeTo): 67056 * page/DOMWindow.h: 67057 (WebCore::DOMWindow::scroll): 67058 * page/DOMWindow.idl: 67059 67060 2007-12-08 Kevin Ollivier <kevino (a] theolliviers.com> 67061 67062 Reviewed by Alp Toker. 67063 67064 http://bugs.webkit.org/show_bug.cgi?id=14651 67065 [CURL] didReceiveResponse() only called for HTTP loads 67066 67067 http://bugs.webkit.org/show_bug.cgi?id=14583 67068 [GDK] file:// relative CSS include URLs handled incorrectly 67069 67070 Make sure CURL sets the ResourceResponse URL and calls 67071 didReceiveResponse for local files too. 67072 67073 * platform/network/curl/ResourceHandleManager.cpp: 67074 (WebCore::writeCallback): 67075 67076 2007-12-08 Oliver Hunt <oliver (a] apple.com> 67077 67078 Reviewed by Sam W. 67079 67080 Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags. 67081 67082 Fixes <rdar://problem/5620249> Must disable SVG animation 67083 <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior 67084 67085 In order to allow finer grained control over the set of SVG features 67086 this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following 67087 distinct flags: 67088 ENABLE_SVG_ANIMATION 67089 ENABLE_SVG_FILTERS 67090 ENABLE_SVG_FONTS 67091 ENABLE_SVG_AS_IMAGE 67092 ENABLE_SVG_USE 67093 67094 by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set. 67095 67096 * Configurations/WebCore.xcconfig: 67097 * DerivedSources.make: 67098 Handle the increased number of build flags that may be necessary 67099 67100 * WebCore.SVG.Animation.exp: Added. 67101 * WebCore.SVG.Filters.exp: Added. 67102 * WebCore.SVG.exp: 67103 We now may not need the animation or filter exports so 67104 these need to be separate. 67105 67106 * WebCore.vcproj/WebCore.vcproj: 67107 * WebCore.vcproj/build-generated-files.sh: 67108 Update for new flags 67109 67110 Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES) 67111 with the appropriate specific feature flag. 67112 * bindings/js/JSSVGElementWrapperFactory.cpp: 67113 (WebCore::createJSSVGWrapper): 67114 * bindings/objc/DOM.mm: 67115 (WebCore::createElementClassMap): 67116 * dom/make_names.pl: 67117 * loader/CachedImage.cpp: 67118 (WebCore::CachedImage::createImage): 67119 * page/DOMWindow.idl: 67120 * rendering/RenderPath.cpp: 67121 (WebCore::RenderPath::absoluteClippedOverflowRect): 67122 * rendering/RenderSVGContainer.cpp: 67123 (WebCore::RenderSVGContainer::absoluteClippedOverflowRect): 67124 * rendering/RenderSVGImage.cpp: 67125 (WebCore::RenderSVGImage::absoluteClippedOverflowRect): 67126 * rendering/RenderSVGRoot.cpp: 67127 (WebCore::RenderSVGRoot::paint): 67128 (WebCore::RenderSVGRoot::absoluteClippedOverflowRect): 67129 * rendering/RenderSVGText.cpp: 67130 (WebCore::RenderSVGText::absoluteClippedOverflowRect): 67131 * rendering/SVGRenderSupport.cpp: 67132 (WebCore::prepareToRenderSVGContent): 67133 (WebCore::finishRenderSVGContent): 67134 * svg/SVGAnimateElement.cpp: 67135 * svg/SVGAnimateElement.h: 67136 * svg/SVGAnimateElement.idl: 67137 * svg/SVGAnimateMotionElement.cpp: 67138 * svg/SVGAnimateMotionElement.h: 67139 * svg/SVGAnimateTransformElement.cpp: 67140 * svg/SVGAnimateTransformElement.h: 67141 * svg/SVGAnimateTransformElement.idl: 67142 * svg/SVGComponentTransferFunctionElement.cpp: 67143 * svg/SVGComponentTransferFunctionElement.h: 67144 * svg/SVGComponentTransferFunctionElement.idl: 67145 * svg/SVGDocumentExtensions.cpp: 67146 (WebCore::SVGDocumentExtensions::startAnimations): 67147 * svg/SVGFEBlendElement.cpp: 67148 * svg/SVGFEBlendElement.h: 67149 * svg/SVGFEBlendElement.idl: 67150 * svg/SVGFEColorMatrixElement.cpp: 67151 * svg/SVGFEColorMatrixElement.h: 67152 * svg/SVGFEColorMatrixElement.idl: 67153 * svg/SVGFEComponentTransferElement.cpp: 67154 * svg/SVGFEComponentTransferElement.h: 67155 * svg/SVGFEComponentTransferElement.idl: 67156 * svg/SVGFECompositeElement.cpp: 67157 * svg/SVGFECompositeElement.h: 67158 * svg/SVGFECompositeElement.idl: 67159 * svg/SVGFEDiffuseLightingElement.cpp: 67160 * svg/SVGFEDiffuseLightingElement.h: 67161 * svg/SVGFEDiffuseLightingElement.idl: 67162 * svg/SVGFEDisplacementMapElement.cpp: 67163 * svg/SVGFEDisplacementMapElement.h: 67164 * svg/SVGFEDisplacementMapElement.idl: 67165 * svg/SVGFEDistantLightElement.cpp: 67166 * svg/SVGFEDistantLightElement.h: 67167 * svg/SVGFEDistantLightElement.idl: 67168 * svg/SVGFEFloodElement.cpp: 67169 * svg/SVGFEFloodElement.h: 67170 * svg/SVGFEFloodElement.idl: 67171 * svg/SVGFEFuncAElement.cpp: 67172 * svg/SVGFEFuncAElement.h: 67173 * svg/SVGFEFuncAElement.idl: 67174 * svg/SVGFEFuncBElement.cpp: 67175 * svg/SVGFEFuncBElement.h: 67176 * svg/SVGFEFuncBElement.idl: 67177 * svg/SVGFEFuncGElement.cpp: 67178 * svg/SVGFEFuncGElement.h: 67179 * svg/SVGFEFuncGElement.idl: 67180 * svg/SVGFEFuncRElement.cpp: 67181 * svg/SVGFEFuncRElement.h: 67182 * svg/SVGFEFuncRElement.idl: 67183 * svg/SVGFEGaussianBlurElement.cpp: 67184 * svg/SVGFEGaussianBlurElement.h: 67185 * svg/SVGFEGaussianBlurElement.idl: 67186 * svg/SVGFEImageElement.cpp: 67187 * svg/SVGFEImageElement.h: 67188 * svg/SVGFEImageElement.idl: 67189 * svg/SVGFELightElement.cpp: 67190 * svg/SVGFELightElement.h: 67191 * svg/SVGFEMergeElement.cpp: 67192 * svg/SVGFEMergeElement.h: 67193 * svg/SVGFEMergeElement.idl: 67194 * svg/SVGFEMergeNodeElement.cpp: 67195 * svg/SVGFEMergeNodeElement.h: 67196 * svg/SVGFEMergeNodeElement.idl: 67197 * svg/SVGFEOffsetElement.cpp: 67198 * svg/SVGFEOffsetElement.h: 67199 * svg/SVGFEOffsetElement.idl: 67200 * svg/SVGFEPointLightElement.cpp: 67201 * svg/SVGFEPointLightElement.h: 67202 * svg/SVGFEPointLightElement.idl: 67203 * svg/SVGFESpecularLightingElement.cpp: 67204 * svg/SVGFESpecularLightingElement.h: 67205 * svg/SVGFESpecularLightingElement.idl: 67206 * svg/SVGFESpotLightElement.cpp: 67207 * svg/SVGFESpotLightElement.h: 67208 * svg/SVGFESpotLightElement.idl: 67209 * svg/SVGFETileElement.cpp: 67210 * svg/SVGFETileElement.h: 67211 * svg/SVGFETileElement.idl: 67212 * svg/SVGFETurbulenceElement.cpp: 67213 * svg/SVGFETurbulenceElement.h: 67214 * svg/SVGFETurbulenceElement.idl: 67215 * svg/SVGFilterElement.cpp: 67216 * svg/SVGFilterElement.h: 67217 * svg/SVGFilterElement.idl: 67218 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 67219 * svg/SVGTimer.cpp: 67220 (WebCore::SVGTimer::animationsByElement): 67221 * svg/SVGUseElement.cpp: 67222 (WebCore::SVGUseElement::buildPendingResource): 67223 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements): 67224 * svg/SVGUseElement.h: 67225 * svg/TimeScheduler.cpp: 67226 (WebCore::TimeScheduler::connectIntervalTimer): 67227 (WebCore::TimeScheduler::disconnectIntervalTimer): 67228 * svg/graphics/SVGResourceFilter.cpp: 67229 * svg/graphics/SVGResourceFilter.h: 67230 * svg/graphics/cg/SVGResourceFilterCg.cpp: 67231 * svg/graphics/cg/SVGResourceFilterCg.mm: 67232 * svg/graphics/filters/SVGDistantLightSource.h: 67233 * svg/graphics/filters/SVGFEBlend.cpp: 67234 * svg/graphics/filters/SVGFEBlend.h: 67235 * svg/graphics/filters/SVGFEColorMatrix.cpp: 67236 * svg/graphics/filters/SVGFEColorMatrix.h: 67237 * svg/graphics/filters/SVGFEComponentTransfer.cpp: 67238 * svg/graphics/filters/SVGFEComponentTransfer.h: 67239 * svg/graphics/filters/SVGFEComposite.cpp: 67240 * svg/graphics/filters/SVGFEComposite.h: 67241 * svg/graphics/filters/SVGFEConvolveMatrix.cpp: 67242 * svg/graphics/filters/SVGFEConvolveMatrix.h: 67243 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: 67244 * svg/graphics/filters/SVGFEDiffuseLighting.h: 67245 * svg/graphics/filters/SVGFEDisplacementMap.cpp: 67246 * svg/graphics/filters/SVGFEDisplacementMap.h: 67247 * svg/graphics/filters/SVGFEFlood.cpp: 67248 * svg/graphics/filters/SVGFEFlood.h: 67249 * svg/graphics/filters/SVGFEGaussianBlur.cpp: 67250 * svg/graphics/filters/SVGFEGaussianBlur.h: 67251 * svg/graphics/filters/SVGFEImage.cpp: 67252 * svg/graphics/filters/SVGFEImage.h: 67253 * svg/graphics/filters/SVGFEMerge.cpp: 67254 * svg/graphics/filters/SVGFEMerge.h: 67255 * svg/graphics/filters/SVGFEMorphology.cpp: 67256 * svg/graphics/filters/SVGFEMorphology.h: 67257 * svg/graphics/filters/SVGFEOffset.cpp: 67258 * svg/graphics/filters/SVGFEOffset.h: 67259 * svg/graphics/filters/SVGFESpecularLighting.cpp: 67260 * svg/graphics/filters/SVGFESpecularLighting.h: 67261 * svg/graphics/filters/SVGFETile.h: 67262 * svg/graphics/filters/SVGFETurbulence.cpp: 67263 * svg/graphics/filters/SVGFETurbulence.h: 67264 * svg/graphics/filters/SVGFilterEffect.cpp: 67265 * svg/graphics/filters/SVGFilterEffect.h: 67266 * svg/graphics/filters/SVGLightSource.cpp: 67267 * svg/graphics/filters/SVGLightSource.h: 67268 * svg/graphics/filters/SVGPointLightSource.h: 67269 * svg/graphics/filters/SVGSpotLightSource.h: 67270 * svg/graphics/filters/cg/SVGFEBlendCg.mm: 67271 * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm: 67272 * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm: 67273 * svg/graphics/filters/cg/SVGFECompositeCg.mm: 67274 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm: 67275 * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm: 67276 * svg/graphics/filters/cg/SVGFEFloodCg.mm: 67277 * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm: 67278 * svg/graphics/filters/cg/SVGFEHelpersCg.h: 67279 * svg/graphics/filters/cg/SVGFEHelpersCg.mm: 67280 * svg/graphics/filters/cg/SVGFEImageCg.mm: 67281 * svg/graphics/filters/cg/SVGFEMergeCg.mm: 67282 * svg/graphics/filters/cg/SVGFEOffsetCg.mm: 67283 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm: 67284 * svg/graphics/filters/cg/SVGFETileCg.mm: 67285 * svg/graphics/filters/cg/SVGFilterEffectCg.mm: 67286 * svg/graphics/filters/cg/WKArithmeticFilter.h: 67287 * svg/graphics/filters/cg/WKArithmeticFilter.m: 67288 * svg/graphics/filters/cg/WKComponentMergeFilter.h: 67289 * svg/graphics/filters/cg/WKComponentMergeFilter.m: 67290 * svg/graphics/filters/cg/WKDiffuseLightingFilter.h: 67291 * svg/graphics/filters/cg/WKDiffuseLightingFilter.m: 67292 * svg/graphics/filters/cg/WKDiscreteTransferFilter.h: 67293 * svg/graphics/filters/cg/WKDiscreteTransferFilter.m: 67294 * svg/graphics/filters/cg/WKDisplacementMapFilter.h: 67295 * svg/graphics/filters/cg/WKDisplacementMapFilter.m: 67296 * svg/graphics/filters/cg/WKDistantLightFilter.h: 67297 * svg/graphics/filters/cg/WKDistantLightFilter.m: 67298 * svg/graphics/filters/cg/WKGammaTransferFilter.h: 67299 * svg/graphics/filters/cg/WKGammaTransferFilter.m: 67300 * svg/graphics/filters/cg/WKIdentityTransferFilter.h: 67301 * svg/graphics/filters/cg/WKIdentityTransferFilter.m: 67302 * svg/graphics/filters/cg/WKLinearTransferFilter.h: 67303 * svg/graphics/filters/cg/WKLinearTransferFilter.m: 67304 * svg/graphics/filters/cg/WKNormalMapFilter.h: 67305 * svg/graphics/filters/cg/WKNormalMapFilter.m: 67306 * svg/graphics/filters/cg/WKPointLightFilter.h: 67307 * svg/graphics/filters/cg/WKPointLightFilter.m: 67308 * svg/graphics/filters/cg/WKSpecularLightingFilter.h: 67309 * svg/graphics/filters/cg/WKSpecularLightingFilter.m: 67310 * svg/graphics/filters/cg/WKSpotLightFilter.h: 67311 * svg/graphics/filters/cg/WKSpotLightFilter.m: 67312 * svg/graphics/filters/cg/WKTableTransferFilter.h: 67313 * svg/graphics/filters/cg/WKTableTransferFilter.m: 67314 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h: 67315 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm: 67316 * svg/svgtags.in: 67317 67318 2007-12-08 Dan Bernstein <mitz (a] apple.com> 67319 67320 Reviewed by Adele Peterson. 67321 67322 - fix two bugs in parsing of stylesheets in <style> elements created by 67323 the parser: 67324 1. each such stylesheet is parsed twice, once when the text node is 67325 added and again when the </style> tag is reached 67326 2. re-inserting such a <style> element into the document fails to 67327 re-parse and apply its stylesheet. 67328 67329 Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html 67330 67331 * html/HTMLStyleElement.cpp: 67332 (WebCore::HTMLStyleElement::finishedParsing): 67333 * svg/SVGStyleElement.cpp: 67334 (WebCore::SVGStyleElement::finishedParsing): 67335 67336 2007-12-07 Sam Weinig <sam (a] webkit.org> 67337 67338 Reviewed by Darin. 67339 67340 - Removes the faulty isSafeScript implementation that was only 67341 used for plugins. 67342 - Renames isSafeScript to allowsAccessFrom. 67343 67344 * bindings/js/JSDOMWindowCustom.cpp: 67345 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 67346 (WebCore::JSDOMWindow::customPut): 67347 * bindings/js/kjs_dom.cpp: 67348 (WebCore::checkNodeSecurity): 67349 * bindings/js/kjs_window.cpp: 67350 (KJS::createWindow): 67351 (KJS::Window::getValueProperty): 67352 (KJS::Window::namedItemGetter): 67353 (KJS::Window::getOwnPropertySlot): 67354 (KJS::Window::put): 67355 (KJS::Window::allowsAccessFrom): 67356 (KJS::Window::setListener): 67357 (KJS::Window::getListener): 67358 (KJS::WindowProtoFuncOpen::callAsFunction): 67359 (KJS::WindowProtoFuncSetTimeout::callAsFunction): 67360 (KJS::WindowProtoFuncClearTimeout::callAsFunction): 67361 (KJS::WindowProtoFuncSetInterval::callAsFunction): 67362 (KJS::WindowProtoFuncAddEventListener::callAsFunction): 67363 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction): 67364 (KJS::WindowProtoFuncNotImplemented::callAsFunction): 67365 (KJS::Location::getOwnPropertySlot): 67366 (KJS::Location::put): 67367 (KJS::LocationProtoFuncReplace::callAsFunction): 67368 (KJS::LocationProtoFuncReload::callAsFunction): 67369 (KJS::LocationProtoFuncAssign::callAsFunction): 67370 (KJS::LocationProtoFuncToString::callAsFunction): 67371 * bindings/js/kjs_window.h: 67372 (KJS::Window::allowsAccessFrom): 67373 * bindings/objc/WebScriptObject.mm: 67374 (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match 67375 the new call. 67376 * bindings/scripts/CodeGeneratorJS.pm: 67377 67378 2007-12-08 Rob Buis <buis (a] kde.org> 67379 67380 Reviewed by Darin. 67381 67382 http://bugs.webkit.org/show_bug.cgi?id=15464 67383 SVGLengthList allows bad values 67384 67385 Be more strict with svg lengths without a unit identifier. 67386 67387 Test: svg/custom/invalid-lengthlist.svg 67388 67389 * svg/SVGLength.cpp: 67390 (WebCore::SVGLength::setValueAsString): 67391 67392 2007-12-08 Rob Buis <buis (a] kde.org> 67393 67394 Mac Tiger build fix. 67395 67396 Use the wtf prefix when including MathExtras.h. 67397 67398 * rendering/RenderMedia.cpp: 67399 67400 2007-12-08 Alp Toker <alp (a] atoker.com> 67401 67402 GTK+ build fix (for ENABLE_VIDEO builds): 67403 67404 Include MathExtras.h to get isfinite(). 67405 67406 * rendering/RenderMedia.cpp: 67407 67408 2007-12-08 Rob Buis <buis (a] kde.org> 67409 67410 Reviewed by Darin. 67411 67412 http://bugs.webkit.org/show_bug.cgi?id=15528 67413 svg_dynamic_cast should be removed 67414 67415 Replace svg_dynamic_cast with a combination of 67416 isSVGElement and static_cast. 67417 67418 * rendering/SVGRootInlineBox.cpp: 67419 (WebCore::SVGRootInlineBox::buildLayoutInformation): 67420 (WebCore::SVGRootInlineBox::buildTextChunks): 67421 * svg/SVGAnimationElement.cpp: 67422 (WebCore::SVGAnimationElement::targetElement): 67423 * svg/SVGElement.h: 67424 * svg/SVGElementInstance.cpp: 67425 (WebCore::SVGElementInstance::updateInstance): 67426 * svg/SVGFilterElement.cpp: 67427 (WebCore::SVGFilterElement::canvasResource): 67428 * svg/SVGGradientElement.cpp: 67429 (WebCore::SVGGradientElement::buildStops): 67430 * svg/SVGLocatable.cpp: 67431 (WebCore::SVGLocatable::getTransformToElement): 67432 * svg/SVGMaskElement.cpp: 67433 (WebCore::SVGMaskElement::drawMaskerContent): 67434 * svg/SVGSwitchElement.cpp: 67435 (WebCore::SVGSwitchElement::childShouldCreateRenderer): 67436 * svg/SVGUseElement.cpp: 67437 (WebCore::SVGUseElement::insertedIntoDocument): 67438 (WebCore::SVGUseElement::buildPendingResource): 67439 (WebCore::SVGUseElement::buildInstanceTree): 67440 (WebCore::SVGUseElement::handleDeepUseReferencing): 67441 (WebCore::SVGUseElement::buildShadowTree): 67442 (WebCore::SVGUseElement::expandUseElementsInShadowTree): 67443 (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements): 67444 * svg/graphics/SVGResource.cpp: 67445 (WebCore::getResourceById): 67446 67447 2007-12-07 Antti Koivisto <antti (a] apple.com> 67448 67449 Reviewed by Adele. 67450 67451 Partial fix for <rdar://problem/5633400> 67452 Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced 67453 67454 Fix video painting when transform is applied. 67455 67456 Test: media/video-transformed.html 67457 67458 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 67459 (WebCore::MediaPlayerPrivate::paint): 67460 67461 2007-12-07 Dan Bernstein <mitz (a] apple.com> 67462 67463 Reviewed by Sam Weinig. 67464 67465 - fix http://bugs.webkit.org/show_bug.cgi?id=16348 67466 @font-face does not affect the default style 67467 67468 Test: fast/css/font-face-default-font.html 67469 67470 * dom/Document.cpp: 67471 (WebCore::Document::recalcStyle): Pass our font selector to 67472 Font::update() if we already have one. 67473 67474 2007-12-07 Darin Adler <darin (a] apple.com> 67475 67476 - fix Windows build 67477 67478 * bridge/win/GlobalHistoryWin.cpp: 67479 (WebCore::historyContains): Missed a rename. 67480 67481 2007-12-07 Brady Eidson <beidson (a] apple.com> 67482 67483 Reviewed by Anders and Darin 67484 67485 When a statement bumps up against the quota and the UI Delegate grants more space, we need to 67486 actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota 67487 in the DatabaseTracker, which was already done) 67488 67489 * storage/SQLTransaction.cpp: 67490 (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on 67491 the SQLiteDatabase to the new maximum size 67492 67493 2007-12-07 Darin Adler <darin (a] apple.com> 67494 67495 - fix Tiger build 67496 67497 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have 67498 QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that. 67499 67500 2007-12-07 Darin Adler <darin (a] apple.com> 67501 67502 - fix 64-bit build, hopefully without breaking Tiger build 67503 67504 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 67505 (WebCore::MediaPlayerPrivate::updateStates): 67506 Don't use Movies.h constants that are nonexistent in 64-bit. 67507 Define the new QTMovie.h constants, though, when using an older QTKit. 67508 67509 2007-12-07 Brady Eidson <beidson (a] apple.com> 67510 67511 Reviewed by Anders 67512 67513 Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed 67514 67515 * storage/DatabaseTracker.cpp: 67516 (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting 67517 (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists 67518 * storage/DatabaseTracker.h: 67519 67520 2007-12-07 Darin Adler <darin (a] apple.com> 67521 67522 Reviewed by Mitz. 67523 67524 - http://bugs.webkit.org/show_bug.cgi?id=15981 67525 speed up visited-link code a bit 67526 67527 * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length 67528 instead of requiring a DeprecatedString. 67529 67530 * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change. 67531 Also removes pointless "fast Latin-1" case that was never used. 67532 * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto. 67533 * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto. 67534 * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto. 67535 67536 * css/CSSStyleSelector.cpp: 67537 (WebCore::findHash): Added. Helper for cleanpath. 67538 (WebCore::findSlashDotDotSlash): Ditto. 67539 (WebCore::findSlashSlash): Ditto. 67540 (WebCore::findSlashDotSlash): Ditto. 67541 (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose 67542 DeprecatedString find function. 67543 (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState. 67544 (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString* 67545 instead of an AtomicString for the attribute value. Changed to use fast helper function 67546 instead of slower DeprecatedString::contains function, and also made the fast case not 67547 bother allocating a DeprecatedConstString. 67548 67549 - unrelated tiny cleanup 67550 67551 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 67552 (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast. 67553 (WebCore::cgGradientCallback): Ditto. 67554 67555 2007-12-07 Darin Adler <darin (a] apple.com> 67556 67557 Fix build on Tiger (Mark Rowe told me how). 67558 67559 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 67560 Include <objc/objc-runtime.h>, which existed back on Tiger, 67561 rather than <objc/runtime.h>, which did not. 67562 67563 2007-12-07 Geoffrey Garen <ggaren (a] apple.com> 67564 67565 Build fix: rolling out last build fix to change #include path. 67566 67567 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 67568 67569 2007-12-07 Steve Falkenburg <sfalken (a] apple.com> 67570 67571 Re-named our B&I flag from BUILDBOT to PRODUCTION. 67572 67573 Reviewed by Sam Weinig. 67574 67575 * WebCore.vcproj/WebCore.make: 67576 67577 2007-12-07 Geoffrey Garen <ggaren (a] apple.com> 67578 67579 Build fix: corrected #include path. 67580 67581 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 67582 67583 2007-12-07 Geoffrey Garen <ggaren (a] apple.com> 67584 67585 Reviewed by Sam Weinig. 67586 67587 Added some namespace qualifications and a forwarding header, now that 67588 KJS::Node is sometimes #included in WebCore by JavaScriptCore headers. 67589 67590 * ForwardingHeaders/wtf/ListRefPtr.h: Added. 67591 * bindings/js/JSXSLTProcessor.cpp: 67592 (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction): 67593 * bindings/js/kjs_binding.cpp: 67594 (KJS::ScriptInterpreter::getDOMNodeForDocument): 67595 (KJS::ScriptInterpreter::forgetDOMNodeForDocument): 67596 (KJS::ScriptInterpreter::putDOMNodeForDocument): 67597 (KJS::ScriptInterpreter::markDOMNodesForDocument): 67598 (KJS::ScriptInterpreter::updateDOMNodeDocument): 67599 67600 2007-12-07 Adam Roben <aroben (a] apple.com> 67601 67602 Add SoftLinking.h for Windows and use it in a few places 67603 67604 Reviewed by Oliver. 67605 67606 * WebCore.vcproj/WebCore.vcproj: Added new file to project. 67607 * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h. 67608 (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual 67609 soft-linking calls. 67610 (WebCore::PlatformScrollbar::paintButton): Check for the presence of 67611 the SafariTheme library now that we can't check for the presence of 67612 paintThemePart directly. 67613 (WebCore::PlatformScrollbar::paintTrack): Ditto. 67614 (WebCore::PlatformScrollbar::paintThumb): Ditto. 67615 * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h. 67616 * rendering/RenderThemeSafari.cpp: Same basic changes as to 67617 PlatformScrollBarSafari.cpp. 67618 (WebCore::RenderThemeSafari::RenderThemeSafari): 67619 (WebCore::RenderThemeSafari::isControlStyled): 67620 (WebCore::RenderThemeSafari::paintCapsLockIndicator): 67621 * rendering/RenderThemeSafari.h: Removed m_themeDLL member. 67622 67623 2007-12-07 Darin Adler <darin (a] apple.com> 67624 67625 Reviewed by Adele. 67626 67627 - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari 67628 at WebCore::HTMLSelectElement::saveState const + 152 67629 67630 Test: fast/forms/select-set-inner.html 67631 67632 * dom/ContainerNode.cpp: 67633 (WebCore::ContainerNode::removeChildren): Added a return value, as with other 67634 calls that change children, so we can optimize for the case where it does nothing. 67635 (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode. 67636 * dom/ContainerNode.h: See above. 67637 67638 * html/HTMLOptGroupElement.cpp: 67639 (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call 67640 recalcSelectOptions in that case. 67641 (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of 67642 addChild, for consistency with HTMLSelectElement; no need to override both. 67643 (WebCore::HTMLOptGroupElement::groupLabelText): Made const. 67644 * html/HTMLOptGroupElement.h: See above. 67645 67646 * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already 67647 override childrenChanged, and addChild calls that. 67648 (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call 67649 recalcSelectOptions in that case. 67650 (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit 67651 by using a for loop and traverseNextSibling. Also added some new comments and 67652 removed some obsolete ones. 67653 (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make 67654 sure we don't have a stale list items vector. 67655 * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems(). 67656 This will help us catch cases where we have too few calls to setRecalcListItems. 67657 67658 2007-12-07 Dan Bernstein <mitz (a] apple.com> 67659 67660 Reviewed by Darin Adler. 67661 67662 - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges 67663 67664 Test: fast/repaint/focus-ring.html 67665 67666 * editing/SelectionController.cpp: 67667 (WebCore::SelectionController::caretRepaintRect): Changed to return just 67668 the caret rect without any padding. 67669 (WebCore::SelectionController::recomputeCaretRect): Changed to repaint 67670 just the caret rect without any padding. 67671 * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and 67672 clearFocusRingClip(). 67673 * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto. 67674 * platform/graphics/cg/GraphicsContextCG.cpp: Ditto. 67675 * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed 67676 m_focusRingClip member. 67677 * platform/graphics/mac/GraphicsContextMac.mm: 67678 (WebCore::GraphicsContext::drawFocusRing): Changed to call 67679 wkDrawFocusRing() once without setting up additional clip. On Leopard, 67680 wkDrawFocusRing() respects the context clip now. On Tiger, a 67681 transparency layer is used to apply clipping to the focus ring. 67682 * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip 67683 methods and member. 67684 * platform/graphics/wx/GraphicsContextWx.cpp: Ditto. 67685 * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument 67686 to wkDrawFocusRing(). 67687 * platform/mac/WebCoreSystemInterface.mm: Ditto. 67688 * rendering/RenderLayer.cpp: 67689 (WebCore::setClip): Removed call to set the focus ring clip. 67690 (WebCore::restoreClip): Removed call to reset the focus ring clip. 67691 67692 2007-12-07 Darin Adler <darin (a] apple.com> 67693 67694 Reviewed by Antti Koivisto and Kevin Decker. 67695 67696 - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup 67697 67698 Also did a lot of small tweaks to MediaPlayerPrivateQTKit. 67699 67700 * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit. 67701 67702 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations. 67703 Made a lot more functions const. Made a few more members private and a couple inline. 67704 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the 67705 things we currently use in QTKit. It's a little more awkward for classes and other data objects 67706 than it is for functions, but still relatively straightforward, with no changes needed to the 67707 client code. Added using namespace directives. Made a cuePointTimerInterval constant and put 67708 it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f. 67709 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr 67710 members to nil. 67711 (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease. 67712 (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor]. 67713 (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect. 67714 Changed to use long instead of int because that's the type for a QTTime time scale anyway. 67715 (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast. 67716 (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression. 67717 (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue 67718 points set to avoid a potential problem with a set being modified as we iterate it. 67719 (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie. 67720 (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric 67721 values, used the constants from the headers directly. 67722 (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0, 67723 pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type 67724 of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably 67725 no better). Used RetainPtr instead of explicit CFRelease calls. 67726 67727 * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers. 67728 It's not quite as automatic as the soft linking we can do for functions, since these define 67729 functions to get the values, so you need to define macros to make what look like variable 67730 accesses turn into function calls. See MediaPlayerPrivateQTKit for the details. 67731 67732 * html/HTMLMediaElement.h: 67733 * html/TimeRanges.h: 67734 * html/VoidCallback.h: 67735 * platform/graphics/MediaPlayer.h: 67736 Use angle brackets for wtf includes. Omit unneeded includes. 67737 67738 2007-12-07 Dan Bernstein <mitz (a] apple.com> 67739 67740 Reviewed by Darin Adler. 67741 67742 - fix http://bugs.webkit.org/show_bug.cgi?id=16334 67743 <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely 67744 67745 Test: fast/dynamic/subtree-no-common-root-static-y.html 67746 67747 * rendering/RenderObject.cpp: 67748 (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call 67749 to setChildNeedsLayout() to not mark containing blocks and added a 67750 separate call to markContainingBlocksForLayout() that will not schedule 67751 a layout if we are already in the middle of scheduleRelayoutOfSubtree(). 67752 67753 2007-12-07 Alexey Proskuryakov <ap (a] webkit.org> 67754 67755 Reviewed by Darin. 67756 67757 http://bugs.webkit.org/show_bug.cgi?id=16325 67758 <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work 67759 67760 Test: http/tests/misc/empty-cookie.html 67761 67762 * platform/mac/CookieJar.mm: 67763 (WebCore::setCookies): Don't store empty cookies. 67764 (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set 67765 with an earlier version of Leopard! 67766 67767 2007-12-06 Ada Chan <adachan (a] apple.com> 67768 67769 Fixed the if statement (ERROR_SUCCESS is 0 and we were actually 67770 returning true when there's an error). 67771 67772 Reviewed by Steve. 67773 67774 * platform/win/FileSystemWin.cpp: 67775 (WebCore::makeAllDirectories): 67776 67777 2007-12-06 Darin Adler <darin (a] apple.com> 67778 67779 - fix broken regression test 67780 67781 * bindings/js/kjs_binding.cpp: 67782 (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED. 67783 67784 2007-12-06 Darin Adler <darin (a] apple.com> 67785 67786 Reviewed by Sam Weinig. 67787 67788 - fix http://bugs.webkit.org/show_bug.cgi?id=16332 67789 ObjC DOM exception object descriptions should include the exception name 67790 67791 * WebCore.pro: Added ExceptionCode.cpp. 67792 * WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp. 67793 * WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp. 67794 * WebCoreSources.bkl: Added ExceptionCode.cpp. 67795 67796 * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an 67797 ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed 67798 the many unneeded includes that were here. Had to keep one special case here, for 67799 SECURITY_ERR. 67800 67801 * bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the 67802 new getExceptionCodeDescription function so that this shares the exception name 67803 information that was previously only available to JavaScript. 67804 67805 * dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp. 67806 (WebCore::getExceptionCodeDescription): Added some assertions, and made the function 67807 handle exception names in a slightly more robust way that is not subject to integer 67808 overflow. (Not a real world issue since we should never receive a bad exception code.) 67809 67810 * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the 67811 getExceptionCodeDescription function. 67812 67813 * svg/SVGException.h: Added a missing #include and got rid of some comments. Some of 67814 the comments were mildly helpful, but others were incorrect. This now matches the other 67815 exception-related headers such as RangeException.h. 67816 67817 2007-12-06 Brady Eidson <beidson (a] apple.com> 67818 67819 Reviewed by Darin 67820 67821 Fixed a glaring bug that would prevent a statement from getting run a second time 67822 67823 * storage/SQLStatement.cpp: 67824 (WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error 67825 and return early 67826 (WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error 67827 67828 2007-12-06 Timothy Hatcher <timothy (a] apple.com> 67829 67830 Reviewed by Oliver Hunt. 67831 67832 Use keydown instead of keypress so keyIdentifier can be used. 67833 67834 * page/inspector/ConsolePanel.js: Use keydown instead of keypress. 67835 * page/inspector/DatabasePanel.js: Ditto. 67836 * page/inspector/inspector.js: Ditto. Plus call removeEventListener 67837 before deleting windowLoaded. 67838 67839 2007-12-06 Adam Roben <aroben (a] apple.com> 67840 67841 Rename FontsTable.plist to FontsList.plist 67842 67843 Rubberstamped by Hyatt. 67844 67845 * platform/graphics/win/FontDatabase.cpp: 67846 67847 2007-12-06 Brady Eidson <beidson (a] apple.com> 67848 67849 Reviewed by Darin 67850 67851 Tweaked a comment and a few assertions from my last checkin 67852 67853 * storage/SQLStatement.cpp: 67854 (WebCore::SQLStatement::execute): 67855 (WebCore::SQLStatement::clearFailureDueToQuota): 67856 (WebCore::SQLStatement::lastExecutionFailedDueToQuota): 67857 67858 2007-12-06 Brady Eidson <beidson (a] apple.com> 67859 67860 Reviewed by Darin 67861 67862 Finished hooking up UI Delegate for databases - Database operations will now enforce a size quota and 67863 will ask the UI Delegate for more space when that quota is met 67864 67865 * platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant 67866 * platform/sql/SQLiteDatabase.h: Ditto 67867 67868 * storage/Database.cpp: 67869 (WebCore::Database::securityOriginData): Added this accessor, copying for thread safety 67870 (WebCore::Database::stringIdentifier): Ditto 67871 * storage/Database.h: 67872 67873 * storage/SQLStatement.cpp: 67874 (WebCore::SQLStatement::SQLStatement): 67875 (WebCore::SQLStatement::execute): Change to return an enum that represents 3 states - success, error, and quota. 67876 If the result is quota, this statement expects that it might be run again, presumably after the user increases 67877 the quota 67878 (WebCore::SQLStatement::setFailureDueToQuota): Setup a quota failure, including a flag and the error 67879 (WebCore::SQLStatement::clearFailureDueToQuota): Clear a quota failure, for when the statement is rerun 67880 (WebCore::SQLStatement::lastExecutionFailedDueToQuota): 67881 * storage/SQLStatement.h: 67882 67883 * storage/SQLTransaction.cpp: 67884 (WebCore::SQLTransaction::SQLTransaction): 67885 (WebCore::SQLTransaction::performPendingCallback): Added an acceptable callback pointer 67886 (WebCore::SQLTransaction::openTransactionAndPreflight): Setup the quota in the database that will remain for this 67887 transaction. Note that in this patch, the quota being set is wrong - it makes sense to fix that in a follow up patch 67888 (WebCore::SQLTransaction::runStatements): Modified to add the ability to re-run a statement based on the UI delegate 67889 decision and whether the current statement was already run 67890 (WebCore::SQLTransaction::runCurrentStatement): Added another result condition - the Quota result - and handle it 67891 (WebCore::SQLTransaction::handleCurrentStatementError): Statements can now error-out from two places, so the code 67892 that handles a statement error was moved here 67893 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Added - Consult the UI delegate for more quota, then 67894 reschedule the current statement on the database thread 67895 * storage/SQLTransaction.h: 67896 67897 2007-12-06 Steve Falkenburg <sfalken (a] apple.com> 67898 67899 <rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception 67900 67901 Don't use callback-based timers, since these cause Windows to eat Windows crashes 67902 in code the timers call. 67903 67904 Windows appears to be defending against "shatter" attacks partially by setting 67905 up a structured exception block while dispatching callback-based WM_TIMERs. 67906 67907 I verified this by adding a divide by zero into some timer callback code. 67908 In the case where the timer was dispatched via a callback, the divide by zero 67909 exception was silently handled and ignored, with execution continuing after 67910 our call to DispatchMessage. When processed via the WNDPROC, no SEH 67911 block was established by Windows, and our divide by zero generated a real 67912 crash (which is what we wanted). 67913 67914 Windows handling our crashes for us led us to leave the timer data structures 67915 in an invalid state so the next time a timer was set, we'd crash accessing an 67916 invalid HashMap of timer data. 67917 67918 Reviewed by Hyatt. 67919 67920 * platform/win/SharedTimerWin.cpp: 67921 (WebCore::TimerWindowWndProc): 67922 (WebCore::setSharedTimerFireTime): 67923 67924 2007-12-06 Adam Roben <aroben (a] apple.com> 67925 67926 Fix <rdar://5108390> Feed title is too low in blue banner 67927 67928 Way back in r23069 we started applying the same font ascent hack that 67929 Mac WebKit applies to Helvetica, Times, and Courier. We did this so 67930 that those fonts would match the Mac metrics when we run the 67931 regression tests. However, this hack was applying to Arial on Windows 67932 when a site would specify the Helvetica font face because Windows will 67933 alias the font names. Instead of removing the hack entirely, we 67934 turn it off by default but provide some SPI so that DumpRenderTree can 67935 turn it on. 67936 67937 Reviewed by Hyatt. 67938 67939 All tests pass. 67940 67941 * platform/graphics/FontData.h: Add a new static method to turn on the 67942 hack on Windows only. 67943 * platform/graphics/win/FontDataWin.cpp: 67944 (WebCore::FontData::setShouldApplyMacAscentHack): Added. 67945 (WebCore::FontData::platformInit): Only perform the hack if 67946 shouldApplyMacAscentHack is true. 67947 67948 2007-12-06 Geoffrey Garen <ggaren (a] apple.com> 67949 67950 Reviewed by Sam Weinig. 67951 67952 Fixed http://bugs.webkit.org/show_bug.cgi?id=16328 67953 REGRESSION (r28470): Crash expanding a GMail conversation 67954 67955 * page/Frame.cpp: 67956 (WebCore::Frame::scriptProxy): Only return 0 if JS seems disabled *and* 67957 we haven't created the proxy yet. If we've created the proxy already, a 67958 script may be in the midst of execution, even though we've lost our 67959 settings object. During execution, scripts assume they have free access 67960 to the proxy. 67961 67962 2007-12-06 Adele Peterson <adele (a] apple.com> 67963 67964 Reviewed by Oliver. 67965 67966 Fix for <rdar://problem/5631356> Toggling display property on video causes controls to get lost 67967 67968 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attach): Call updateFromElement. 67969 * html/HTMLMediaElement.h: 67970 67971 2007-12-05 Antti Koivisto <antti (a] apple.com> 67972 67973 Reviewed by Oliver. 67974 67975 Rename 67976 67977 Movie -> MediaPlayer 67978 MoviePrivate -> MediaPlayerPrivate 67979 67980 Movie is QuickTime terminology and clashes with its C API. 67981 67982 * WebCore.xcodeproj/project.pbxproj: 67983 * html/HTMLMediaElement.cpp: 67984 (WebCore::HTMLMediaElement::HTMLMediaElement): 67985 (WebCore::HTMLMediaElement::~HTMLMediaElement): 67986 (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): 67987 (WebCore::HTMLMediaElement::bufferingRate): 67988 (WebCore::HTMLMediaElement::load): 67989 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): 67990 (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): 67991 (WebCore::HTMLMediaElement::setReadyState): 67992 (WebCore::HTMLMediaElement::progressEventTimerFired): 67993 (WebCore::HTMLMediaElement::seek): 67994 (WebCore::HTMLMediaElement::currentTime): 67995 (WebCore::HTMLMediaElement::duration): 67996 (WebCore::HTMLMediaElement::playbackRate): 67997 (WebCore::HTMLMediaElement::setPlaybackRate): 67998 (WebCore::HTMLMediaElement::play): 67999 (WebCore::HTMLMediaElement::pause): 68000 (WebCore::HTMLMediaElement::setVolume): 68001 (WebCore::HTMLMediaElement::setMuted): 68002 (WebCore::HTMLMediaElement::pickMedia): 68003 (WebCore::HTMLMediaElement::checkIfSeekNeeded): 68004 (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): 68005 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): 68006 (WebCore::HTMLMediaElement::mediaPlayerCuePointReached): 68007 (WebCore::HTMLMediaElement::addCuePoint): 68008 (WebCore::HTMLMediaElement::buffered): 68009 (WebCore::HTMLMediaElement::seekable): 68010 (WebCore::HTMLMediaElement::effectiveStart): 68011 (WebCore::HTMLMediaElement::effectiveEnd): 68012 (WebCore::HTMLMediaElement::effectiveLoopStart): 68013 (WebCore::HTMLMediaElement::effectiveLoopEnd): 68014 (WebCore::HTMLMediaElement::updateMediaPlayer): 68015 (WebCore::HTMLMediaElement::willSaveToCache): 68016 * html/HTMLMediaElement.h: 68017 (WebCore::HTMLMediaElement::player): 68018 * html/HTMLVideoElement.cpp: 68019 (WebCore::HTMLVideoElement::videoWidth): 68020 (WebCore::HTMLVideoElement::videoHeight): 68021 * platform/MIMETypeRegistry.cpp: 68022 (WebCore::initialiseSupportedMediaMIMETypes): 68023 (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType): 68024 (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes): 68025 * platform/MIMETypeRegistry.h: 68026 * platform/graphics/MediaPlayer.cpp: Copied from WebCore/platform/graphics/Movie.cpp. 68027 (WebCore::MediaPlayer::MediaPlayer): 68028 (WebCore::MediaPlayer::~MediaPlayer): 68029 (WebCore::MediaPlayer::load): 68030 (WebCore::MediaPlayer::cancelLoad): 68031 (WebCore::MediaPlayer::play): 68032 (WebCore::MediaPlayer::pause): 68033 (WebCore::MediaPlayer::duration): 68034 (WebCore::MediaPlayer::currentTime): 68035 (WebCore::MediaPlayer::seek): 68036 (WebCore::MediaPlayer::paused): 68037 (WebCore::MediaPlayer::seeking): 68038 (WebCore::MediaPlayer::naturalSize): 68039 (WebCore::MediaPlayer::hasVideo): 68040 (WebCore::MediaPlayer::networkState): 68041 (WebCore::MediaPlayer::readyState): 68042 (WebCore::MediaPlayer::volume): 68043 (WebCore::MediaPlayer::setVolume): 68044 (WebCore::MediaPlayer::rate): 68045 (WebCore::MediaPlayer::setRate): 68046 (WebCore::MediaPlayer::muted): 68047 (WebCore::MediaPlayer::setMuted): 68048 (WebCore::MediaPlayer::dataRate): 68049 (WebCore::MediaPlayer::setEndTime): 68050 (WebCore::MediaPlayer::addCuePoint): 68051 (WebCore::MediaPlayer::removeCuePoint): 68052 (WebCore::MediaPlayer::clearCuePoints): 68053 (WebCore::MediaPlayer::maxTimeBuffered): 68054 (WebCore::MediaPlayer::maxTimeSeekable): 68055 (WebCore::MediaPlayer::bytesLoaded): 68056 (WebCore::MediaPlayer::totalBytesKnown): 68057 (WebCore::MediaPlayer::totalBytes): 68058 (WebCore::MediaPlayer::setRect): 68059 (WebCore::MediaPlayer::visible): 68060 (WebCore::MediaPlayer::setVisible): 68061 (WebCore::MediaPlayer::paint): 68062 (WebCore::MediaPlayer::getSupportedTypes): 68063 (WebCore::MediaPlayer::networkStateChanged): 68064 (WebCore::MediaPlayer::readyStateChanged): 68065 (WebCore::MediaPlayer::volumeChanged): 68066 (WebCore::MediaPlayer::timeChanged): 68067 (WebCore::MediaPlayer::cuePointReached): 68068 * platform/graphics/MediaPlayer.h: Copied from WebCore/platform/graphics/Movie.h. 68069 (WebCore::MediaPlayerClient::~MediaPlayerClient): 68070 (WebCore::MediaPlayerClient::mediaPlayerNetworkStateChanged): 68071 (WebCore::MediaPlayerClient::mediaPlayerReadyStateChanged): 68072 (WebCore::MediaPlayerClient::mediaPlayerVolumeChanged): 68073 (WebCore::MediaPlayerClient::mediaPlayerTimeChanged): 68074 (WebCore::MediaPlayerClient::mediaPlayerCuePointReached): 68075 * platform/graphics/Movie.cpp: Removed. 68076 * platform/graphics/Movie.h: Removed. 68077 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.cpp. 68078 (WebCore::mediaPlayerPrivateErrorCallback): 68079 (WebCore::mediaPlayerPrivateEOSCallback): 68080 (WebCore::mediaPlayerPrivateStateCallback): 68081 (WebCore::mediaPlayerPrivateBufferingCallback): 68082 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 68083 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 68084 (WebCore::MediaPlayerPrivate::load): 68085 (WebCore::MediaPlayerPrivate::play): 68086 (WebCore::MediaPlayerPrivate::pause): 68087 (WebCore::MediaPlayerPrivate::duration): 68088 (WebCore::MediaPlayerPrivate::currentTime): 68089 (WebCore::MediaPlayerPrivate::seek): 68090 (WebCore::MediaPlayerPrivate::setEndTime): 68091 (WebCore::MediaPlayerPrivate::addCuePoint): 68092 (WebCore::MediaPlayerPrivate::removeCuePoint): 68093 (WebCore::MediaPlayerPrivate::clearCuePoints): 68094 (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded): 68095 (WebCore::MediaPlayerPrivate::cancelSeek): 68096 (WebCore::MediaPlayerPrivate::cuePointTimerFired): 68097 (WebCore::MediaPlayerPrivate::paused): 68098 (WebCore::MediaPlayerPrivate::seeking): 68099 (WebCore::MediaPlayerPrivate::naturalSize): 68100 (WebCore::MediaPlayerPrivate::hasVideo): 68101 (WebCore::MediaPlayerPrivate::setVolume): 68102 (WebCore::MediaPlayerPrivate::setMuted): 68103 (WebCore::MediaPlayerPrivate::setRate): 68104 (WebCore::MediaPlayerPrivate::dataRate): 68105 (WebCore::MediaPlayerPrivate::networkState): 68106 (WebCore::MediaPlayerPrivate::readyState): 68107 (WebCore::MediaPlayerPrivate::maxTimeBuffered): 68108 (WebCore::MediaPlayerPrivate::maxTimeSeekable): 68109 (WebCore::MediaPlayerPrivate::maxTimeLoaded): 68110 (WebCore::MediaPlayerPrivate::bytesLoaded): 68111 (WebCore::MediaPlayerPrivate::totalBytesKnown): 68112 (WebCore::MediaPlayerPrivate::totalBytes): 68113 (WebCore::MediaPlayerPrivate::cancelLoad): 68114 (WebCore::MediaPlayerPrivate::updateStates): 68115 (WebCore::MediaPlayerPrivate::loadStateChanged): 68116 (WebCore::MediaPlayerPrivate::rateChanged): 68117 (WebCore::MediaPlayerPrivate::sizeChanged): 68118 (WebCore::MediaPlayerPrivate::timeChanged): 68119 (WebCore::MediaPlayerPrivate::volumeChanged): 68120 (WebCore::MediaPlayerPrivate::didEnd): 68121 (WebCore::MediaPlayerPrivate::loadingFailed): 68122 (WebCore::MediaPlayerPrivate::setRect): 68123 (WebCore::MediaPlayerPrivate::setVisible): 68124 (WebCore::MediaPlayerPrivate::paint): 68125 (WebCore::MediaPlayerPrivate::getSupportedTypes): 68126 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 68127 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.h. 68128 * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Removed. 68129 * platform/graphics/gtk/MoviePrivateGStreamer.h: Removed. 68130 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.h. 68131 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.mm. 68132 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 68133 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 68134 (WebCore::MediaPlayerPrivate::createQTMovie): 68135 (WebCore::MediaPlayerPrivate::createQTMovieView): 68136 (WebCore::MediaPlayerPrivate::createQTTime): 68137 (WebCore::MediaPlayerPrivate::load): 68138 (WebCore::MediaPlayerPrivate::play): 68139 (WebCore::MediaPlayerPrivate::pause): 68140 (WebCore::MediaPlayerPrivate::duration): 68141 (WebCore::MediaPlayerPrivate::currentTime): 68142 (WebCore::MediaPlayerPrivate::seek): 68143 (WebCore::MediaPlayerPrivate::doSeek): 68144 (WebCore::MediaPlayerPrivate::cancelSeek): 68145 (WebCore::MediaPlayerPrivate::seekTimerFired): 68146 (WebCore::MediaPlayerPrivate::setEndTime): 68147 (WebCore::MediaPlayerPrivate::addCuePoint): 68148 (WebCore::MediaPlayerPrivate::removeCuePoint): 68149 (WebCore::MediaPlayerPrivate::clearCuePoints): 68150 (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded): 68151 (WebCore::MediaPlayerPrivate::cuePointTimerFired): 68152 (WebCore::MediaPlayerPrivate::paused): 68153 (WebCore::MediaPlayerPrivate::seeking): 68154 (WebCore::MediaPlayerPrivate::naturalSize): 68155 (WebCore::MediaPlayerPrivate::hasVideo): 68156 (WebCore::MediaPlayerPrivate::setVolume): 68157 (WebCore::MediaPlayerPrivate::setMuted): 68158 (WebCore::MediaPlayerPrivate::setRate): 68159 (WebCore::MediaPlayerPrivate::dataRate): 68160 (WebCore::MediaPlayerPrivate::networkState): 68161 (WebCore::MediaPlayerPrivate::readyState): 68162 (WebCore::MediaPlayerPrivate::maxTimeBuffered): 68163 (WebCore::MediaPlayerPrivate::maxTimeSeekable): 68164 (WebCore::MediaPlayerPrivate::maxTimeLoaded): 68165 (WebCore::MediaPlayerPrivate::bytesLoaded): 68166 (WebCore::MediaPlayerPrivate::totalBytesKnown): 68167 (WebCore::MediaPlayerPrivate::totalBytes): 68168 (WebCore::MediaPlayerPrivate::cancelLoad): 68169 (WebCore::MediaPlayerPrivate::updateStates): 68170 (WebCore::MediaPlayerPrivate::loadStateChanged): 68171 (WebCore::MediaPlayerPrivate::rateChanged): 68172 (WebCore::MediaPlayerPrivate::sizeChanged): 68173 (WebCore::MediaPlayerPrivate::timeChanged): 68174 (WebCore::MediaPlayerPrivate::volumeChanged): 68175 (WebCore::MediaPlayerPrivate::didEnd): 68176 (WebCore::MediaPlayerPrivate::setRect): 68177 (WebCore::MediaPlayerPrivate::setVisible): 68178 (WebCore::MediaPlayerPrivate::paint): 68179 (WebCore::MediaPlayerPrivate::getSupportedTypes): 68180 (-[WebCoreMovieObserver initWithCallback:WebCore::]): 68181 * platform/graphics/mac/MoviePrivateQTKit.h: Removed. 68182 * platform/graphics/mac/MoviePrivateQTKit.mm: Removed. 68183 * rendering/RenderMedia.cpp: 68184 (WebCore::RenderMedia::player): 68185 * rendering/RenderMedia.h: 68186 * rendering/RenderVideo.cpp: 68187 (WebCore::RenderVideo::RenderVideo): 68188 (WebCore::RenderVideo::~RenderVideo): 68189 (WebCore::RenderVideo::videoSizeChanged): 68190 (WebCore::RenderVideo::paintReplaced): 68191 (WebCore::RenderVideo::layout): 68192 (WebCore::RenderVideo::updateFromElement): 68193 (WebCore::RenderVideo::updatePlayer): 68194 * rendering/RenderVideo.h: 68195 68196 2007-12-06 Geoffrey Garen <ggaren (a] apple.com> 68197 68198 Build fix: access global object directly. 68199 68200 * plugins/win/PluginViewWin.cpp: 68201 (WebCore::PluginViewWin::bindingInstance): 68202 68203 2007-12-06 Mark Rowe <mrowe (a] apple.com> 68204 68205 Reviewed by Eric. 68206 68207 Fix bug spotted by GCC 4.2. 68208 68209 * bindings/js/kjs_window.cpp: 68210 (KJS::allowPopUp): Remove extraneous semicolon that completely changed the meaning of allowPopUp. 68211 68212 2007-12-06 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 68213 68214 Reviewed by Alp Toker. 68215 68216 http://bugs.webkit.org/show_bug.cgi?id=16173 68217 Licensing change 68218 68219 Change license from BSD to LGPL. 68220 68221 * platform/gtk/FileSystemGtk.cpp: 68222 68223 2007-12-05 Rob Buis <buis (a] kde.org> 68224 68225 Reviewed by Mitz. 68226 68227 http://bugs.webkit.org/show_bug.cgi?id=15289 68228 WebKit does not respect clip paths of a 0x0 rect 68229 68230 Make empty clip paths clip the whole referencing graphic. 68231 68232 * svg/SVGClipPathElement.cpp: 68233 (WebCore::SVGClipPathElement::canvasResource): 68234 * svg/graphics/SVGResourceClipper.h: 68235 (WebCore::ClipDataList::isEmpty): 68236 68237 2007-12-05 Darin Adler <darin (a] apple.com> 68238 68239 Reviewed by Maciej. 68240 68241 - fix http://bugs.webkit.org/show_bug.cgi?id=16266 68242 <rdar://problem/5625279> REGRESSION: crash loading CNN.com at 68243 Interpreter::createObjectsForGlobalObjectProperties() 68244 68245 I don't know how to reproduce this in a test. 68246 68247 * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark): 68248 Call JSEventTargetNode::mark instead of DOMObject::mark. There's no difference 68249 right now, but it's best to call your base class, not your base's base. 68250 68251 * bindings/js/kjs_events.h: Removed unneeded virtual from the 68252 JSUnprotectedEventListener::mark() function; it neither derives from or is 68253 derived from anyone else with a mark() function so there's no need for virtual. 68254 68255 * bindings/js/kjs_window.cpp: (KJS::Window::mark): Call JSGlobalObject::mark, 68256 not JSObject::mark. This is the actual bug fix. 68257 68258 2007-12-05 Pierre-Luc Beaudoin <pierre-luc.beaudoin (a] collabora.co.uk> 68259 68260 http://bugs.webkit.org/show_bug.cgi?id=16145 68261 [gtk] Implement media support in GTK backend 68262 68263 Reviewed by Alp Toker. 68264 68265 Remove old comments, fix variable names, match WebKit coding style. 68266 68267 * platform/graphics/gtk/MoviePrivateGStreamer.cpp: 68268 (WebCore::moviePrivateEOSCallback): 68269 (WebCore::MoviePrivate::MoviePrivate): 68270 (WebCore::MoviePrivate::load): 68271 (WebCore::MoviePrivate::play): 68272 (WebCore::MoviePrivate::pause): 68273 (WebCore::MoviePrivate::currentTime): 68274 (WebCore::MoviePrivate::seek): 68275 (WebCore::MoviePrivate::cancelSeek): 68276 (WebCore::MoviePrivate::seeking): 68277 (WebCore::MoviePrivate::naturalSize): 68278 (WebCore::MoviePrivate::setVolume): 68279 (WebCore::MoviePrivate::setMuted): 68280 (WebCore::MoviePrivate::maxTimeBuffered): 68281 (WebCore::MoviePrivate::bytesLoaded): 68282 (WebCore::MoviePrivate::totalBytesKnown): 68283 (WebCore::MoviePrivate::totalBytes): 68284 (WebCore::MoviePrivate::updateStates): 68285 (WebCore::MoviePrivate::didEnd): 68286 (WebCore::MoviePrivate::paint): 68287 (WebCore::MoviePrivate::createGSTPlayBin): 68288 * platform/graphics/gtk/MoviePrivateGStreamer.h: 68289 68290 2007-12-05 Mark Rowe <mrowe (a] apple.com> 68291 68292 Speculative wx build fix. Add PlugInInfoStore::pluginNameForMIMEType to the temporary link stubs. 68293 68294 * platform/wx/TemporaryLinkStubs.cpp: 68295 68296 2007-12-05 Alp Toker <alp (a] atoker.com> 68297 68298 Rubber stamped by Mark Rowe. 68299 68300 Remove DEPENDPATH on the generated sources directory. This causes 68301 trouble and is no longer necessary following the glib-genmarshal 68302 generator split. 68303 68304 * WebCore.pro: 68305 68306 2007-12-04 Geoffrey Garen <ggaren (a] apple.com> 68307 68308 Reviewed by Darin Adler. 68309 68310 Third step in refactoring JSGlobalObject: Moved data members and data 68311 member access from Interpreter to JSGlobalObject. Changed Interpreter 68312 member functions to static functions. Same for the subclass, 68313 ScriptInterpreter. 68314 68315 This is a big change, but it's mostly code motion and renaming. 68316 68317 2007-12-05 Darin Adler <darin (a] apple.com> 68318 68319 "Reviewed" by Geoff. 68320 68321 * loader/FrameLoader.cpp: 68322 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Removed assertion. 68323 (WebCore::FrameLoader::dispatchDidCommitLoad): This one too. 68324 The assertions are firing like crazy. Not sure why yet. 68325 68326 2007-12-05 Darin Adler <darin (a] apple.com> 68327 68328 Reviewed by Adam Roben. 68329 68330 - fix http://bugs.webkit.org/show_bug.cgi?id=16306 68331 Assertion failed in WebCore/loader/FrameLoader.cpp:4642 68332 68333 * loader/FrameLoader.cpp: 68334 (WebCore::FrameLoader::dispatchDidCommitLoad): Check m_creatingInitialEmptyDocument 68335 and don't deliver the client call in that case. 68336 68337 2007-12-05 Mark Rowe <mrowe (a] apple.com> 68338 68339 Reviewed by Kevin Decker. 68340 68341 Fix 64-bit debug build. 68342 68343 * platform/text/mac/TextCodecMac.cpp: 68344 (WebCore::TextCodecMac::decode): OSStatus is a long for 32-bit but int on 64-bit, 68345 so we need to cast it to be able to use a single format specifier on both. 68346 68347 2007-12-05 Kevin Decker <kdecker (a] apple.com> 68348 68349 Reviewed by Hyatt. 68350 68351 <rdar://problem/5613106> Acordex: REGRESSION (Tiger-Leopard): plug-ins can no longer take over TIFF images (affects uspto.gov) 68352 68353 * loader/FrameLoader.cpp: 68354 (WebCore::FrameLoader::shouldUsePlugin): Allow plug-ins (with the exception of QuickTime) to 68355 takeover TIFF once again. 68356 68357 2007-12-05 Luca Bruno <lethalman88 (a] gmail.com> 68358 68359 Reviewed by Alp Toker. 68360 68361 http://bugs.webkit.org/show_bug.cgi?id=16290 68362 [GTK] Pasting clipboard in rich text. 68363 68364 * platform/gtk/PasteboardGtk.cpp: 68365 (Pasteboard::documentFragment): Implement rich text paste support. 68366 68367 2007-12-05 Adele Peterson <adele (a] apple.com> 68368 68369 Reviewed by Hyatt. 68370 68371 Reverting fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges 68372 68373 We need to just fix the underlying focus ring repaint problem. 68374 68375 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle): 68376 68377 2007-12-04 Kevin McCullough <kmccullough (a] apple.com> 68378 68379 Reviewed by Darin. 68380 68381 - <rdar://5621435> 68382 - Security Fix. Instead of having it off by default, WebKit now must 68383 explicitly turn off local-resource restriction when needed for backwards 68384 compatibility reasons. 68385 68386 * loader/FrameLoader.cpp: 68387 68388 2007-12-05 Adam Roben <aroben (a] apple.com> 68389 68390 Set the menu item identifier for all menu items 68391 68392 This allows WebKit clients to distinguish between submenus in the 68393 context menu. 68394 68395 Reviewed by Darin. 68396 68397 No test possible. 68398 68399 * platform/win/ContextMenuItemWin.cpp: 68400 (WebCore::ContextMenuItem::ContextMenuItem): 68401 68402 2007-12-05 Dan Bernstein <mitz (a] apple.com> 68403 68404 Reviewed by Darin Adler. 68405 68406 - WebCore part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/ 68407 68408 * manual-tests/nested-plug-ins.html: Added. 68409 * manual-tests/resources/nested-plug-ins-inner-frame.html: Added. 68410 * manual-tests/resources/nested-plug-ins-outer-frame.html: Added. 68411 * platform/ScrollView.h: 68412 * platform/Widget.h: 68413 (WebCore::Widget::attachToWindow): Added. Tells the widget that it is connected 68414 via visible ScrollViews to the root ScrollView of the WebView. 68415 (WebCore::Widget::detachFromWindow): Added. Tells the widget that it is no longer 68416 connected via visible ScrollViews to the root ScrollView of the WebView. 68417 * platform/win/ScrollViewWin.cpp: 68418 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added 68419 m_visible and m_attachedToWindow members. 68420 (WebCore::ScrollView::attachToWindow): Added. Attaches all children if this 68421 view is visible. 68422 (WebCore::ScrollView::detachFromWindow): Added. Detaches all children if this 68423 view is visible (otherwise they would be detached already). 68424 (WebCore::ScrollView::show): Added. Attaches all children if this view 68425 is attached. 68426 (WebCore::ScrollView::hide): Added. Detaches all children if this view 68427 is attached (otherwise they would be detached already). 68428 (WebCore::ScrollView::isAttachedToWindow): Added. 68429 * platform/win/WidgetWin.cpp: 68430 (WebCore::Widget::setParent): Added calls to attachToWindow() and detachFromWindow() 68431 depending on whether the parent is set and attached or not. 68432 * plugins/win/PluginViewWin.cpp: 68433 (WebCore::PluginViewWin::setFocus): 68434 (WebCore::PluginViewWin::show): Changed to show the plug-in only if 68435 this view is attached. 68436 (WebCore::PluginViewWin::hide): Changed to hide the plug-in only if this 68437 view is attached (otherwise it would be hidden already). 68438 (WebCore::PluginViewWin::attachToWindow): Added. Shows the plug-in if this view 68439 is visible. 68440 (WebCore::PluginViewWin::detachFromWindow): Added. Hides the plug-in if this view 68441 is visible (otherwise it would be hidden already). 68442 (WebCore::PluginViewWin::PluginViewWin): 68443 * plugins/win/PluginViewWin.h: Added m_attachedToWindow member. 68444 68445 2007-12-04 Alp Toker <alp (a] atoker.com> 68446 68447 Potential GTK+ build fix for the glib-genmarshal issue. 68448 68449 Split the glib-genmarshal qmake generator in two; one for the source 68450 file, another for the header. 68451 68452 * WebCore.pro: 68453 68454 2007-12-04 Alp Toker <alp (a] atoker.com> 68455 68456 GTK+ build fix. 68457 68458 * platform/PlugInInfoStore.h: 68459 68460 2007-12-04 Kevin Decker <kdecker (a] apple.com> 68461 68462 Reviewed by Anders. 68463 68464 <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type 68465 68466 * page/mac/WebCoreViewFactory.h: Added pluginNameForMIMEType: method. 68467 * platform/PlugInInfoStore.h: 68468 * platform/gtk/TemporaryLinkStubs.cpp: Added stub version of pluginNameForMIMEType. 68469 (PlugInInfoStore::pluginNameForMIMEType): 68470 * platform/mac/PlugInInfoStoreMac.mm: 68471 (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added. 68472 * platform/qt/PlugInInfoStoreQt.cpp: 68473 (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType. 68474 * plugins/win/PlugInInfoStoreWin.cpp: 68475 (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType. 68476 68477 2007-12-04 Adele Peterson <adele (a] apple.com> 68478 68479 Reviewed by Darin. 68480 68481 Fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges 68482 68483 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle): 68484 Adjust outline-offset so it doesn't extend beyond the border to interfere with typing 68485 68486 2007-12-04 Anders Carlsson <andersca (a] apple.com> 68487 68488 Reviewed by Jon. 68489 68490 Always call NPP_NewStream, NPP_DestroyStream and NPP_URLNotify for JavaScript 68491 result streams, even if the JavaScript expression threw an exception or returned undefined. 68492 This matches what Firefox does. 68493 68494 * plugins/win/PluginStreamWin.cpp: 68495 (WebCore::PluginStreamWin::sendJavaScriptStream): 68496 Handle the result string being null, and set the correct NPReason if it is. 68497 68498 * plugins/win/PluginViewWin.cpp: 68499 (WebCore::PluginViewWin::performRequest): 68500 Always send the JavaScript stream, regardless of the result could be converted to a string or not. 68501 68502 2007-12-04 Adele Peterson <adele (a] apple.com> 68503 68504 Reviewed by Hyatt. 68505 68506 Fix for <rdar://problem/5622464> controls should show up for audio element 68507 68508 * css/html4.css: Added styles for audio controls. This will need to be refined, since we may want a different look for audio controls. 68509 * html/HTMLMediaElement.cpp: 68510 (WebCore::HTMLMediaElement::attributeChanged): When the controls attribute changes detach and reattach if necessary. 68511 (WebCore::HTMLMediaElement::rendererIsNeeded): Added. 68512 (WebCore::HTMLMediaElement::createRenderer): Added. Uses RenderMedia. 68513 * html/HTMLMediaElement.h: 68514 * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): Added constructor that doesn't take intrinsic size. 68515 * rendering/RenderMedia.h: 68516 68517 2007-12-04 Anders Carlsson <andersca (a] apple.com> 68518 68519 Reviewed by Sam. 68520 68521 Add isSafeScript(const JSGlobalObject*) so we won't get the JSGlobalObject 68522 implementation, which always returns true(!). 68523 68524 * bindings/js/kjs_window.cpp: 68525 (KJS::Window::isSafeScript): 68526 Make the static isSafeScript method take two JSGlobalObjects. 68527 68528 * bindings/js/kjs_window.h: 68529 (KJS::Window::isSafeScript): 68530 Implement isSafeScript and have it call the static method. 68531 68532 2007-11-27 Adam Roben <aroben (a] apple.com> 68533 68534 Make the implementation of Frame::setNeedsReapplyStyles cross-platform 68535 68536 Reviewed by Hyatt. 68537 68538 No change in functionality. 68539 68540 * page/Frame.cpp: 68541 (WebCore::Frame::setNeedsReapplyStyles): Added. Invalidates the 68542 FrameView so that FrameView::layout will be called, which ends up 68543 calling reapplyStyles. 68544 (WebCore::Frame::needsReapplyStyles): Added. 68545 (WebCore::Frame::reapplyStyles): Renamed from reparseConfiguration. 68546 (WebCore::FramePrivate::FramePrivate): 68547 * page/Frame.h: 68548 * page/FramePrivate.h: Added new boolean member. 68549 * page/FrameView.cpp: 68550 (WebCore::FrameView::layout): Call Frame::reapplyStyles if needed. 68551 (WebCore::FrameView::needsLayout): Say that we need layout if the 68552 Frame needs styles reapplied. 68553 * page/mac/WebCoreFrameBridge.h: Removed setNeedsReapplyStyles. 68554 * page/mac/WebCoreFrameBridge.mm: 68555 (-[WebCoreFrameBridge reapplyStylesForDeviceType:]): Updated for 68556 rename. 68557 68558 * bridge/win/FrameWin.cpp: Removed Frame::setNeedsReapplyStyles. 68559 * page/gtk/FrameGtk.cpp: Ditto. 68560 * page/mac/FrameMac.mm: Ditto. 68561 * page/qt/FrameQt.cpp: Ditto. 68562 * platform/wx/TemporaryLinkStubs.cpp: Ditto. 68563 68564 2007-12-04 Antti Koivisto <antti (a] apple.com> 68565 68566 Reviewed by Adele. 68567 68568 Pass intrinsic size to the base class. 68569 68570 * rendering/RenderMedia.cpp: 68571 (WebCore::RenderMedia::RenderMedia): 68572 68573 2007-12-04 Adele Peterson <adele (a] apple.com> 68574 68575 Reviewed by Darin. 68576 68577 Fix for <rdar://problem/5578209> REGRESSION: Crash in WebCore::DeprecatedValueListImpl::Private::copyList when going back on zoomerang.com/survey 68578 68579 * loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHistoryNavigation): 68580 When the new url is exactly the same as the old url, don't treat it like a fragment navigation, since its going to cause a reload. 68581 68582 2007-12-04 Darin Adler <darin (a] apple.com> 68583 68584 Reviewed by Kevin Decker. 68585 68586 - added an assertion for a situation that leads to a Safari assertion: 68587 a commit that is not followed by a load completion 68588 68589 - removed some unneeded FrameLoader stuff -- maybe some day we'll get this 68590 class cut down to size 68591 68592 * loader/FrameLoader.cpp: 68593 (WebCore::FrameLoader::FrameLoader): Added boolean for assertion. 68594 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Added code to assert 68595 that we already sent a commit before sending a complete. 68596 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): Call 68597 client directly instead of indirecting through a function. 68598 (WebCore::FrameLoader::loadItem): Ditto. 68599 (WebCore::FrameLoader::goToItem): Ditto. 68600 (WebCore::FrameLoader::addHistoryForCurrentLocation): Get the private browsing 68601 state from Settings instead of FrameLoaderClient. Also call client directly 68602 instead of indirecting through a function. 68603 (WebCore::FrameLoader::updateHistoryForReload): Call client directly instead 68604 of indirecting through a function. 68605 (WebCore::FrameLoader::dispatchDidCommitLoad): Added code to assert 68606 that we did not yet send a commit and set the flag that will be used to check 68607 that we don't do this twice in a row without an intervening completion call. 68608 68609 * loader/FrameLoader.h: Added a boolean for the assertion. Removed six 68610 now-unneeded functions. 68611 68612 * loader/FrameLoaderClient.h: Removed now-unneeded privateBrowsingEnabled function. 68613 68614 * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willCacheResponse): Get 68615 the private browsing state from Settings instead of FrameLoaderClient. 68616 68617 * svg/graphics/SVGImageEmptyClients.h: Removed obsolete privateBrowsingEnabled. 68618 68619 2007-12-03 Antti Koivisto <antti (a] apple.com> 68620 68621 Reviewed by Adele. 68622 68623 Fix <rdar://problem/5624802> 68624 Controller displays outside of <video> element when width and height aren't specified 68625 68626 - Explicitly adjust size of the controls tree root. 68627 - Switch RenderMedia base class back to RenderReplaced. It is easier to manage the shadow tree 68628 by hand. This also allows better code sharing with other replaced element classes. 68629 - Move duplicated layout and painting code from subclasses up to RenderReplaced. 68630 68631 Test: media/video-controls-rendering.html 68632 68633 * rendering/RenderHTMLCanvas.cpp: 68634 (WebCore::RenderHTMLCanvas::paintReplaced): 68635 * rendering/RenderHTMLCanvas.h: 68636 Share code. 68637 * rendering/RenderImage.cpp: 68638 (WebCore::RenderImage::paintReplaced): 68639 (WebCore::RenderImage::minimumReplacedHeight): 68640 * rendering/RenderImage.h: 68641 Share code. 68642 * rendering/RenderMedia.cpp: 68643 (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot): 68644 (WebCore::RenderMediaControlShadowRoot::setParent): 68645 Add a subclass just to get through encapsulation to use setParent(). 68646 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): 68647 Move initialization to the constructor. 68648 (WebCore::RenderMedia::RenderMedia): 68649 (WebCore::RenderMedia::~RenderMedia): 68650 (WebCore::RenderMedia::layout): 68651 Resize and layout the controller root by hand. 68652 (WebCore::RenderMedia::firstChild): 68653 (WebCore::RenderMedia::lastChild): 68654 (WebCore::RenderMedia::removeChild): 68655 Support one child renderer for controls. 68656 (WebCore::RenderMedia::createControlsShadowRoot): 68657 * rendering/RenderMedia.h: 68658 (WebCore::RenderMedia::isMedia): 68659 Switch base class to RenderReplaced, delete the now unnecessary stuff. 68660 * rendering/RenderReplaced.cpp: 68661 (WebCore::RenderReplaced::layout): 68662 (WebCore::RenderReplaced::paint): 68663 * rendering/RenderReplaced.h: 68664 (WebCore::RenderReplaced::minimumReplacedHeight): 68665 (WebCore::RenderReplaced::paintReplaced): 68666 Share code. 68667 * rendering/RenderVideo.cpp: 68668 (WebCore::RenderVideo::videoSizeChanged): 68669 Simplify, just request relayout. 68670 (WebCore::RenderVideo::paintReplaced): 68671 (WebCore::RenderVideo::layout): 68672 * rendering/RenderVideo.h: 68673 Share code. 68674 68675 2007-12-04 Michael Natterer <mitch (a] imendio.com> 68676 68677 Reviewed by Alp Toker. 68678 68679 * WebCore.pro: fix build of webkit-marshal by building the 68680 functions into a separate .cpp file instead of including them in 68681 the header. This way we can use the marshallers from more than one 68682 file without using bad hacks. 68683 68684 Add the generated sources directory to DEPENDPATH. 68685 68686 2007-12-04 Pierre-Luc Beaudoin <pierre-luc.beaudoin (a] collabora.co.uk> 68687 68688 Reviewed by Alp Toker. 68689 68690 http://bugs.webkit.org/show_bug.cgi?id=16145 68691 [gtk] Implement media support in GTK backend 68692 68693 This implements the media tags of HTML5 on the GTK+ port based on the 68694 Mac port. Media tests pass although some tests required a small modifications: 68695 As per the HTML5 spec, the loading of the clip should start only after 68696 all script are done. But in the case of the tests, the loading starts 68697 before some callbacks get registered. This has been discussed with 68698 Antti Koivisto, and the tests should be updated. 68699 68700 There is only one known issue: one time in 10 tries, loading a buffered 68701 clip will never end buffering. The buffering will stall at 97% for no 68702 apparent reasons. Reloading the page usually works around the problem. 68703 On the GStreamer side, some codecs don't return correct values, therefore 68704 they make the tests fail. For instance H.264 will make the video-end 68705 test fail. This should be fixed in GStreamer 0.10.15. 68706 68707 This version displays video in a pop up window. A place holder is drawn 68708 on the page where the video should appear. 68709 68710 By default, it is turned off in WebCore.pro until GStreamer/X 68711 detection issues are sorted out. 68712 68713 * WebCore.pro: 68714 Disable video for now 68715 * platform/Logging.cpp: 68716 * platform/Logging.h: 68717 Added a logging level for Media stuff 68718 * platform/graphics/Movie.cpp: 68719 * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Added. 68720 (WebCore::moviePrivateErrorCallback): 68721 (WebCore::moviePrivateEOSCallback): 68722 (WebCore::moviePrivateStateCallback): 68723 (WebCore::moviePrivateBufferingCallback): 68724 (WebCore::moviePrivateWindowIDCallback): 68725 (WebCore::MoviePrivate::MoviePrivate): 68726 (WebCore::MoviePrivate::~MoviePrivate): 68727 (WebCore::MoviePrivate::load): 68728 (WebCore::MoviePrivate::play): 68729 (WebCore::MoviePrivate::pause): 68730 (WebCore::MoviePrivate::duration): 68731 (WebCore::MoviePrivate::currentTime): 68732 (WebCore::MoviePrivate::seek): 68733 (WebCore::MoviePrivate::setEndTime): 68734 (WebCore::MoviePrivate::addCuePoint): 68735 (WebCore::MoviePrivate::removeCuePoint): 68736 (WebCore::MoviePrivate::clearCuePoints): 68737 (WebCore::MoviePrivate::startCuePointTimerIfNeeded): 68738 (WebCore::MoviePrivate::cancelSeek): 68739 (WebCore::MoviePrivate::cuePointTimerFired): 68740 (WebCore::MoviePrivate::paused): 68741 (WebCore::MoviePrivate::seeking): 68742 (WebCore::MoviePrivate::naturalSize): 68743 (WebCore::MoviePrivate::hasVideo): 68744 (WebCore::MoviePrivate::setVolume): 68745 (WebCore::MoviePrivate::setMuted): 68746 (WebCore::MoviePrivate::setRate): 68747 (WebCore::MoviePrivate::dataRate): 68748 (WebCore::MoviePrivate::networkState): 68749 (WebCore::MoviePrivate::readyState): 68750 (WebCore::MoviePrivate::maxTimeBuffered): 68751 (WebCore::MoviePrivate::maxTimeSeekable): 68752 (WebCore::MoviePrivate::maxTimeLoaded): 68753 (WebCore::MoviePrivate::bytesLoaded): 68754 (WebCore::MoviePrivate::totalBytesKnown): 68755 (WebCore::MoviePrivate::totalBytes): 68756 (WebCore::MoviePrivate::cancelLoad): 68757 (WebCore::MoviePrivate::updateStates): 68758 (WebCore::MoviePrivate::loadStateChanged): 68759 (WebCore::MoviePrivate::rateChanged): 68760 (WebCore::MoviePrivate::sizeChanged): 68761 (WebCore::MoviePrivate::timeChanged): 68762 (WebCore::MoviePrivate::volumeChanged): 68763 (WebCore::MoviePrivate::didEnd): 68764 (WebCore::MoviePrivate::loadingFailed): 68765 (WebCore::MoviePrivate::setRect): 68766 (WebCore::MoviePrivate::setVisible): 68767 (WebCore::MoviePrivate::paint): 68768 (WebCore::MoviePrivate::getSupportedTypes): 68769 (WebCore::MoviePrivate::createGSTPlayBin): 68770 * platform/graphics/gtk/MoviePrivateGStreamer.h: Added. 68771 68772 2007-12-04 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 68773 68774 Reviewed by Simon. 68775 68776 * Implement the InspectorClient for the Qt port 68777 * It does not support highlighting of nodes yet 68778 * Use QRC to open the internal page. The important thing is the 68779 '/' in the URL to make WebCore::Document::completeURL behave the 68780 way we want. 68781 * To make the InspectorClient work we will have to mark qrc as secure. 68782 68783 * WebCore.pro: 68784 * loader/FrameLoader.cpp: 68785 (WebCore::localSchemes): 68786 * page/inspector/WebKit.qrc: Added. 68787 68788 2007-12-04 Alp Toker <alp (a] atoker.com> 68789 68790 Rubber stamped by Mark Rowe. 68791 68792 Remove two unused variables to silence warnings. 68793 68794 * html/CanvasRenderingContext2D.cpp: 68795 (WebCore::CanvasRenderingContext2D::fill): 68796 (WebCore::CanvasRenderingContext2D::stroke): 68797 68798 2007-12-03 Dan Bernstein <mitz (a] apple.com> 68799 68800 Reviewed by Darin Adler. 68801 68802 - fix <rdar://problem/5134044> fast/frames/frame-src-attribute.html fails on Windows 68803 68804 * platform/win/ScrollViewWin.cpp: 68805 (WebCore::ScrollView::visibleWidth): Do not return negative values. 68806 (WebCore::ScrollView::visibleHeight): Ditto. 68807 68808 2007-12-03 Dan Bernstein <mitz (a] apple.com> 68809 68810 Reviewed by Dave Hyatt. 68811 68812 - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame 68813 68814 Test: fast/events/resize-subframe.html 68815 68816 * page/FrameView.cpp: 68817 (WebCore::FrameViewPrivate::FrameViewPrivate): Added a timer used when 68818 deferring tasks that need to be done after layout. 68819 (WebCore::FrameViewPrivate::reset): 68820 (WebCore::FrameView::~FrameView): 68821 (WebCore::FrameView::layout): Moved the updating of widget positions, 68822 loading plug-ins and sending events queued up during layout into 68823 performPostLayoutTasks(). performPostLayoutTasks() is called after 68824 layout unless the layout was triggered by a previous layout's post- 68825 layout tasks. In the latter case, performPostLayoutTasks() is scheduled 68826 to run later. 68827 (WebCore::FrameView::performPostLayoutTasks): Performs work that needs 68828 to be done after layout but which can result in arbitrary code 68829 execution and therefore may re-invalidate the layout. This includes 68830 updating widget positions, loading plug-ins, and dispatching layout- 68831 related DOM events (scroll, overflow and resize). 68832 (WebCore::FrameView::postLayoutTimerFired): 68833 (WebCore::FrameView::dispatchScheduledEvents): 68834 * page/FrameView.h: 68835 * page/mac/WebCoreFrameBridge.h: 68836 * page/mac/WebCoreFrameBridge.mm: Removed -sendResizeEvent since this 68837 is handled by FrameView now. 68838 68839 2007-12-03 Rob Buis <buis (a] kde.org> 68840 68841 Reviewed by Darin. 68842 68843 http://bugs.webkit.org/show_bug.cgi?id=15767 68844 Text decorations do not respect "visibility" property 68845 68846 Only paint decorations if visibility is "visible". 68847 68848 * rendering/SVGInlineTextBox.cpp: 68849 (WebCore::SVGInlineTextBox::paintDecoration): 68850 68851 2007-12-03 Steve Falkenburg <sfalken (a] apple.com> 68852 68853 Fix build. 68854 68855 * WebCore.vcproj/WebCore.vcproj: 68856 68857 2007-12-03 Nikolas Zimmermann <zimmermann (a] kde.org> 68858 68859 Reviewed by David. 68860 68861 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15645 68862 Don't allow selectors to interfere with the SVG shadow tree (<use> internal non-exposed tree). 68863 68864 * css/CSSStyleSelector.cpp: 68865 (WebCore::CSSStyleSelector::checkSelector): 68866 68867 2007-12-03 Dan Bernstein <mitz (a] apple.com> 68868 68869 Reviewed by Adam Roben. 68870 68871 - fix <rdar://problem/5538651> REGRESSSION: domfuzz: null deref in WebCore::Document::canReplaceChild 68872 68873 Test: fast/dom/Document/replaceChild-null-oldChild.html 68874 68875 * dom/Document.cpp: 68876 (WebCore::Document::canReplaceChild): 68877 68878 2007-12-03 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 68879 68880 Reviewed by Simon. 68881 68882 * Avoid crashes by making sure everything is layouted before 68883 we start painting. This avoids a crash in Widget::invalidateRect 68884 because QPainter::begin would fail 68885 * The QWebFrame::layout() methods and calls are left untouched because 68886 this would be an API decision. 68887 68888 68889 WARNING: NO TEST CASES ADDED OR CHANGED 68890 68891 * page/FrameView.cpp: 68892 (WebCore::FrameView::updateControlTints): 68893 * page/FrameView.h: 68894 * platform/ScrollView.h: 68895 * platform/qt/ScrollViewQt.cpp: 68896 (WebCore::ScrollView::children): 68897 68898 2007-12-03 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 68899 68900 Reviewed by Simon. 68901 68902 * Implement GraphicsContext::fillRoundedRect similiar to the 68903 CoreGraphics implementation only addPath is not called this 68904 seems to be only needed for CoreGraphics. 68905 68906 68907 WARNING: NO TEST CASES ADDED OR CHANGED 68908 68909 * platform/graphics/qt/GraphicsContextQt.cpp: 68910 (WebCore::GraphicsContext::fillRoundedRect): 68911 68912 2007-12-03 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 68913 68914 Reviewed by Simon. 68915 68916 * Coding Style fixes 68917 68918 68919 WARNING: NO TEST CASES ADDED OR CHANGED 68920 68921 * platform/qt/ScrollViewQt.cpp: 68922 (WebCore::ScrollView::addChild): 68923 (WebCore::ScrollView::removeChild): 68924 68925 2007-12-03 Alp Toker <alp (a] atoker.com> 68926 68927 Reviewed by Mark Rowe. 68928 68929 Don't delete the decoder if it's already been created. The one we have 68930 is fine. 68931 68932 Cairo image cleanups. Nothing substantial. 68933 68934 Notify ImageObservers where appropriate. 68935 68936 * platform/graphics/cairo/ImageCairo.cpp: 68937 (WebCore::BitmapImage::draw): 68938 (WebCore::Image::drawPattern): 68939 * platform/graphics/cairo/ImageSourceCairo.cpp: 68940 (WebCore::ImageSource::setData): 68941 * platform/graphics/gtk/ImageGtk.cpp: 68942 68943 2007-12-03 Simon Hausmann <hausmann (a] webkit.org> 68944 68945 Reviewed by Lars. 68946 68947 Fixed crash when rendering form elements with Qt 4.4 68948 68949 QPainter::device() is not guaranteed to return a QWidget, so do the safe "cast" with the 68950 help of QPaintDevice::devType(). 68951 Also fall back to the QApplication::style() if we don't have a widget. 68952 68953 * platform/qt/RenderThemeQt.cpp: 68954 (WebCore::RenderThemeQt::paintButton): 68955 (WebCore::RenderThemeQt::paintTextField): 68956 (WebCore::RenderThemeQt::paintMenuList): 68957 (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo): 68958 68959 2007-12-02 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 68960 68961 Reviewed by Sam Weinig. 68962 68963 * Add FrameLoader::shouldTreatSchemeAsLocal which is similar to 68964 shouldTreatURLAsLocal. 68965 * Make use of FrameLoader::shouldTreatSchemeAsLocal in SecurityOrigin 68966 and do not hardcode "file". This is needed for the WebKit/qt port to make 68967 the Web Inspector work as it using the qrc protocol instead of file. 68968 68969 68970 * loader/FrameLoader.cpp: 68971 (WebCore::FrameLoader::shouldTreatSchemeAsLocal): 68972 * loader/FrameLoader.h: 68973 * platform/SecurityOrigin.cpp: 68974 (WebCore::SecurityOrigin::isSecureTransitionTo): 68975 68976 2007-12-02 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 68977 68978 Rubber stamped by Sam Weinig. 68979 68980 Only add applewebdata to the localSchemes when building for the 68981 mac. This is in preparation of adding qrc for the Qt port there 68982 as well and http://bugs.webkit.org/show_bug.cgi?id=15938. 68983 68984 According to Anders applewebdata is not used on the win port. 68985 68986 * loader/FrameLoader.cpp: 68987 (WebCore::localSchemes): 68988 68989 2007-12-02 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 68990 68991 Rubber stamped by Sam Weinig. 68992 68993 Fix a typo. It is contains and not containts 68994 68995 * loader/FrameLoader.cpp: 68996 68997 2007-12-03 Alp Toker <alp (a] atoker.com> 68998 68999 Add another missing DEPENDPATH. 69000 69001 Noticed when fixing the build. 69002 69003 * WebCore.pro: 69004 69005 2007-12-03 Adam Roben <aroben (a] apple.com> 69006 69007 Speculative Windows build fix 69008 69009 * plugins/win/PluginViewWin.cpp: 69010 (WebCore::getString): 69011 69012 2007-12-03 Geoffrey Garen <ggaren (a] apple.com> 69013 69014 Build fix: added symbols to the right .exp file. 69015 69016 * WebCore.base.exp: 69017 69018 2007-12-02 Geoffrey Garen <ggaren (a] apple.com> 69019 69020 Reviewed by Eric Seidel. 69021 69022 Updated to match the JavaScriptCore change to move virtual methods from 69023 Interpreter to JSGlobalObject. 69024 69025 Moved virtual ScriptInterpreter functions to Window. 69026 69027 2007-12-02 Darin Adler <darin (a] apple.com> 69028 69029 Reviewed by Mitz. 69030 69031 - fix <rdar://problem/5601995> Hang/crash on http://ebay-uk.custhelp.com/ 69032 69033 There were two problems here: 69034 69035 1) Incorrect HTMLCollection behavior led to us trying to insert a 69036 new row inside an existing row instead of next to it. The fix for 69037 this is to make HTMLCollection work better for table-related 69038 collections. 69039 69040 2) HTMLTableRowElement::insertCell would return a bad pointer if 69041 the insertion failed. The code should have failed, but not crashed, 69042 so it's worth fixing that too. 69043 69044 While fixing the HTMLCollection issues, I did some clean-up of that 69045 class and its derived classes. 69046 69047 Test: fast/dom/HTMLTableElement/rows.html 69048 Test: fast/dom/HTMLTableElement/tBodies.html 69049 Test: fast/dom/HTMLTableRowElement/cells.html 69050 Test: fast/dom/HTMLTableRowElement/insertCell.html 69051 Test: fast/dom/HTMLTableSectionElement/rows.html 69052 69053 * bindings/js/JSHTMLCollectionCustom.cpp: 69054 (WebCore::toJS): Updated because collectionType() was renamed to type(). 69055 69056 * html/HTMLCollection.cpp: 69057 (WebCore::HTMLCollection::HTMLCollection): Updated for data member name 69058 changes. Also added a protected constructor for use by derived classes 69059 that pass in a CollectionInfo. 69060 (WebCore::HTMLCollection::CollectionInfo::copyCacheMap): Moved out of 69061 the header. 69062 (WebCore::isTableSection): Added. 69063 (WebCore::HTMLCollection::itemAfter): Renamed from traverseNextItem, 69064 because the old name was grammatically incorrect and thus a bit confusing. 69065 Changed to operate on Element* instead of Node*, and use 0 to start 69066 rather than passing in the base node (required since the base node can be 69067 a document, which is not an element). Generalized the code that made 69068 NodeChildren not descend into deeper descendants so it can be used for 69069 TRCells, TSectionRows, TableTBodies, and TableRows. Reformatted the 69070 switch statement and got rid of the "found" boolean since we can just 69071 return when we find something. Got rid of the default case, and instead 69072 listed all the enum values. Also changed to use a for loop for clarity. 69073 (WebCore::HTMLCollection::calcLength): Updated for itemAfter changes. 69074 (WebCore::HTMLCollection::item): Ditto. 69075 (WebCore::HTMLCollection::nextItem): Ditto. 69076 (WebCore::HTMLCollection::checkForNameMatch): Updated to take an Element 69077 instead of a Node pointer. 69078 (WebCore::HTMLCollection::namedItem): More of the same. 69079 (WebCore::HTMLCollection::updateNameCache): Ditto. 69080 (WebCore::HTMLCollection::namedItems): Ditto. 69081 (WebCore::HTMLCollection::nextNamedItem): Ditto. 69082 (WebCore::HTMLCollection::tags): Ditto. 69083 69084 * html/HTMLCollection.h: Added a type FormElements, so that the 69085 HTMLFormCollection would not have a type of DocImages, which is what 69086 it previously did. Changed the base parameter to be a PassRefPtr to 69087 make it clear we take ownership of it. Added a comment explaining 69088 why we should change the name CollectionInfo. Made a lot more members 69089 private instead of protected. Renamed traverseNextItem to itemAfter. 69090 Changed most functions to take Element* instead of Node*. 69091 69092 * html/HTMLFormCollection.cpp: 69093 (WebCore::HTMLFormCollection::formCollectionInfo): Added. 69094 (WebCore::HTMLFormCollection::HTMLFormCollection): Updated to pass 69095 collection info into the base class. 69096 (WebCore::HTMLFormCollection::calcLength): Updated to use base() so we 69097 don't need to get at m_base directly. 69098 (WebCore::HTMLFormCollection::item): Same, but for info(). 69099 (WebCore::HTMLFormCollection::getNamedItem): Removed unused first 69100 argument. 69101 (WebCore::HTMLFormCollection::getNamedFormItem): Got rid of unneeded 69102 checks that the base is still an element and still a form, since that's 69103 guaranteed. 69104 (WebCore::HTMLFormCollection::nextItem): Use info(). 69105 (WebCore::HTMLFormCollection::nextNamedItemInternal): Node instead of 69106 Element, some name changes. 69107 (WebCore::HTMLFormCollection::namedItem): Update for changes elsewhere. 69108 (WebCore::HTMLFormCollection::nextNamedItem): Ditto, also rewrote loop 69109 to be much simpler. 69110 (WebCore::HTMLFormCollection::updateNameCache): More of the same. 69111 69112 * html/HTMLFormCollection.h: Changed constructor to take an 69113 HTMLFormElement, using a PassRefPtr to communicate transfer of 69114 ownership. Made everything private instead of protected. Removed 69115 unneeded override of firstItem. Made getNamedItem and 69116 nextNamedItemInternal non-virtual. Removed unused first argument of 69117 getNamedItem. Added declaration of formCollectionInfo. 69118 69119 * html/HTMLNameCollection.cpp: 69120 (WebCore::HTMLNameCollection::HTMLNameCollection): Updated to pass 69121 collection info into the base class. 69122 (WebCore::HTMLNameCollection::itemAfter): Reformatted a bit and 69123 changed into a for loop. 69124 69125 * html/HTMLNameCollection.h: Updated for name changes. Made function 69126 private instead of public. Used PassRefPtr in constructor. 69127 69128 * html/HTMLOptionsCollection.cpp: 69129 (WebCore::HTMLOptionsCollection::HTMLOptionsCollection): Updated to 69130 pass collection info into the base class. 69131 (WebCore::HTMLOptionsCollection::add): Updated for public/private 69132 changes in the base class. 69133 (WebCore::HTMLOptionsCollection::selectedIndex): Ditto. 69134 (WebCore::HTMLOptionsCollection::setSelectedIndex): Ditto. 69135 (WebCore::HTMLOptionsCollection::setLength): Ditto. 69136 69137 * html/HTMLOptionsCollection.h: Changed constructor parameter to be a 69138 PassRefPtr. 69139 69140 * html/HTMLTableRowElement.cpp: 69141 (WebCore::HTMLTableRowElement::insertCell): Changed code to use RefPtr 69142 and PassRefPtr since this creates a new object. This alone fixed the 69143 crash. Also cleaned up logic a bit to be more readable. 69144 69145 * html/HTMLTableRowElement.h: Changed insertCell to return a PassRefPtr. 69146 Also reordered functions a bit to make things a little more logical and 69147 removed the unused ncols data member. 69148 69149 * html/HTMLTableSectionElement.cpp: 69150 (WebCore::HTMLTableSectionElement::rows): Pass TSectionRows, not 69151 TableRows. This mistake was harmless before because TableRows and 69152 TSectionRows were handled identically inside HTMLCollection, but that is 69153 no longer the case with this fix. 69154 69155 * bindings/scripts/CodeGeneratorJS.pm: Add an include to cope with the 69156 fact that HTMLOptionsCollection no longer includes HTMLOptionElement. 69157 I don't think this really should be a special case -- might be worth 69158 returning later to see if this can be optimized. 69159 69160 2007-12-02 Nikolas Zimmermann <zimmermann (a] kde.org> 69161 69162 Reviewed by Adam. 69163 69164 RenderSVGViewportContainer sets wrong width/height. 69165 Share code with RenderSVGContainer in a central calcBounds() function. 69166 69167 Fixes: 69168 - svg/custom/use-css-events.svg (http://bugs.webkit.org/show_bug.cgi?id=15403) 69169 - svg/custom/deep-dynamic-updates.svg 69170 - svg/custom/use-clipped-hit.svg 69171 - svg/custom/image-clipped-hit.svg 69172 69173 * rendering/RenderSVGContainer.cpp: 69174 (WebCore::RenderSVGContainer::layout): 69175 (WebCore::RenderSVGContainer::calcBounds): 69176 * rendering/RenderSVGContainer.h: 69177 * rendering/RenderSVGViewportContainer.cpp: 69178 (WebCore::RenderSVGViewportContainer::layout): 69179 69180 2007-12-02 Brady Eidson <beidson (a] apple.com> 69181 69182 Reviewed by Darin 69183 69184 databaseChanged notifications were being sent out on the database thread - they need to be on the main thread 69185 like all other notifications we send out! 69186 69187 * platform/SecurityOriginData.cpp: 69188 (WebCore::SecurityOriginData::copy): Add a deep copy method, for when an object thread hops 69189 * platform/SecurityOriginData.h: 69190 69191 * storage/DatabaseTracker.cpp: 69192 (WebCore::notificationMutex): 69193 (WebCore::notificationQueue): 69194 (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): Add the origin/name pair to a queue 69195 (WebCore::DatabaseTracker::scheduleForNotification): Schedule to deliver this queue of notifications 69196 on the main thread 69197 (WebCore::DatabaseTracker::notifyDatabasesChanged): Deliver all notifications in the queue 69198 * storage/DatabaseTracker.h: 69199 69200 * storage/SQLTransaction.cpp: 69201 (WebCore::SQLTransaction::postflightAndCommit): scheduleNotifyDatabaseChanged() instead of "notify now!" 69202 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto 69203 69204 2007-12-02 Rob Buis <buis (a] kde.org> 69205 69206 Reviewed by Darin. 69207 69208 http://bugs.webkit.org/show_bug.cgi?id=16002 69209 Load SVG (and other) UA StyleSheets dynamically when needed 69210 69211 Load svg sheet when needed. 69212 69213 * css/CSSStyleSelector.cpp: 69214 (WebCore::screenEval): 69215 (WebCore::printEval): 69216 (WebCore::CSSStyleSelector::CSSStyleSelector): 69217 (WebCore::CSSStyleSelector::loadDefaultStyle): 69218 (WebCore::CSSStyleSelector::styleForElement): 69219 (WebCore::CSSRuleSet::addRulesFromSheet): 69220 69221 2007-12-02 Mark Rowe <mrowe (a] apple.com> 69222 69223 Try and fix the Windows build. 69224 69225 * plugins/win/PluginViewWin.cpp: 69226 (WebCore::PluginViewWin::bindingInstance): 69227 69228 2007-12-02 Nikolas Zimmermann <zimmermann (a] kde.org> 69229 69230 Rubber stamped by Eric. 69231 69232 Move platform/graphics/svg to graphics/svg as discussed on webkit-dev. 69233 Updated all project files. 69234 69235 * WebCore.pro: 69236 * WebCore.vcproj/WebCore.vcproj: 69237 * WebCore.xcodeproj/project.pbxproj: 69238 * platform/graphics/svg: Removed. 69239 * platform/graphics/svg/SVGImage.cpp: Removed. 69240 * platform/graphics/svg/SVGImage.h: Removed. 69241 * platform/graphics/svg/SVGImageEmptyClients.h: Removed. 69242 * platform/graphics/svg/SVGPaintServer.cpp: Removed. 69243 * platform/graphics/svg/SVGPaintServer.h: Removed. 69244 * platform/graphics/svg/SVGPaintServerGradient.cpp: Removed. 69245 * platform/graphics/svg/SVGPaintServerGradient.h: Removed. 69246 * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Removed. 69247 * platform/graphics/svg/SVGPaintServerLinearGradient.h: Removed. 69248 * platform/graphics/svg/SVGPaintServerPattern.cpp: Removed. 69249 * platform/graphics/svg/SVGPaintServerPattern.h: Removed. 69250 * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Removed. 69251 * platform/graphics/svg/SVGPaintServerRadialGradient.h: Removed. 69252 * platform/graphics/svg/SVGPaintServerSolid.cpp: Removed. 69253 * platform/graphics/svg/SVGPaintServerSolid.h: Removed. 69254 * platform/graphics/svg/SVGResource.cpp: Removed. 69255 * platform/graphics/svg/SVGResource.h: Removed. 69256 * platform/graphics/svg/SVGResourceClipper.cpp: Removed. 69257 * platform/graphics/svg/SVGResourceClipper.h: Removed. 69258 * platform/graphics/svg/SVGResourceFilter.cpp: Removed. 69259 * platform/graphics/svg/SVGResourceFilter.h: Removed. 69260 * platform/graphics/svg/SVGResourceListener.h: Removed. 69261 * platform/graphics/svg/SVGResourceMarker.cpp: Removed. 69262 * platform/graphics/svg/SVGResourceMarker.h: Removed. 69263 * platform/graphics/svg/SVGResourceMasker.cpp: Removed. 69264 * platform/graphics/svg/SVGResourceMasker.h: Removed. 69265 * platform/graphics/svg/cairo: Removed. 69266 * platform/graphics/svg/cairo/RenderPathCairo.cpp: Removed. 69267 * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: Removed. 69268 * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: Removed. 69269 * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp: Removed. 69270 * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: Removed. 69271 * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp: Removed. 69272 * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: Removed. 69273 * platform/graphics/svg/cg: Removed. 69274 * platform/graphics/svg/cg/CgSupport.cpp: Removed. 69275 * platform/graphics/svg/cg/CgSupport.h: Removed. 69276 * platform/graphics/svg/cg/RenderPathCg.cpp: Removed. 69277 * platform/graphics/svg/cg/SVGPaintServerCg.cpp: Removed. 69278 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Removed. 69279 * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Removed. 69280 * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Removed. 69281 * platform/graphics/svg/cg/SVGResourceClipperCg.cpp: Removed. 69282 * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: Removed. 69283 * platform/graphics/svg/cg/SVGResourceFilterCg.mm: Removed. 69284 * platform/graphics/svg/cg/SVGResourceMaskerCg.cpp: Removed. 69285 * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: Removed. 69286 * platform/graphics/svg/filters: Removed. 69287 * platform/graphics/svg/filters/SVGDistantLightSource.h: Removed. 69288 * platform/graphics/svg/filters/SVGFEBlend.cpp: Removed. 69289 * platform/graphics/svg/filters/SVGFEBlend.h: Removed. 69290 * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Removed. 69291 * platform/graphics/svg/filters/SVGFEColorMatrix.h: Removed. 69292 * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Removed. 69293 * platform/graphics/svg/filters/SVGFEComponentTransfer.h: Removed. 69294 * platform/graphics/svg/filters/SVGFEComposite.cpp: Removed. 69295 * platform/graphics/svg/filters/SVGFEComposite.h: Removed. 69296 * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Removed. 69297 * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Removed. 69298 * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Removed. 69299 * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Removed. 69300 * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Removed. 69301 * platform/graphics/svg/filters/SVGFEDisplacementMap.h: Removed. 69302 * platform/graphics/svg/filters/SVGFEFlood.cpp: Removed. 69303 * platform/graphics/svg/filters/SVGFEFlood.h: Removed. 69304 * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Removed. 69305 * platform/graphics/svg/filters/SVGFEGaussianBlur.h: Removed. 69306 * platform/graphics/svg/filters/SVGFEImage.cpp: Removed. 69307 * platform/graphics/svg/filters/SVGFEImage.h: Removed. 69308 * platform/graphics/svg/filters/SVGFEMerge.cpp: Removed. 69309 * platform/graphics/svg/filters/SVGFEMerge.h: Removed. 69310 * platform/graphics/svg/filters/SVGFEMorphology.cpp: Removed. 69311 * platform/graphics/svg/filters/SVGFEMorphology.h: Removed. 69312 * platform/graphics/svg/filters/SVGFEOffset.cpp: Removed. 69313 * platform/graphics/svg/filters/SVGFEOffset.h: Removed. 69314 * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Removed. 69315 * platform/graphics/svg/filters/SVGFESpecularLighting.h: Removed. 69316 * platform/graphics/svg/filters/SVGFETile.h: Removed. 69317 * platform/graphics/svg/filters/SVGFETurbulence.cpp: Removed. 69318 * platform/graphics/svg/filters/SVGFETurbulence.h: Removed. 69319 * platform/graphics/svg/filters/SVGFilterEffect.cpp: Removed. 69320 * platform/graphics/svg/filters/SVGFilterEffect.h: Removed. 69321 * platform/graphics/svg/filters/SVGLightSource.cpp: Removed. 69322 * platform/graphics/svg/filters/SVGLightSource.h: Removed. 69323 * platform/graphics/svg/filters/SVGPointLightSource.h: Removed. 69324 * platform/graphics/svg/filters/SVGSpotLightSource.h: Removed. 69325 * platform/graphics/svg/filters/cg: Removed. 69326 * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Removed. 69327 * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Removed. 69328 * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Removed. 69329 * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Removed. 69330 * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Removed. 69331 * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Removed. 69332 * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Removed. 69333 * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Removed. 69334 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Removed. 69335 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Removed. 69336 * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Removed. 69337 * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Removed. 69338 * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Removed. 69339 * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Removed. 69340 * platform/graphics/svg/filters/cg/SVGFETileCg.mm: Removed. 69341 * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Removed. 69342 * platform/graphics/svg/filters/cg/WKArithmeticFilter.cikernel: Removed. 69343 * platform/graphics/svg/filters/cg/WKArithmeticFilter.h: Removed. 69344 * platform/graphics/svg/filters/cg/WKArithmeticFilter.m: Removed. 69345 * platform/graphics/svg/filters/cg/WKComponentMergeFilter.cikernel: Removed. 69346 * platform/graphics/svg/filters/cg/WKComponentMergeFilter.h: Removed. 69347 * platform/graphics/svg/filters/cg/WKComponentMergeFilter.m: Removed. 69348 * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.cikernel: Removed. 69349 * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.h: Removed. 69350 * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.m: Removed. 69351 * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.cikernel: Removed. 69352 * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.h: Removed. 69353 * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.m: Removed. 69354 * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.cikernel: Removed. 69355 * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.h: Removed. 69356 * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.m: Removed. 69357 * platform/graphics/svg/filters/cg/WKDistantLightFilter.cikernel: Removed. 69358 * platform/graphics/svg/filters/cg/WKDistantLightFilter.h: Removed. 69359 * platform/graphics/svg/filters/cg/WKDistantLightFilter.m: Removed. 69360 * platform/graphics/svg/filters/cg/WKGammaTransferFilter.cikernel: Removed. 69361 * platform/graphics/svg/filters/cg/WKGammaTransferFilter.h: Removed. 69362 * platform/graphics/svg/filters/cg/WKGammaTransferFilter.m: Removed. 69363 * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.h: Removed. 69364 * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.m: Removed. 69365 * platform/graphics/svg/filters/cg/WKLinearTransferFilter.cikernel: Removed. 69366 * platform/graphics/svg/filters/cg/WKLinearTransferFilter.h: Removed. 69367 * platform/graphics/svg/filters/cg/WKLinearTransferFilter.m: Removed. 69368 * platform/graphics/svg/filters/cg/WKNormalMapFilter.cikernel: Removed. 69369 * platform/graphics/svg/filters/cg/WKNormalMapFilter.h: Removed. 69370 * platform/graphics/svg/filters/cg/WKNormalMapFilter.m: Removed. 69371 * platform/graphics/svg/filters/cg/WKPointLightFilter.cikernel: Removed. 69372 * platform/graphics/svg/filters/cg/WKPointLightFilter.h: Removed. 69373 * platform/graphics/svg/filters/cg/WKPointLightFilter.m: Removed. 69374 * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.cikernel: Removed. 69375 * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.h: Removed. 69376 * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.m: Removed. 69377 * platform/graphics/svg/filters/cg/WKSpotLightFilter.cikernel: Removed. 69378 * platform/graphics/svg/filters/cg/WKSpotLightFilter.h: Removed. 69379 * platform/graphics/svg/filters/cg/WKSpotLightFilter.m: Removed. 69380 * platform/graphics/svg/filters/cg/WKTableTransferFilter.cikernel: Removed. 69381 * platform/graphics/svg/filters/cg/WKTableTransferFilter.h: Removed. 69382 * platform/graphics/svg/filters/cg/WKTableTransferFilter.m: Removed. 69383 * platform/graphics/svg/mac: Removed. 69384 * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Removed. 69385 * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Removed. 69386 * platform/graphics/svg/qt: Removed. 69387 * platform/graphics/svg/qt/RenderPathQt.cpp: Removed. 69388 * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Removed. 69389 * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Removed. 69390 * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Removed. 69391 * platform/graphics/svg/qt/SVGPaintServerQt.cpp: Removed. 69392 * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Removed. 69393 * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Removed. 69394 * platform/graphics/svg/qt/SVGResourceClipperQt.cpp: Removed. 69395 * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Removed. 69396 * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: Removed. 69397 * svg/graphics: Copied from platform/graphics/svg. 69398 69399 2007-12-02 Nikolas Zimmermann <zimmermann (a] kde.org> 69400 69401 Reviewed by Maciej. 69402 69403 Fix IDL lookup in subdirectories. Missing 'my' prefix for the 'thisDir' variable. 69404 When entering subdirectories the 'thisDir' variable got altered - see snippet: 69405 69406 THISDIR: WebCore/page FOUND FILE: FrameView.h (endCondition: 0) 69407 .. 69408 -> ENTER: WebCore/page/gtk (THIS DIR: WebCore/page) 69409 ... 69410 <- LEAVE: WebCore/page/gtk (THIS DIR: WebCore/page/gtk) 69411 THISDIR: WebCore/page/gtk FOUND FILE: History.cpp (endCondition: 0) 69412 69413 'History.cpp' is located in WebCore/page not WebCore/page/gtk. 69414 69415 * bindings/scripts/CodeGenerator.pm: 69416 69417 2007-12-01 Alp Toker <alp (a] atoker.com> 69418 69419 Reviewed by Adam Roben. 69420 69421 Add the newly introduced webkit.h convenience header. 69422 69423 * WebCore.pro: 69424 69425 2007-12-01 Antti Koivisto <antti (a] apple.com> 69426 69427 Reviewed by Adam. 69428 69429 - Fix crash when removing a loading media element from the tree. 69430 - Follow the spec by invoking pause() when element is removed from the tree instead of unloading. 69431 69432 Tests: http/tests/media/remove-while-loading.html 69433 media/remove-from-document.html 69434 69435 * html/HTMLMediaElement.cpp: 69436 (WebCore::HTMLMediaElement::removedFromDocument): 69437 69438 2007-12-01 Geoffrey Garen <ggaren (a] apple.com> 69439 69440 Reviewed by Beth Dakin. 69441 69442 Restored the test string in this test. 69443 69444 * manual-tests/window-open-features-parsing.html: 69445 69446 2007-11-30 Geoffrey Garen <ggaren (a] apple.com> 69447 69448 Reviewed by Beth Dakin. 69449 69450 Modified WebCore to follow the new JSGlobalObject/Interpreter ownership 69451 rules in JavaScriptCore. 69452 69453 * bindings/js/kjs_binding.cpp: 69454 * bindings/js/kjs_binding.h: Removed stale, unused 69455 interpreterForGlobalObject(). 69456 69457 * bindings/js/kjs_proxy.cpp: Changed to store a global object, rather 69458 than an interpreter. 69459 (WebCore::KJSProxy::finishedWithEvent): Need to NULL check 69460 m_globalObject here because we no longer unnecessarily instantiate it. 69461 69462 * bindings/js/kjs_window.cpp: 69463 (KJS::ScheduledAction::execute): 69464 * bindings/js/kjs_window.h: Removed redundant and less efficient 69465 interpreter() function -- global objects have direct access to their 69466 interpreters now. 69467 69468 Changed these functions to pass around JSGlobalObjects instead of 69469 Interpreters: 69470 69471 * page/Frame.cpp: 69472 (WebCore::Frame::bindingRootObject): 69473 (WebCore::Frame::createRootObject): 69474 * page/Frame.h: 69475 * page/mac/WebCoreFrameBridge.mm: 69476 (createRootObject): 69477 69478 2007-12-01 Darin Adler <darin (a] apple.com> 69479 69480 Reviewed by Mitz. 69481 69482 - fix problem tracked by these bugs: 69483 http://bugs.webkit.org/show_bug.cgi?id=16097 69484 <rdar://problem/5619305> Safari crashes during load of LexisNexis search results 69485 <rdar://problem/5510779> CrashTracer: [USER] 25 crashes in Safari at 69486 WebCore::DocumentLoader::isLoadingMultipartContent const 69487 69488 * loader/ImageDocument.cpp: 69489 (WebCore::ImageDocument::createDocumentStructure): Create an ImageDocumentElement 69490 instead of an HTMLImageElement. 69491 (WebCore::ImageDocument::scale): Added a null check for m_imageElement. 69492 (WebCore::ImageDocument::resizeImageToFit): Ditto. 69493 (WebCore::ImageDocument::restoreImageSize): Ditto. 69494 (WebCore::ImageDocument::imageFitsInWindow): Ditto. 69495 (WebCore::ImageDocument::windowSizeChanged): Ditto. 69496 (WebCore::ImageDocumentElement::~ImageDocumentElement): Call 69497 disconnectImageElement so m_imageElement will be set to 0 69498 if we're still connected to the document. 69499 (WebCore::ImageDocumentElement::willMoveToNewOwnerDocument): Ditto. 69500 69501 * loader/ImageDocument.h: Changed image element type to be 69502 ImageDocumentElement instead of HTMLImageElement. Also added 69503 a disconnectImageElement function that sets m_imageElement to 0. 69504 69505 2007-12-01 Darin Adler <darin (a] apple.com> 69506 69507 - remove the empty directories 69508 69509 * ksvg2: Removed. 69510 * ksvg2/css: Removed. 69511 * ksvg2/events: Removed. 69512 * ksvg2/misc: Removed. 69513 * ksvg2/scripts: Removed. 69514 69515 2007-12-01 Julien Chaffraix <julien.chaffraix (a] gmail.com> 69516 69517 Bug 16189: XMLHttpRequest::setRequestHeader() should not set certain headers 69518 69519 Reviewed by Darin Adler. 69520 69521 * xml/XMLHttpRequest.cpp: 69522 (WebCore::canSetRequestHeader): 69523 69524 Test: http/tests/xmlhttprequest/set-dangerous-headers.html 69525 69526 2007-12-01 Rahul Abrol <ra5ul (a] comcast.net> 69527 69528 Reviewed by Adam Roben. 69529 69530 http://bugs.webkit.org/show_bug.cgi?id=16128 69531 Ignore resizable=no for window.open(). 69532 69533 * bindings/js/kjs_window.cpp: 69534 (KJS::setWindowFeature): 69535 (KJS::parseWindowFeatures): 69536 * manual-tests/window-open-features-parsing.html: 69537 69538 2007-12-01 Dan Bernstein <mitz (a] apple.com> 69539 69540 Reviewed by Darin Adler. 69541 69542 - fix <rdar://problem/5619240> REGRESSION (Leopard-r28069): Reproducible crash with a Mootools-based calendar picker (jump to null in FrameView::layout) 69543 69544 Test: fast/dynamic/subtree-common-root.html 69545 69546 * page/FrameView.cpp: 69547 (WebCore::FrameView::layoutRoot): Added a parameter to let this method 69548 return the layout root for a pending layout as well. 69549 (WebCore::FrameView::scheduleRelayoutOfSubtree): Pass the new root 69550 to markContainingBlocksForLayout(). Otherwise, 69551 markContainingBlocksForLayout() could mark past the new root, if it had 69552 previously been marked as having a normal child needing layout and then 69553 was reached via a positioned child. 69554 * page/FrameView.h: 69555 * rendering/RenderBox.cpp: 69556 (WebCore::RenderBox::calcWidth): 69557 * rendering/RenderObject.cpp: 69558 (WebCore::RenderObject::~RenderObject): Fixed the ASSERT so that 69559 it would really catch deletion of the layout root. 69560 (WebCore::RenderObject::markContainingBlocksForLayout): Added the 69561 newRoot parameter, which tells this method where to stop marking. 69562 * rendering/RenderObject.h: 69563 69564 2007-12-01 Dan Bernstein <mitz (a] apple.com> 69565 69566 Reviewed by Darin Adler. 69567 69568 - fold FontStyle into TextRun 69569 69570 * WebCore.xcodeproj/project.pbxproj: 69571 * platform/graphics/Font.cpp: 69572 (WebCore::WidthIterator::WidthIterator): 69573 (WebCore::WidthIterator::advance): 69574 (WebCore::Font::width): 69575 (WebCore::Font::drawSimpleText): 69576 (WebCore::Font::drawGlyphBuffer): 69577 (WebCore::Font::drawText): 69578 (WebCore::Font::floatWidth): 69579 (WebCore::Font::floatWidthForSimpleText): 69580 (WebCore::Font::selectionRectForText): 69581 (WebCore::Font::selectionRectForSimpleText): 69582 (WebCore::Font::offsetForPosition): 69583 (WebCore::Font::offsetForPositionForSimpleText): 69584 * platform/graphics/Font.h: 69585 (WebCore::TextRun::TextRun): 69586 (WebCore::TextRun::setText): 69587 (WebCore::TextRun::allowTabs): 69588 (WebCore::TextRun::xPos): 69589 (WebCore::TextRun::padding): 69590 (WebCore::TextRun::rtl): 69591 (WebCore::TextRun::ltr): 69592 (WebCore::TextRun::directionalOverride): 69593 (WebCore::TextRun::applyRunRounding): 69594 (WebCore::TextRun::applyWordRounding): 69595 (WebCore::TextRun::spacingDisabled): 69596 (WebCore::TextRun::disableSpacing): 69597 (WebCore::TextRun::disableRoundingHacks): 69598 (WebCore::TextRun::setRTL): 69599 (WebCore::TextRun::setDirectionalOverride): 69600 * platform/graphics/FontStyle.h: Removed. 69601 * platform/graphics/GraphicsContext.cpp: 69602 (WebCore::GraphicsContext::drawText): 69603 (WebCore::GraphicsContext::drawBidiText): 69604 (WebCore::GraphicsContext::drawHighlightForText): 69605 * platform/graphics/GraphicsContext.h: 69606 * platform/graphics/StringTruncator.cpp: 69607 (WebCore::stringWidth): 69608 * platform/graphics/gtk/FontGtk.cpp: 69609 (WebCore::Font::drawComplexText): 69610 (WebCore::Font::floatWidthForComplexText): 69611 (WebCore::Font::offsetForPositionForComplexText): 69612 (WebCore::Font::selectionRectForComplexText): 69613 * platform/graphics/mac/FontMac.mm: 69614 (WebCore::ATSULayoutParameters::ATSULayoutParameters): 69615 (WebCore::addDirectionalOverride): 69616 (WebCore::overrideLayoutOperation): 69617 (WebCore::ATSULayoutParameters::initialize): 69618 (WebCore::Font::selectionRectForComplexText): 69619 (WebCore::Font::drawComplexText): 69620 (WebCore::Font::floatWidthForComplexText): 69621 (WebCore::Font::offsetForPositionForComplexText): 69622 * platform/graphics/qt/FontQt.cpp: 69623 (WebCore::generateComponents): 69624 (WebCore::Font::drawText): 69625 (WebCore::Font::width): 69626 (WebCore::Font::offsetForPosition): 69627 (WebCore::cursorToX): 69628 (WebCore::Font::selectionRectForText): 69629 * platform/graphics/win/FontWin.cpp: 69630 (WebCore::Font::selectionRectForComplexText): 69631 (WebCore::Font::drawComplexText): 69632 (WebCore::Font::floatWidthForComplexText): 69633 (WebCore::Font::offsetForPositionForComplexText): 69634 * platform/graphics/wx/FontWx.cpp: 69635 (WebCore::Font::selectionRectForComplexText): 69636 (WebCore::Font::drawComplexText): 69637 (WebCore::Font::floatWidthForComplexText): 69638 (WebCore::Font::offsetForPositionForComplexText): 69639 * platform/mac/WebCoreTextRenderer.mm: 69640 (WebCoreDrawTextAtPoint): 69641 (WebCoreTextFloatWidth): 69642 * platform/win/PopupMenuWin.cpp: 69643 (WebCore::PopupMenu::paint): 69644 * platform/win/UniscribeController.cpp: 69645 (WebCore::UniscribeController::UniscribeController): 69646 (WebCore::UniscribeController::offsetForPosition): 69647 (WebCore::UniscribeController::advance): 69648 (WebCore::UniscribeController::itemizeShapeAndPlace): 69649 (WebCore::UniscribeController::resetControlAndState): 69650 (WebCore::UniscribeController::shapeAndPlaceItem): 69651 * platform/win/UniscribeController.h: 69652 * platform/win/WebCoreTextRenderer.cpp: 69653 (WebCore::doDrawTextAtPoint): 69654 * rendering/EllipsisBox.cpp: 69655 (WebCore::EllipsisBox::paint): 69656 * rendering/InlineTextBox.cpp: 69657 (WebCore::InlineTextBox::selectionRect): 69658 (WebCore::InlineTextBox::paint): 69659 (WebCore::InlineTextBox::paintSelection): 69660 (WebCore::InlineTextBox::paintCompositionBackground): 69661 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 69662 (WebCore::InlineTextBox::paintTextMatchMarker): 69663 (WebCore::InlineTextBox::offsetForPosition): 69664 (WebCore::InlineTextBox::positionForOffset): 69665 * rendering/RenderFileUploadControl.cpp: 69666 (WebCore::RenderFileUploadControl::paintObject): 69667 (WebCore::RenderFileUploadControl::calcPrefWidths): 69668 * rendering/RenderImage.cpp: 69669 * rendering/RenderListBox.cpp: 69670 (WebCore::RenderListBox::updateFromElement): 69671 (WebCore::RenderListBox::paintItemForeground): 69672 * rendering/RenderMenuList.cpp: 69673 (WebCore::RenderMenuList::updateOptionsWidth): 69674 * rendering/RenderText.cpp: 69675 (WebCore::RenderText::widthFromCache): 69676 (WebCore::RenderText::calcPrefWidths): 69677 (WebCore::RenderText::width): 69678 * rendering/RenderText.h: 69679 (WebCore::RenderText::allowTabs): 69680 * rendering/RenderTextControl.cpp: 69681 (WebCore::RenderTextControl::calcPrefWidths): 69682 * rendering/SVGInlineTextBox.cpp: 69683 (WebCore::SVGInlineTextBox::calculateGlyphWidth): 69684 (WebCore::SVGInlineTextBox::paintCharacters): 69685 (WebCore::SVGInlineTextBox::paintSelection): 69686 * rendering/SVGRootInlineBox.cpp: 69687 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): 69688 (WebCore::cummulatedWidthOfInlineBoxCharacterRange): 69689 (WebCore::svgTextRunForInlineTextBox): 69690 * rendering/SVGRootInlineBox.h: 69691 69692 2007-12-01 Adam Treat <treat (a] kde.org> 69693 69694 Reviewed by Simon. 69695 69696 * Don't hide symbols when in Debug mode 69697 * On Linux (glibc) provide a backtrace in the test output for debugging purposes 69698 69699 * WebCore.pro: 69700 69701 2007-11-30 Alp Toker <alp (a] atoker.com> 69702 69703 Reviewed by Adam Roben. 69704 69705 http://bugs.webkit.org/show_bug.cgi?id=15691 69706 [GTK] Public API does not follow GTK+ conventions 69707 69708 Refactor the WebKit/GTK+ public API. Changes: 69709 WebKitPage -> WebKitWebView 69710 WebKitFrame -> WebKitWebFrame 69711 69712 Public API source and header names have been updated to mirror the API 69713 changes. 69714 69715 The API is now kept in WebKit/gtk/WebView to match other ports in the 69716 same class such as Mac and Win. 69717 69718 * WebCore.pro: 69719 69720 2007-11-30 Anders Carlsson <andersca (a] apple.com> 69721 69722 Add platform/text project group. 69723 69724 * WebCore.vcproj/WebCore.vcproj: 69725 69726 2007-11-30 Anders Carlsson <andersca (a] apple.com> 69727 69728 Remove extra </Filter> tag which prevented the vcproj from being parsed correctly. 69729 69730 * WebCore.vcproj/WebCore.vcproj: 69731 69732 2007-11-30 Nikolas Zimmermann <zimmermann (a] kde.org> 69733 69734 Not reviewed. Try to fix qt/gtk build. 69735 69736 * WebCore.pro: 69737 69738 2007-11-30 Nikolas Zimmermann <zimmermann (a] kde.org> 69739 69740 Rubber stamped by Eric. 69741 69742 Final integration of ksvg2 in WebKit. Moving ksvg2/ to svg/ and killing all it's subdirectories, 69743 by moving the files into approriate locations (css, rendering, ...) - as dicsussed on the 69744 mailing list and on IRC with David/Darin & Eric. 69745 69746 Updated all build files - though I can't guarantee it builds on non-mac. Need buildbot to verify. 69747 69748 * DerivedSources.make: 69749 * WebCore.pro: 69750 * WebCore.vcproj/WebCore.vcproj: 69751 * WebCore.xcodeproj/project.pbxproj: 69752 * bindings/js/JSSVGLazyEventListener.cpp: Copied from ksvg2/events/JSSVGLazyEventListener.cpp. 69753 * bindings/js/JSSVGLazyEventListener.h: Copied from ksvg2/events/JSSVGLazyEventListener.h. 69754 * css/SVGCSSComputedStyleDeclaration.cpp: Copied from ksvg2/css/SVGCSSComputedStyleDeclaration.cpp. 69755 * css/SVGCSSParser.cpp: Copied from ksvg2/css/SVGCSSParser.cpp. 69756 * css/SVGCSSPropertyNames.in: Copied from ksvg2/css/SVGCSSPropertyNames.in. 69757 * css/SVGCSSStyleSelector.cpp: Copied from ksvg2/css/SVGCSSStyleSelector.cpp. 69758 * css/SVGCSSValueKeywords.in: Copied from ksvg2/css/SVGCSSValueKeywords.in. 69759 * dom/make_names.pl: Copied from ksvg2/scripts/make_names.pl. 69760 * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp: Removed. 69761 * ksvg2/css/SVGCSSParser.cpp: Removed. 69762 * ksvg2/css/SVGCSSPropertyNames.in: Removed. 69763 * ksvg2/css/SVGCSSStyleSelector.cpp: Removed. 69764 * ksvg2/css/SVGCSSValueKeywords.in: Removed. 69765 * ksvg2/css/SVGRenderStyle.cpp: Removed. 69766 * ksvg2/css/SVGRenderStyle.h: Removed. 69767 * ksvg2/css/SVGRenderStyleDefs.cpp: Removed. 69768 * ksvg2/css/SVGRenderStyleDefs.h: Removed. 69769 * ksvg2/events/JSSVGLazyEventListener.cpp: Removed. 69770 * ksvg2/events/JSSVGLazyEventListener.h: Removed. 69771 * ksvg2/events/SVGZoomEvent.cpp: Removed. 69772 * ksvg2/events/SVGZoomEvent.h: Removed. 69773 * ksvg2/events/SVGZoomEvent.idl: Removed. 69774 * ksvg2/misc/PointerEventsHitRules.cpp: Removed. 69775 * ksvg2/misc/PointerEventsHitRules.h: Removed. 69776 * ksvg2/misc/SVGDocumentExtensions.cpp: Removed. 69777 * ksvg2/misc/SVGDocumentExtensions.h: Removed. 69778 * ksvg2/misc/SVGImageLoader.cpp: Removed. 69779 * ksvg2/misc/SVGImageLoader.h: Removed. 69780 * ksvg2/misc/SVGTimer.cpp: Removed. 69781 * ksvg2/misc/SVGTimer.h: Removed. 69782 * ksvg2/misc/TimeScheduler.cpp: Removed. 69783 * ksvg2/misc/TimeScheduler.h: Removed. 69784 * ksvg2/misc/xlinkattrs.in: Removed. 69785 * ksvg2/scripts/make_names.pl: Removed. 69786 * ksvg2/svg: Removed. 69787 * ksvg2/svg/ColorDistance.cpp: Removed. 69788 * ksvg2/svg/ColorDistance.h: Removed. 69789 * ksvg2/svg/GradientAttributes.h: Removed. 69790 * ksvg2/svg/LinearGradientAttributes.h: Removed. 69791 * ksvg2/svg/PatternAttributes.h: Removed. 69792 * ksvg2/svg/RadialGradientAttributes.h: Removed. 69793 * ksvg2/svg/SVGAElement.cpp: Removed. 69794 * ksvg2/svg/SVGAElement.h: Removed. 69795 * ksvg2/svg/SVGAElement.idl: Removed. 69796 * ksvg2/svg/SVGAngle.cpp: Removed. 69797 * ksvg2/svg/SVGAngle.h: Removed. 69798 * ksvg2/svg/SVGAngle.idl: Removed. 69799 * ksvg2/svg/SVGAnimateColorElement.cpp: Removed. 69800 * ksvg2/svg/SVGAnimateColorElement.h: Removed. 69801 * ksvg2/svg/SVGAnimateColorElement.idl: Removed. 69802 * ksvg2/svg/SVGAnimateElement.cpp: Removed. 69803 * ksvg2/svg/SVGAnimateElement.h: Removed. 69804 * ksvg2/svg/SVGAnimateElement.idl: Removed. 69805 * ksvg2/svg/SVGAnimateMotionElement.cpp: Removed. 69806 * ksvg2/svg/SVGAnimateMotionElement.h: Removed. 69807 * ksvg2/svg/SVGAnimateTransformElement.cpp: Removed. 69808 * ksvg2/svg/SVGAnimateTransformElement.h: Removed. 69809 * ksvg2/svg/SVGAnimateTransformElement.idl: Removed. 69810 * ksvg2/svg/SVGAnimatedAngle.idl: Removed. 69811 * ksvg2/svg/SVGAnimatedBoolean.idl: Removed. 69812 * ksvg2/svg/SVGAnimatedEnumeration.idl: Removed. 69813 * ksvg2/svg/SVGAnimatedInteger.idl: Removed. 69814 * ksvg2/svg/SVGAnimatedLength.idl: Removed. 69815 * ksvg2/svg/SVGAnimatedLengthList.idl: Removed. 69816 * ksvg2/svg/SVGAnimatedNumber.idl: Removed. 69817 * ksvg2/svg/SVGAnimatedNumberList.idl: Removed. 69818 * ksvg2/svg/SVGAnimatedPathData.cpp: Removed. 69819 * ksvg2/svg/SVGAnimatedPathData.h: Removed. 69820 * ksvg2/svg/SVGAnimatedPathData.idl: Removed. 69821 * ksvg2/svg/SVGAnimatedPoints.cpp: Removed. 69822 * ksvg2/svg/SVGAnimatedPoints.h: Removed. 69823 * ksvg2/svg/SVGAnimatedPoints.idl: Removed. 69824 * ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl: Removed. 69825 * ksvg2/svg/SVGAnimatedRect.idl: Removed. 69826 * ksvg2/svg/SVGAnimatedString.idl: Removed. 69827 * ksvg2/svg/SVGAnimatedTemplate.h: Removed. 69828 * ksvg2/svg/SVGAnimatedTransformList.idl: Removed. 69829 * ksvg2/svg/SVGAnimationElement.cpp: Removed. 69830 * ksvg2/svg/SVGAnimationElement.h: Removed. 69831 * ksvg2/svg/SVGAnimationElement.idl: Removed. 69832 * ksvg2/svg/SVGCircleElement.cpp: Removed. 69833 * ksvg2/svg/SVGCircleElement.h: Removed. 69834 * ksvg2/svg/SVGCircleElement.idl: Removed. 69835 * ksvg2/svg/SVGClipPathElement.cpp: Removed. 69836 * ksvg2/svg/SVGClipPathElement.h: Removed. 69837 * ksvg2/svg/SVGClipPathElement.idl: Removed. 69838 * ksvg2/svg/SVGColor.cpp: Removed. 69839 * ksvg2/svg/SVGColor.h: Removed. 69840 * ksvg2/svg/SVGColor.idl: Removed. 69841 * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: Removed. 69842 * ksvg2/svg/SVGComponentTransferFunctionElement.h: Removed. 69843 * ksvg2/svg/SVGComponentTransferFunctionElement.idl: Removed. 69844 * ksvg2/svg/SVGCursorElement.cpp: Removed. 69845 * ksvg2/svg/SVGCursorElement.h: Removed. 69846 * ksvg2/svg/SVGCursorElement.idl: Removed. 69847 * ksvg2/svg/SVGDefinitionSrcElement.cpp: Removed. 69848 * ksvg2/svg/SVGDefinitionSrcElement.h: Removed. 69849 * ksvg2/svg/SVGDefinitionSrcElement.idl: Removed. 69850 * ksvg2/svg/SVGDefsElement.cpp: Removed. 69851 * ksvg2/svg/SVGDefsElement.h: Removed. 69852 * ksvg2/svg/SVGDefsElement.idl: Removed. 69853 * ksvg2/svg/SVGDescElement.cpp: Removed. 69854 * ksvg2/svg/SVGDescElement.h: Removed. 69855 * ksvg2/svg/SVGDescElement.idl: Removed. 69856 * ksvg2/svg/SVGDocument.cpp: Removed. 69857 * ksvg2/svg/SVGDocument.h: Removed. 69858 * ksvg2/svg/SVGDocument.idl: Removed. 69859 * ksvg2/svg/SVGElement.cpp: Removed. 69860 * ksvg2/svg/SVGElement.h: Removed. 69861 * ksvg2/svg/SVGElement.idl: Removed. 69862 * ksvg2/svg/SVGElementInstance.cpp: Removed. 69863 * ksvg2/svg/SVGElementInstance.h: Removed. 69864 * ksvg2/svg/SVGElementInstance.idl: Removed. 69865 * ksvg2/svg/SVGElementInstanceList.cpp: Removed. 69866 * ksvg2/svg/SVGElementInstanceList.h: Removed. 69867 * ksvg2/svg/SVGElementInstanceList.idl: Removed. 69868 * ksvg2/svg/SVGEllipseElement.cpp: Removed. 69869 * ksvg2/svg/SVGEllipseElement.h: Removed. 69870 * ksvg2/svg/SVGEllipseElement.idl: Removed. 69871 * ksvg2/svg/SVGException.h: Removed. 69872 * ksvg2/svg/SVGException.idl: Removed. 69873 * ksvg2/svg/SVGExternalResourcesRequired.cpp: Removed. 69874 * ksvg2/svg/SVGExternalResourcesRequired.h: Removed. 69875 * ksvg2/svg/SVGExternalResourcesRequired.idl: Removed. 69876 * ksvg2/svg/SVGFEBlendElement.cpp: Removed. 69877 * ksvg2/svg/SVGFEBlendElement.h: Removed. 69878 * ksvg2/svg/SVGFEBlendElement.idl: Removed. 69879 * ksvg2/svg/SVGFEColorMatrixElement.cpp: Removed. 69880 * ksvg2/svg/SVGFEColorMatrixElement.h: Removed. 69881 * ksvg2/svg/SVGFEColorMatrixElement.idl: Removed. 69882 * ksvg2/svg/SVGFEComponentTransferElement.cpp: Removed. 69883 * ksvg2/svg/SVGFEComponentTransferElement.h: Removed. 69884 * ksvg2/svg/SVGFEComponentTransferElement.idl: Removed. 69885 * ksvg2/svg/SVGFECompositeElement.cpp: Removed. 69886 * ksvg2/svg/SVGFECompositeElement.h: Removed. 69887 * ksvg2/svg/SVGFECompositeElement.idl: Removed. 69888 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: Removed. 69889 * ksvg2/svg/SVGFEDiffuseLightingElement.h: Removed. 69890 * ksvg2/svg/SVGFEDiffuseLightingElement.idl: Removed. 69891 * ksvg2/svg/SVGFEDisplacementMapElement.cpp: Removed. 69892 * ksvg2/svg/SVGFEDisplacementMapElement.h: Removed. 69893 * ksvg2/svg/SVGFEDisplacementMapElement.idl: Removed. 69894 * ksvg2/svg/SVGFEDistantLightElement.cpp: Removed. 69895 * ksvg2/svg/SVGFEDistantLightElement.h: Removed. 69896 * ksvg2/svg/SVGFEDistantLightElement.idl: Removed. 69897 * ksvg2/svg/SVGFEFloodElement.cpp: Removed. 69898 * ksvg2/svg/SVGFEFloodElement.h: Removed. 69899 * ksvg2/svg/SVGFEFloodElement.idl: Removed. 69900 * ksvg2/svg/SVGFEFuncAElement.cpp: Removed. 69901 * ksvg2/svg/SVGFEFuncAElement.h: Removed. 69902 * ksvg2/svg/SVGFEFuncAElement.idl: Removed. 69903 * ksvg2/svg/SVGFEFuncBElement.cpp: Removed. 69904 * ksvg2/svg/SVGFEFuncBElement.h: Removed. 69905 * ksvg2/svg/SVGFEFuncBElement.idl: Removed. 69906 * ksvg2/svg/SVGFEFuncGElement.cpp: Removed. 69907 * ksvg2/svg/SVGFEFuncGElement.h: Removed. 69908 * ksvg2/svg/SVGFEFuncGElement.idl: Removed. 69909 * ksvg2/svg/SVGFEFuncRElement.cpp: Removed. 69910 * ksvg2/svg/SVGFEFuncRElement.h: Removed. 69911 * ksvg2/svg/SVGFEFuncRElement.idl: Removed. 69912 * ksvg2/svg/SVGFEGaussianBlurElement.cpp: Removed. 69913 * ksvg2/svg/SVGFEGaussianBlurElement.h: Removed. 69914 * ksvg2/svg/SVGFEGaussianBlurElement.idl: Removed. 69915 * ksvg2/svg/SVGFEImageElement.cpp: Removed. 69916 * ksvg2/svg/SVGFEImageElement.h: Removed. 69917 * ksvg2/svg/SVGFEImageElement.idl: Removed. 69918 * ksvg2/svg/SVGFELightElement.cpp: Removed. 69919 * ksvg2/svg/SVGFELightElement.h: Removed. 69920 * ksvg2/svg/SVGFEMergeElement.cpp: Removed. 69921 * ksvg2/svg/SVGFEMergeElement.h: Removed. 69922 * ksvg2/svg/SVGFEMergeElement.idl: Removed. 69923 * ksvg2/svg/SVGFEMergeNodeElement.cpp: Removed. 69924 * ksvg2/svg/SVGFEMergeNodeElement.h: Removed. 69925 * ksvg2/svg/SVGFEMergeNodeElement.idl: Removed. 69926 * ksvg2/svg/SVGFEOffsetElement.cpp: Removed. 69927 * ksvg2/svg/SVGFEOffsetElement.h: Removed. 69928 * ksvg2/svg/SVGFEOffsetElement.idl: Removed. 69929 * ksvg2/svg/SVGFEPointLightElement.cpp: Removed. 69930 * ksvg2/svg/SVGFEPointLightElement.h: Removed. 69931 * ksvg2/svg/SVGFEPointLightElement.idl: Removed. 69932 * ksvg2/svg/SVGFESpecularLightingElement.cpp: Removed. 69933 * ksvg2/svg/SVGFESpecularLightingElement.h: Removed. 69934 * ksvg2/svg/SVGFESpecularLightingElement.idl: Removed. 69935 * ksvg2/svg/SVGFESpotLightElement.cpp: Removed. 69936 * ksvg2/svg/SVGFESpotLightElement.h: Removed. 69937 * ksvg2/svg/SVGFESpotLightElement.idl: Removed. 69938 * ksvg2/svg/SVGFETileElement.cpp: Removed. 69939 * ksvg2/svg/SVGFETileElement.h: Removed. 69940 * ksvg2/svg/SVGFETileElement.idl: Removed. 69941 * ksvg2/svg/SVGFETurbulenceElement.cpp: Removed. 69942 * ksvg2/svg/SVGFETurbulenceElement.h: Removed. 69943 * ksvg2/svg/SVGFETurbulenceElement.idl: Removed. 69944 * ksvg2/svg/SVGFilterElement.cpp: Removed. 69945 * ksvg2/svg/SVGFilterElement.h: Removed. 69946 * ksvg2/svg/SVGFilterElement.idl: Removed. 69947 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: Removed. 69948 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: Removed. 69949 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl: Removed. 69950 * ksvg2/svg/SVGFitToViewBox.cpp: Removed. 69951 * ksvg2/svg/SVGFitToViewBox.h: Removed. 69952 * ksvg2/svg/SVGFitToViewBox.idl: Removed. 69953 * ksvg2/svg/SVGFontFaceElement.cpp: Removed. 69954 * ksvg2/svg/SVGFontFaceElement.h: Removed. 69955 * ksvg2/svg/SVGFontFaceElement.idl: Removed. 69956 * ksvg2/svg/SVGFontFaceFormatElement.cpp: Removed. 69957 * ksvg2/svg/SVGFontFaceFormatElement.h: Removed. 69958 * ksvg2/svg/SVGFontFaceFormatElement.idl: Removed. 69959 * ksvg2/svg/SVGFontFaceNameElement.cpp: Removed. 69960 * ksvg2/svg/SVGFontFaceNameElement.h: Removed. 69961 * ksvg2/svg/SVGFontFaceNameElement.idl: Removed. 69962 * ksvg2/svg/SVGFontFaceSrcElement.cpp: Removed. 69963 * ksvg2/svg/SVGFontFaceSrcElement.h: Removed. 69964 * ksvg2/svg/SVGFontFaceSrcElement.idl: Removed. 69965 * ksvg2/svg/SVGFontFaceUriElement.cpp: Removed. 69966 * ksvg2/svg/SVGFontFaceUriElement.h: Removed. 69967 * ksvg2/svg/SVGFontFaceUriElement.idl: Removed. 69968 * ksvg2/svg/SVGForeignObjectElement.cpp: Removed. 69969 * ksvg2/svg/SVGForeignObjectElement.h: Removed. 69970 * ksvg2/svg/SVGForeignObjectElement.idl: Removed. 69971 * ksvg2/svg/SVGGElement.cpp: Removed. 69972 * ksvg2/svg/SVGGElement.h: Removed. 69973 * ksvg2/svg/SVGGElement.idl: Removed. 69974 * ksvg2/svg/SVGGradientElement.cpp: Removed. 69975 * ksvg2/svg/SVGGradientElement.h: Removed. 69976 * ksvg2/svg/SVGGradientElement.idl: Removed. 69977 * ksvg2/svg/SVGImageElement.cpp: Removed. 69978 * ksvg2/svg/SVGImageElement.h: Removed. 69979 * ksvg2/svg/SVGImageElement.idl: Removed. 69980 * ksvg2/svg/SVGLangSpace.cpp: Removed. 69981 * ksvg2/svg/SVGLangSpace.h: Removed. 69982 * ksvg2/svg/SVGLangSpace.idl: Removed. 69983 * ksvg2/svg/SVGLength.cpp: Removed. 69984 * ksvg2/svg/SVGLength.h: Removed. 69985 * ksvg2/svg/SVGLength.idl: Removed. 69986 * ksvg2/svg/SVGLengthList.cpp: Removed. 69987 * ksvg2/svg/SVGLengthList.h: Removed. 69988 * ksvg2/svg/SVGLengthList.idl: Removed. 69989 * ksvg2/svg/SVGLineElement.cpp: Removed. 69990 * ksvg2/svg/SVGLineElement.h: Removed. 69991 * ksvg2/svg/SVGLineElement.idl: Removed. 69992 * ksvg2/svg/SVGLinearGradientElement.cpp: Removed. 69993 * ksvg2/svg/SVGLinearGradientElement.h: Removed. 69994 * ksvg2/svg/SVGLinearGradientElement.idl: Removed. 69995 * ksvg2/svg/SVGList.h: Removed. 69996 * ksvg2/svg/SVGListTraits.h: Removed. 69997 * ksvg2/svg/SVGLocatable.cpp: Removed. 69998 * ksvg2/svg/SVGLocatable.h: Removed. 69999 * ksvg2/svg/SVGLocatable.idl: Removed. 70000 * ksvg2/svg/SVGMPathElement.cpp: Removed. 70001 * ksvg2/svg/SVGMPathElement.h: Removed. 70002 * ksvg2/svg/SVGMarkerElement.cpp: Removed. 70003 * ksvg2/svg/SVGMarkerElement.h: Removed. 70004 * ksvg2/svg/SVGMarkerElement.idl: Removed. 70005 * ksvg2/svg/SVGMaskElement.cpp: Removed. 70006 * ksvg2/svg/SVGMaskElement.h: Removed. 70007 * ksvg2/svg/SVGMaskElement.idl: Removed. 70008 * ksvg2/svg/SVGMatrix.idl: Removed. 70009 * ksvg2/svg/SVGMetadataElement.cpp: Removed. 70010 * ksvg2/svg/SVGMetadataElement.h: Removed. 70011 * ksvg2/svg/SVGMetadataElement.idl: Removed. 70012 * ksvg2/svg/SVGNumber.idl: Removed. 70013 * ksvg2/svg/SVGNumberList.cpp: Removed. 70014 * ksvg2/svg/SVGNumberList.h: Removed. 70015 * ksvg2/svg/SVGNumberList.idl: Removed. 70016 * ksvg2/svg/SVGPaint.cpp: Removed. 70017 * ksvg2/svg/SVGPaint.h: Removed. 70018 * ksvg2/svg/SVGPaint.idl: Removed. 70019 * ksvg2/svg/SVGParserUtilities.cpp: Removed. 70020 * ksvg2/svg/SVGParserUtilities.h: Removed. 70021 * ksvg2/svg/SVGPathElement.cpp: Removed. 70022 * ksvg2/svg/SVGPathElement.h: Removed. 70023 * ksvg2/svg/SVGPathElement.idl: Removed. 70024 * ksvg2/svg/SVGPathSeg.h: Removed. 70025 * ksvg2/svg/SVGPathSeg.idl: Removed. 70026 * ksvg2/svg/SVGPathSegArc.cpp: Removed. 70027 * ksvg2/svg/SVGPathSegArc.h: Removed. 70028 * ksvg2/svg/SVGPathSegArcAbs.idl: Removed. 70029 * ksvg2/svg/SVGPathSegArcRel.idl: Removed. 70030 * ksvg2/svg/SVGPathSegClosePath.cpp: Removed. 70031 * ksvg2/svg/SVGPathSegClosePath.h: Removed. 70032 * ksvg2/svg/SVGPathSegClosePath.idl: Removed. 70033 * ksvg2/svg/SVGPathSegCurvetoCubic.cpp: Removed. 70034 * ksvg2/svg/SVGPathSegCurvetoCubic.h: Removed. 70035 * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Removed. 70036 * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Removed. 70037 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed. 70038 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h: Removed. 70039 * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Removed. 70040 * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Removed. 70041 * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp: Removed. 70042 * ksvg2/svg/SVGPathSegCurvetoQuadratic.h: Removed. 70043 * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Removed. 70044 * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Removed. 70045 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed. 70046 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h: Removed. 70047 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Removed. 70048 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Removed. 70049 * ksvg2/svg/SVGPathSegLineto.cpp: Removed. 70050 * ksvg2/svg/SVGPathSegLineto.h: Removed. 70051 * ksvg2/svg/SVGPathSegLinetoAbs.idl: Removed. 70052 * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp: Removed. 70053 * ksvg2/svg/SVGPathSegLinetoHorizontal.h: Removed. 70054 * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Removed. 70055 * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Removed. 70056 * ksvg2/svg/SVGPathSegLinetoRel.idl: Removed. 70057 * ksvg2/svg/SVGPathSegLinetoVertical.cpp: Removed. 70058 * ksvg2/svg/SVGPathSegLinetoVertical.h: Removed. 70059 * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Removed. 70060 * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Removed. 70061 * ksvg2/svg/SVGPathSegList.cpp: Removed. 70062 * ksvg2/svg/SVGPathSegList.h: Removed. 70063 * ksvg2/svg/SVGPathSegList.idl: Removed. 70064 * ksvg2/svg/SVGPathSegMoveto.cpp: Removed. 70065 * ksvg2/svg/SVGPathSegMoveto.h: Removed. 70066 * ksvg2/svg/SVGPathSegMovetoAbs.idl: Removed. 70067 * ksvg2/svg/SVGPathSegMovetoRel.idl: Removed. 70068 * ksvg2/svg/SVGPatternElement.cpp: Removed. 70069 * ksvg2/svg/SVGPatternElement.h: Removed. 70070 * ksvg2/svg/SVGPatternElement.idl: Removed. 70071 * ksvg2/svg/SVGPoint.idl: Removed. 70072 * ksvg2/svg/SVGPointList.cpp: Removed. 70073 * ksvg2/svg/SVGPointList.h: Removed. 70074 * ksvg2/svg/SVGPointList.idl: Removed. 70075 * ksvg2/svg/SVGPolyElement.cpp: Removed. 70076 * ksvg2/svg/SVGPolyElement.h: Removed. 70077 * ksvg2/svg/SVGPolygonElement.cpp: Removed. 70078 * ksvg2/svg/SVGPolygonElement.h: Removed. 70079 * ksvg2/svg/SVGPolygonElement.idl: Removed. 70080 * ksvg2/svg/SVGPolylineElement.cpp: Removed. 70081 * ksvg2/svg/SVGPolylineElement.h: Removed. 70082 * ksvg2/svg/SVGPolylineElement.idl: Removed. 70083 * ksvg2/svg/SVGPreserveAspectRatio.cpp: Removed. 70084 * ksvg2/svg/SVGPreserveAspectRatio.h: Removed. 70085 * ksvg2/svg/SVGPreserveAspectRatio.idl: Removed. 70086 * ksvg2/svg/SVGRadialGradientElement.cpp: Removed. 70087 * ksvg2/svg/SVGRadialGradientElement.h: Removed. 70088 * ksvg2/svg/SVGRadialGradientElement.idl: Removed. 70089 * ksvg2/svg/SVGRect.idl: Removed. 70090 * ksvg2/svg/SVGRectElement.cpp: Removed. 70091 * ksvg2/svg/SVGRectElement.h: Removed. 70092 * ksvg2/svg/SVGRectElement.idl: Removed. 70093 * ksvg2/svg/SVGRenderingIntent.h: Removed. 70094 * ksvg2/svg/SVGRenderingIntent.idl: Removed. 70095 * ksvg2/svg/SVGSVGElement.cpp: Removed. 70096 * ksvg2/svg/SVGSVGElement.h: Removed. 70097 * ksvg2/svg/SVGSVGElement.idl: Removed. 70098 * ksvg2/svg/SVGScriptElement.cpp: Removed. 70099 * ksvg2/svg/SVGScriptElement.h: Removed. 70100 * ksvg2/svg/SVGScriptElement.idl: Removed. 70101 * ksvg2/svg/SVGSetElement.cpp: Removed. 70102 * ksvg2/svg/SVGSetElement.h: Removed. 70103 * ksvg2/svg/SVGSetElement.idl: Removed. 70104 * ksvg2/svg/SVGStopElement.cpp: Removed. 70105 * ksvg2/svg/SVGStopElement.h: Removed. 70106 * ksvg2/svg/SVGStopElement.idl: Removed. 70107 * ksvg2/svg/SVGStringList.cpp: Removed. 70108 * ksvg2/svg/SVGStringList.h: Removed. 70109 * ksvg2/svg/SVGStringList.idl: Removed. 70110 * ksvg2/svg/SVGStylable.cpp: Removed. 70111 * ksvg2/svg/SVGStylable.h: Removed. 70112 * ksvg2/svg/SVGStylable.idl: Removed. 70113 * ksvg2/svg/SVGStyleElement.cpp: Removed. 70114 * ksvg2/svg/SVGStyleElement.h: Removed. 70115 * ksvg2/svg/SVGStyleElement.idl: Removed. 70116 * ksvg2/svg/SVGStyledElement.cpp: Removed. 70117 * ksvg2/svg/SVGStyledElement.h: Removed. 70118 * ksvg2/svg/SVGStyledLocatableElement.cpp: Removed. 70119 * ksvg2/svg/SVGStyledLocatableElement.h: Removed. 70120 * ksvg2/svg/SVGStyledTransformableElement.cpp: Removed. 70121 * ksvg2/svg/SVGStyledTransformableElement.h: Removed. 70122 * ksvg2/svg/SVGSwitchElement.cpp: Removed. 70123 * ksvg2/svg/SVGSwitchElement.h: Removed. 70124 * ksvg2/svg/SVGSwitchElement.idl: Removed. 70125 * ksvg2/svg/SVGSymbolElement.cpp: Removed. 70126 * ksvg2/svg/SVGSymbolElement.h: Removed. 70127 * ksvg2/svg/SVGSymbolElement.idl: Removed. 70128 * ksvg2/svg/SVGTRefElement.cpp: Removed. 70129 * ksvg2/svg/SVGTRefElement.h: Removed. 70130 * ksvg2/svg/SVGTRefElement.idl: Removed. 70131 * ksvg2/svg/SVGTSpanElement.cpp: Removed. 70132 * ksvg2/svg/SVGTSpanElement.h: Removed. 70133 * ksvg2/svg/SVGTSpanElement.idl: Removed. 70134 * ksvg2/svg/SVGTests.cpp: Removed. 70135 * ksvg2/svg/SVGTests.h: Removed. 70136 * ksvg2/svg/SVGTests.idl: Removed. 70137 * ksvg2/svg/SVGTextContentElement.cpp: Removed. 70138 * ksvg2/svg/SVGTextContentElement.h: Removed. 70139 * ksvg2/svg/SVGTextContentElement.idl: Removed. 70140 * ksvg2/svg/SVGTextElement.cpp: Removed. 70141 * ksvg2/svg/SVGTextElement.h: Removed. 70142 * ksvg2/svg/SVGTextElement.idl: Removed. 70143 * ksvg2/svg/SVGTextPathElement.cpp: Removed. 70144 * ksvg2/svg/SVGTextPathElement.h: Removed. 70145 * ksvg2/svg/SVGTextPathElement.idl: Removed. 70146 * ksvg2/svg/SVGTextPositioningElement.cpp: Removed. 70147 * ksvg2/svg/SVGTextPositioningElement.h: Removed. 70148 * ksvg2/svg/SVGTextPositioningElement.idl: Removed. 70149 * ksvg2/svg/SVGTitleElement.cpp: Removed. 70150 * ksvg2/svg/SVGTitleElement.h: Removed. 70151 * ksvg2/svg/SVGTitleElement.idl: Removed. 70152 * ksvg2/svg/SVGTransform.cpp: Removed. 70153 * ksvg2/svg/SVGTransform.h: Removed. 70154 * ksvg2/svg/SVGTransform.idl: Removed. 70155 * ksvg2/svg/SVGTransformDistance.cpp: Removed. 70156 * ksvg2/svg/SVGTransformDistance.h: Removed. 70157 * ksvg2/svg/SVGTransformList.cpp: Removed. 70158 * ksvg2/svg/SVGTransformList.h: Removed. 70159 * ksvg2/svg/SVGTransformList.idl: Removed. 70160 * ksvg2/svg/SVGTransformable.cpp: Removed. 70161 * ksvg2/svg/SVGTransformable.h: Removed. 70162 * ksvg2/svg/SVGTransformable.idl: Removed. 70163 * ksvg2/svg/SVGURIReference.cpp: Removed. 70164 * ksvg2/svg/SVGURIReference.h: Removed. 70165 * ksvg2/svg/SVGURIReference.idl: Removed. 70166 * ksvg2/svg/SVGUnitTypes.h: Removed. 70167 * ksvg2/svg/SVGUnitTypes.idl: Removed. 70168 * ksvg2/svg/SVGUseElement.cpp: Removed. 70169 * ksvg2/svg/SVGUseElement.h: Removed. 70170 * ksvg2/svg/SVGUseElement.idl: Removed. 70171 * ksvg2/svg/SVGViewElement.cpp: Removed. 70172 * ksvg2/svg/SVGViewElement.h: Removed. 70173 * ksvg2/svg/SVGViewElement.idl: Removed. 70174 * ksvg2/svg/SVGViewSpec.cpp: Removed. 70175 * ksvg2/svg/SVGViewSpec.h: Removed. 70176 * ksvg2/svg/SVGViewSpec.idl: Removed. 70177 * ksvg2/svg/SVGZoomAndPan.cpp: Removed. 70178 * ksvg2/svg/SVGZoomAndPan.h: Removed. 70179 * ksvg2/svg/SVGZoomAndPan.idl: Removed. 70180 * ksvg2/svg/svgattrs.in: Removed. 70181 * ksvg2/svg/svgtags.in: Removed. 70182 * rendering/PointerEventsHitRules.cpp: Copied from ksvg2/misc/PointerEventsHitRules.cpp. 70183 * rendering/PointerEventsHitRules.h: Copied from ksvg2/misc/PointerEventsHitRules.h. 70184 * rendering/SVGRenderStyle.cpp: Copied from ksvg2/css/SVGRenderStyle.cpp. 70185 * rendering/SVGRenderStyle.h: Copied from ksvg2/css/SVGRenderStyle.h. 70186 * rendering/SVGRenderStyleDefs.cpp: Copied from ksvg2/css/SVGRenderStyleDefs.cpp. 70187 * rendering/SVGRenderStyleDefs.h: Copied from ksvg2/css/SVGRenderStyleDefs.h. 70188 * svg: Copied from ksvg2/svg. 70189 * svg/SVGDocumentExtensions.cpp: Copied from ksvg2/misc/SVGDocumentExtensions.cpp. 70190 * svg/SVGDocumentExtensions.h: Copied from ksvg2/misc/SVGDocumentExtensions.h. 70191 * svg/SVGImageLoader.cpp: Copied from ksvg2/misc/SVGImageLoader.cpp. 70192 * svg/SVGImageLoader.h: Copied from ksvg2/misc/SVGImageLoader.h. 70193 * svg/SVGTimer.cpp: Copied from ksvg2/misc/SVGTimer.cpp. 70194 * svg/SVGTimer.h: Copied from ksvg2/misc/SVGTimer.h. 70195 * svg/SVGZoomEvent.cpp: Copied from ksvg2/events/SVGZoomEvent.cpp. 70196 * svg/SVGZoomEvent.h: Copied from ksvg2/events/SVGZoomEvent.h. 70197 * svg/SVGZoomEvent.idl: Copied from ksvg2/events/SVGZoomEvent.idl. 70198 * svg/TimeScheduler.cpp: Copied from ksvg2/misc/TimeScheduler.cpp. 70199 * svg/TimeScheduler.h: Copied from ksvg2/misc/TimeScheduler.h. 70200 * svg/xlinkattrs.in: Copied from ksvg2/misc/xlinkattrs.in. 70201 70202 2007-11-30 Kevin Ollivier <kevino (a] theolliviers.com> 70203 70204 wx build fix. Add WebCore/platform/graphics/wx to includes. 70205 70206 * webcore-wx.bkl: 70207 70208 2007-11-30 Brady Eidson <beidson (a] apple.com> 70209 70210 Reviewed by Geoff 70211 70212 Further hookup of Database API 70213 With this change, any database operation that writes to the database (UPDATE, INSERT, CREATE, etc) will 70214 result in a didModifyDatabase notification when the transaction is successfully committed 70215 70216 * storage/DatabaseAuthorizer.cpp: Global rename of "m_lastActionIncreasedSize" to "m_lastActionChangedDatabase" 70217 (WebCore::DatabaseAuthorizer::reset): 70218 (WebCore::DatabaseAuthorizer::createTable): 70219 (WebCore::DatabaseAuthorizer::allowAlterTable): 70220 (WebCore::DatabaseAuthorizer::createIndex): 70221 (WebCore::DatabaseAuthorizer::createTrigger): 70222 (WebCore::DatabaseAuthorizer::createVTable): 70223 (WebCore::DatabaseAuthorizer::allowInsert): 70224 (WebCore::DatabaseAuthorizer::allowUpdate): 70225 * storage/DatabaseAuthorizer.h: 70226 (WebCore::DatabaseAuthorizer::lastActionChangedDatabase): 70227 70228 * storage/DatabaseTracker.cpp: 70229 (WebCore::DatabaseTracker::notifyDatabaseChanged): Added. Allow external entities (SQLTransaction) to be able 70230 to request a didModifyDatabase notification to the delegate 70231 * storage/DatabaseTracker.h: 70232 70233 * storage/SQLTransaction.cpp: Added m_modifiedDatabase flag which tracks if any statement over the course of 70234 a transaction resulted in a change to the database. 70235 (WebCore::SQLTransaction::SQLTransaction): 70236 (WebCore::SQLTransaction::runCurrentStatement): Set m_modifiedDatabase to true if the authorizer reports a mutation 70237 statement occurred 70238 (WebCore::SQLTransaction::postflightAndCommit): If the transaction successfully commits, call DatabaseTracker::notifyDatabaseChanged 70239 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto 70240 * storage/SQLTransaction.h: 70241 70242 2007-11-30 Nikolas Zimmermann <zimmermann (a] kde.org> 70243 70244 Rubber stamped by David. 70245 70246 Next round of moves - platform reorganization. 70247 Move text/font/glyph related files from the individual port directories 70248 into platform/text/<port> or platform/graphics/<port>. 70249 70250 * DerivedSources.make: 70251 * WebCore.pro: 70252 * WebCore.vcproj/WebCore.vcproj: 70253 * WebCore.xcodeproj/project.pbxproj: 70254 * platform/cf/StringCF.cpp: Removed. 70255 * platform/cf/StringImplCF.cpp: Removed. 70256 * platform/graphics/gtk/FontCacheGtk.cpp: Copied from platform/gtk/FontCacheGtk.cpp. 70257 * platform/graphics/gtk/FontDataGtk.cpp: Copied from platform/gtk/FontDataGtk.cpp. 70258 * platform/graphics/gtk/FontGtk.cpp: Copied from platform/gtk/FontGtk.cpp. 70259 * platform/graphics/gtk/FontPlatformData.h: Copied from platform/gtk/FontPlatformData.h. 70260 * platform/graphics/gtk/FontPlatformDataGtk.cpp: Copied from platform/gtk/FontPlatformDataGtk.cpp. 70261 * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: Copied from platform/gtk/GlyphPageTreeNodeGtk.cpp. 70262 * platform/graphics/mac/FontCacheMac.mm: Copied from platform/mac/FontCacheMac.mm. 70263 * platform/graphics/mac/FontCustomPlatformData.cpp: Copied from platform/mac/FontCustomPlatformData.cpp. 70264 * platform/graphics/mac/FontCustomPlatformData.h: Copied from platform/mac/FontCustomPlatformData.h. 70265 * platform/graphics/mac/FontDataMac.mm: Copied from platform/mac/FontDataMac.mm. 70266 * platform/graphics/mac/FontMac.mm: Copied from platform/mac/FontMac.mm. 70267 * platform/graphics/mac/FontPlatformData.h: Copied from platform/mac/FontPlatformData.h. 70268 * platform/graphics/mac/FontPlatformDataMac.mm: Copied from platform/mac/FontPlatformDataMac.mm. 70269 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Copied from platform/mac/GlyphPageTreeNodeMac.cpp. 70270 * platform/graphics/qt/FontCacheQt.cpp: Copied from platform/qt/FontCacheQt.cpp. 70271 * platform/graphics/qt/FontCustomPlatformData.cpp: Copied from platform/qt/FontCustomPlatformData.cpp. 70272 * platform/graphics/qt/FontCustomPlatformData.h: Copied from platform/qt/FontCustomPlatformData.h. 70273 * platform/graphics/qt/FontDataQt.cpp: Copied from platform/qt/FontDataQt.cpp. 70274 * platform/graphics/qt/FontPlatformData.h: Copied from platform/qt/FontPlatformData.h. 70275 * platform/graphics/qt/FontQt.cpp: Copied from platform/qt/FontQt.cpp. 70276 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: Copied from platform/qt/GlyphPageTreeNodeQt.cpp. 70277 * platform/graphics/win/FontCacheWin.cpp: Copied from platform/win/FontCacheWin.cpp. 70278 * platform/graphics/win/FontCustomPlatformData.cpp: Copied from platform/win/FontCustomPlatformData.cpp. 70279 * platform/graphics/win/FontCustomPlatformData.h: Copied from platform/win/FontCustomPlatformData.h. 70280 * platform/graphics/win/FontDataWin.cpp: Copied from platform/win/FontDataWin.cpp. 70281 * platform/graphics/win/FontDatabase.cpp: Copied from platform/win/FontDatabase.cpp. 70282 * platform/graphics/win/FontDatabase.h: Copied from platform/win/FontDatabase.h. 70283 * platform/graphics/win/FontPlatformData.h: Copied from platform/win/FontPlatformData.h. 70284 * platform/graphics/win/FontPlatformDataWin.cpp: Copied from platform/win/FontPlatformDataWin.cpp. 70285 * platform/graphics/win/FontWin.cpp: Copied from platform/win/FontWin.cpp. 70286 * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Copied from platform/win/GlyphPageTreeNodeWin.cpp. 70287 * platform/graphics/wx/FontCacheWx.cpp: Copied from platform/wx/FontCacheWx.cpp. 70288 * platform/graphics/wx/FontDataWx.cpp: Copied from platform/wx/FontDataWx.cpp. 70289 * platform/graphics/wx/FontPlatformData.h: Copied from platform/wx/FontPlatformData.h. 70290 * platform/graphics/wx/FontPlatformDataWx.cpp: Copied from platform/wx/FontPlatformDataWx.cpp. 70291 * platform/graphics/wx/FontWx.cpp: Copied from platform/wx/FontWx.cpp. 70292 * platform/graphics/wx/GlyphMapWx.cpp: Copied from platform/wx/GlyphMapWx.cpp. 70293 * platform/gtk/FontCacheGtk.cpp: Removed. 70294 * platform/gtk/FontDataGtk.cpp: Removed. 70295 * platform/gtk/FontGtk.cpp: Removed. 70296 * platform/gtk/FontPlatformData.h: Removed. 70297 * platform/gtk/FontPlatformDataGtk.cpp: Removed. 70298 * platform/gtk/GlyphPageTreeNodeGtk.cpp: Removed. 70299 * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Removed. 70300 * platform/mac/FontCacheMac.mm: Removed. 70301 * platform/mac/FontCustomPlatformData.cpp: Removed. 70302 * platform/mac/FontCustomPlatformData.h: Removed. 70303 * platform/mac/FontDataMac.mm: Removed. 70304 * platform/mac/FontMac.mm: Removed. 70305 * platform/mac/FontPlatformData.h: Removed. 70306 * platform/mac/FontPlatformDataMac.mm: Removed. 70307 * platform/mac/GlyphPageTreeNodeMac.cpp: Removed. 70308 * platform/mac/ShapeArabic.c: Removed. 70309 * platform/mac/ShapeArabic.h: Removed. 70310 * platform/mac/StringImplMac.mm: Removed. 70311 * platform/mac/StringMac.mm: Removed. 70312 * platform/mac/TextBoundaries.mm: Removed. 70313 * platform/mac/TextBreakIteratorInternalICUMac.mm: Removed. 70314 * platform/mac/TextCodecMac.cpp: Removed. 70315 * platform/mac/TextCodecMac.h: Removed. 70316 * platform/mac/character-sets.txt: Removed. 70317 * platform/mac/mac-encodings.txt: Removed. 70318 * platform/mac/make-charset-table.pl: Removed. 70319 * platform/qt/FontCacheQt.cpp: Removed. 70320 * platform/qt/FontCustomPlatformData.cpp: Removed. 70321 * platform/qt/FontCustomPlatformData.h: Removed. 70322 * platform/qt/FontDataQt.cpp: Removed. 70323 * platform/qt/FontPlatformData.h: Removed. 70324 * platform/qt/FontQt.cpp: Removed. 70325 * platform/qt/GlyphPageTreeNodeQt.cpp: Removed. 70326 * platform/qt/StringQt.cpp: Removed. 70327 * platform/qt/TextBoundaries.cpp: Removed. 70328 * platform/qt/TextBreakIteratorQt.cpp: Removed. 70329 * platform/qt/TextCodecQt.cpp: Removed. 70330 * platform/qt/TextCodecQt.h: Removed. 70331 * platform/symbian/StringImplSymbian.cpp: Removed. 70332 * platform/symbian/StringSymbian.cpp: Removed. 70333 * platform/text/cf: Added. 70334 * platform/text/cf/StringCF.cpp: Copied from platform/cf/StringCF.cpp. 70335 * platform/text/cf/StringImplCF.cpp: Copied from platform/cf/StringImplCF.cpp. 70336 * platform/text/gtk: Added. 70337 * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp: Copied from platform/gtk/TextBreakIteratorInternalICUGtk.cpp. 70338 * platform/text/mac/ShapeArabic.c: Copied from platform/mac/ShapeArabic.c. 70339 * platform/text/mac/ShapeArabic.h: Copied from platform/mac/ShapeArabic.h. 70340 * platform/text/mac/StringImplMac.mm: Copied from platform/mac/StringImplMac.mm. 70341 * platform/text/mac/StringMac.mm: Copied from platform/mac/StringMac.mm. 70342 * platform/text/mac/TextBoundaries.mm: Copied from platform/mac/TextBoundaries.mm. 70343 * platform/text/mac/TextBreakIteratorInternalICUMac.mm: Copied from platform/mac/TextBreakIteratorInternalICUMac.mm. 70344 * platform/text/mac/TextCodecMac.cpp: Copied from platform/mac/TextCodecMac.cpp. 70345 * platform/text/mac/TextCodecMac.h: Copied from platform/mac/TextCodecMac.h. 70346 * platform/text/mac/character-sets.txt: Copied from platform/mac/character-sets.txt. 70347 * platform/text/mac/mac-encodings.txt: Copied from platform/mac/mac-encodings.txt. 70348 * platform/text/mac/make-charset-table.pl: Copied from platform/mac/make-charset-table.pl. 70349 * platform/text/qt: Added. 70350 * platform/text/qt/StringQt.cpp: Copied from platform/qt/StringQt.cpp. 70351 * platform/text/qt/TextBoundaries.cpp: Copied from platform/qt/TextBoundaries.cpp. 70352 * platform/text/qt/TextBreakIteratorQt.cpp: Copied from platform/qt/TextBreakIteratorQt.cpp. 70353 * platform/text/qt/TextCodecQt.cpp: Copied from platform/qt/TextCodecQt.cpp. 70354 * platform/text/qt/TextCodecQt.h: Copied from platform/qt/TextCodecQt.h. 70355 * platform/text/symbian: Added. 70356 * platform/text/symbian/StringImplSymbian.cpp: Copied from platform/symbian/StringImplSymbian.cpp. 70357 * platform/text/symbian/StringSymbian.cpp: Copied from platform/symbian/StringSymbian.cpp. 70358 * platform/text/win: Added. 70359 * platform/text/win/TextBreakIteratorInternalICUWin.cpp: Copied from platform/win/TextBreakIteratorInternalICUWin.cpp. 70360 * platform/text/wx: Added. 70361 * platform/text/wx/StringWx.cpp: Copied from platform/wx/StringWx.cpp. 70362 * platform/win/FontCacheWin.cpp: Removed. 70363 * platform/win/FontCustomPlatformData.cpp: Removed. 70364 * platform/win/FontCustomPlatformData.h: Removed. 70365 * platform/win/FontDataWin.cpp: Removed. 70366 * platform/win/FontDatabase.cpp: Removed. 70367 * platform/win/FontDatabase.h: Removed. 70368 * platform/win/FontPlatformData.h: Removed. 70369 * platform/win/FontPlatformDataWin.cpp: Removed. 70370 * platform/win/FontWin.cpp: Removed. 70371 * platform/win/GlyphPageTreeNodeWin.cpp: Removed. 70372 * platform/win/TextBreakIteratorInternalICUWin.cpp: Removed. 70373 * platform/wx/FontCacheWx.cpp: Removed. 70374 * platform/wx/FontDataWx.cpp: Removed. 70375 * platform/wx/FontPlatformData.h: Removed. 70376 * platform/wx/FontPlatformDataWx.cpp: Removed. 70377 * platform/wx/FontWx.cpp: Removed. 70378 * platform/wx/GlyphMapWx.cpp: Removed. 70379 * platform/wx/StringWx.cpp: Removed. 70380 * webcore-wx.bkl: 70381 70382 2007-11-30 Kevin Ollivier <kevino (a] theolliviers.com> 70383 70384 Build fix for wx port. Adding editing/RemoveFormatCommand.cpp 70385 70386 * WebCoreSources.bkl: 70387 70388 2007-11-30 Simon Hausmann <hausmann (a] webkit.org> 70389 70390 Reviewed by Adam Roben. 70391 70392 Fix the build with DATABASE=0. 70393 70394 * page/Settings.cpp: 70395 (WebCore::Settings::setDefaultDatabaseOriginQuota): 70396 (WebCore::Settings::defaultDatabaseOriginQuota): 70397 70398 2007-11-30 Nikolas Zimmermann <zimmermann (a] kde.org> 70399 70400 Rubber stamped by Darin. 70401 70402 Fix misplaced file. The name "FontStyle" is not correct though - it probably 70403 needs yet another move - but this time inside platform/graphics - as soon 70404 as we agree on a better name. 70405 70406 * WebCore.xcodeproj/project.pbxproj: 70407 * platform/graphics/FontStyle.h: Copied from platform/text/FontStyle.h. 70408 * platform/text/FontStyle.h: Removed. 70409 70410 2007-11-30 Nikolas Zimmermann <zimmermann (a] kde.org> 70411 70412 Reviewed by Sam. 70413 70414 Rename "FontStyle FontStyle(...)" to "FontStyle fontStyle(...)". 70415 I scripted a bit too much while doing the TextStyle -> FontStyle change. 70416 70417 * platform/win/PopupMenuWin.cpp: 70418 (WebCore::PopupMenu::paint): 70419 * rendering/EllipsisBox.cpp: 70420 (WebCore::EllipsisBox::paint): 70421 * rendering/RenderFileUploadControl.cpp: 70422 (WebCore::RenderFileUploadControl::paintObject): 70423 * rendering/RenderListBox.cpp: 70424 (WebCore::RenderListBox::updateFromElement): 70425 (WebCore::RenderListBox::paintItemForeground): 70426 * rendering/RenderTextControl.cpp: 70427 (WebCore::RenderTextControl::setStyle): 70428 (WebCore::RenderTextControl::createInnerTextStyle): 70429 (WebCore::RenderTextControl::createSubtreeIfNeeded): 70430 * rendering/RenderTextControl.h: 70431 * rendering/SVGRootInlineBox.cpp: 70432 (WebCore::svgFontStyleForInlineTextBox): 70433 70434 2007-11-30 Alp Toker <alp (a] atoker.com> 70435 70436 GTK+ build fix following the recent text reorganization. 70437 70438 * WebCore.pro: 70439 70440 2007-11-29 Jon Honeycutt <jhoneycutt (a] apple.com> 70441 70442 Reviewed by Adam. 70443 70444 Part of <rdar://problem/5506522> Seed: cannot type into text box in 70445 Facebook, don't see plugin content (Adobe Flash) 70446 70447 * plugins/win/PluginViewWin.cpp: 70448 (WebCore::PluginViewWin::handleMouseEvent): Focus the plugin's parent 70449 frame 70450 70451 2007-11-30 Nikolas Zimmermann <zimmermann (a] kde.org> 70452 70453 Not reviewed. Trying to fix gtk/qt/wx build. (I expected problems because of the moves) 70454 70455 * WebCore.pro: 70456 * webcore-base.bkl: 70457 70458 2007-11-30 Nikolas Zimmermann <zimmermann (a] kde.org> 70459 70460 Rubber stamped by Brady. 70461 70462 Started platform reorganization (platform/text addition). 70463 Moving string/text/font related classes into new places - as discussed on webkit-dev. 70464 70465 In a follow-up commit I'll move classes out of platform/{mac,win,...} into 70466 platform/text/{mac,win,...}, and also do the ksvg2/ -> svg/ move. 70467 70468 * WebCore.order: 70469 * WebCore.pro: 70470 * WebCore.vcproj/WebCore.vcproj: 70471 * WebCore.xcodeproj/project.pbxproj: 70472 * WebCoreSources.bkl: 70473 * editing/ReplaceSelectionCommand.cpp: 70474 (WebCore::ReplacementFragment::insertFragmentForTestRendering): 70475 * platform/AtomicString.cpp: Removed. 70476 * platform/AtomicString.h: Removed. 70477 * platform/AtomicStringImpl.h: Removed. 70478 * platform/Base64.cpp: Removed. 70479 * platform/Base64.h: Removed. 70480 * platform/BidiContext.cpp: Removed. 70481 * platform/BidiContext.h: Removed. 70482 * platform/BidiResolver.h: Removed. 70483 * platform/CString.cpp: Removed. 70484 * platform/CString.h: Removed. 70485 * platform/CharacterNames.h: Removed. 70486 * platform/CharsetData.h: Removed. 70487 * platform/Font.cpp: Removed. 70488 * platform/Font.h: Removed. 70489 * platform/FontCache.cpp: Removed. 70490 * platform/FontCache.h: Removed. 70491 * platform/FontData.cpp: Removed. 70492 * platform/FontData.h: Removed. 70493 * platform/FontDescription.h: Removed. 70494 * platform/FontFallbackList.cpp: Removed. 70495 * platform/FontFallbackList.h: Removed. 70496 * platform/FontFamily.cpp: Removed. 70497 * platform/FontFamily.h: Removed. 70498 * platform/FontSelector.h: Removed. 70499 * platform/GlyphBuffer.h: Removed. 70500 * platform/GlyphPageTreeNode.cpp: Removed. 70501 * platform/GlyphPageTreeNode.h: Removed. 70502 * platform/GlyphWidthMap.cpp: Removed. 70503 * platform/GlyphWidthMap.h: Removed. 70504 * platform/PlatformString.h: Removed. 70505 * platform/RegularExpression.cpp: Removed. 70506 * platform/RegularExpression.h: Removed. 70507 * platform/SegmentedString.cpp: Removed. 70508 * platform/SegmentedString.h: Removed. 70509 * platform/String.cpp: Removed. 70510 * platform/StringHash.h: Removed. 70511 * platform/StringImpl.cpp: Removed. 70512 * platform/StringImpl.h: Removed. 70513 * platform/StringTruncator.cpp: Removed. 70514 * platform/StringTruncator.h: Removed. 70515 * platform/TextBoundaries.h: Removed. 70516 * platform/TextBoundariesICU.cpp: Removed. 70517 * platform/TextBreakIterator.h: Removed. 70518 * platform/TextBreakIteratorICU.cpp: Removed. 70519 * platform/TextBreakIteratorInternalICU.h: Removed. 70520 * platform/TextCodec.cpp: Removed. 70521 * platform/TextCodec.h: Removed. 70522 * platform/TextCodecICU.cpp: Removed. 70523 * platform/TextCodecICU.h: Removed. 70524 * platform/TextCodecLatin1.cpp: Removed. 70525 * platform/TextCodecLatin1.h: Removed. 70526 * platform/TextCodecUTF16.cpp: Removed. 70527 * platform/TextCodecUTF16.h: Removed. 70528 * platform/TextCodecUserDefined.cpp: Removed. 70529 * platform/TextCodecUserDefined.h: Removed. 70530 * platform/TextDecoder.cpp: Removed. 70531 * platform/TextDecoder.h: Removed. 70532 * platform/TextDirection.h: Removed. 70533 * platform/TextEncoding.cpp: Removed. 70534 * platform/TextEncoding.h: Removed. 70535 * platform/TextEncodingRegistry.cpp: Removed. 70536 * platform/TextEncodingRegistry.h: Removed. 70537 * platform/TextStream.cpp: Removed. 70538 * platform/TextStream.h: Removed. 70539 * platform/TextStyle.h: Removed. 70540 * platform/UnicodeRange.cpp: Removed. 70541 * platform/UnicodeRange.h: Removed. 70542 * platform/graphics/Font.cpp: Copied from platform/Font.cpp. 70543 (WebCore::WidthIterator::WidthIterator): 70544 (WebCore::Font::width): 70545 (WebCore::Font::drawSimpleText): 70546 (WebCore::Font::drawGlyphBuffer): 70547 (WebCore::Font::drawText): 70548 (WebCore::Font::floatWidth): 70549 (WebCore::Font::floatWidthForSimpleText): 70550 (WebCore::Font::selectionRectForText): 70551 (WebCore::Font::selectionRectForSimpleText): 70552 (WebCore::Font::offsetForPosition): 70553 (WebCore::Font::offsetForPositionForSimpleText): 70554 * platform/graphics/Font.h: Copied from platform/Font.h. 70555 * platform/graphics/FontCache.cpp: Copied from platform/FontCache.cpp. 70556 * platform/graphics/FontCache.h: Copied from platform/FontCache.h. 70557 * platform/graphics/FontData.cpp: Copied from platform/FontData.cpp. 70558 * platform/graphics/FontData.h: Copied from platform/FontData.h. 70559 * platform/graphics/FontDescription.h: Copied from platform/FontDescription.h. 70560 * platform/graphics/FontFallbackList.cpp: Copied from platform/FontFallbackList.cpp. 70561 * platform/graphics/FontFallbackList.h: Copied from platform/FontFallbackList.h. 70562 * platform/graphics/FontFamily.cpp: Copied from platform/FontFamily.cpp. 70563 * platform/graphics/FontFamily.h: Copied from platform/FontFamily.h. 70564 * platform/graphics/FontSelector.h: Copied from platform/FontSelector.h. 70565 * platform/graphics/GlyphBuffer.h: Copied from platform/GlyphBuffer.h. 70566 * platform/graphics/GlyphPageTreeNode.cpp: Copied from platform/GlyphPageTreeNode.cpp. 70567 * platform/graphics/GlyphPageTreeNode.h: Copied from platform/GlyphPageTreeNode.h. 70568 * platform/graphics/GlyphWidthMap.cpp: Copied from platform/GlyphWidthMap.cpp. 70569 * platform/graphics/GlyphWidthMap.h: Copied from platform/GlyphWidthMap.h. 70570 * platform/graphics/GraphicsContext.cpp: 70571 (WebCore::GraphicsContext::drawText): 70572 (WebCore::GraphicsContext::drawBidiText): 70573 (WebCore::GraphicsContext::drawHighlightForText): 70574 * platform/graphics/GraphicsContext.h: 70575 * platform/graphics/StringTruncator.cpp: Copied from platform/StringTruncator.cpp. 70576 (WebCore::stringWidth): 70577 * platform/graphics/StringTruncator.h: Copied from platform/StringTruncator.h. 70578 * platform/graphics/qt/GraphicsContextQt.cpp: 70579 * platform/gtk/FontGtk.cpp: 70580 (WebCore::Font::drawComplexText): 70581 (WebCore::Font::floatWidthForComplexText): 70582 (WebCore::Font::offsetForPositionForComplexText): 70583 (WebCore::Font::selectionRectForComplexText): 70584 * platform/mac/FontMac.mm: 70585 (WebCore::ATSULayoutParameters::ATSULayoutParameters): 70586 (WebCore::Font::selectionRectForComplexText): 70587 (WebCore::Font::drawComplexText): 70588 (WebCore::Font::floatWidthForComplexText): 70589 (WebCore::Font::offsetForPositionForComplexText): 70590 * platform/mac/WebCoreTextRenderer.mm: 70591 (WebCoreDrawTextAtPoint): 70592 (WebCoreTextFloatWidth): 70593 * platform/qt/FontQt.cpp: 70594 (WebCore::generateComponents): 70595 (WebCore::Font::drawText): 70596 (WebCore::Font::width): 70597 (WebCore::Font::floatWidth): 70598 (WebCore::Font::offsetForPosition): 70599 (WebCore::cursorToX): 70600 (WebCore::Font::selectionRectForText): 70601 * platform/text: Added. 70602 * platform/text/AtomicString.cpp: Copied from platform/AtomicString.cpp. 70603 * platform/text/AtomicString.h: Copied from platform/AtomicString.h. 70604 * platform/text/AtomicStringImpl.h: Copied from platform/AtomicStringImpl.h. 70605 * platform/text/Base64.cpp: Copied from platform/Base64.cpp. 70606 * platform/text/Base64.h: Copied from platform/Base64.h. 70607 * platform/text/BidiContext.cpp: Copied from platform/BidiContext.cpp. 70608 * platform/text/BidiContext.h: Copied from platform/BidiContext.h. 70609 * platform/text/BidiResolver.h: Copied from platform/BidiResolver.h. 70610 * platform/text/CString.cpp: Copied from platform/CString.cpp. 70611 * platform/text/CString.h: Copied from platform/CString.h. 70612 * platform/text/CharacterNames.h: Copied from platform/CharacterNames.h. 70613 * platform/text/FontStyle.h: Copied from platform/TextStyle.h. 70614 (WebCore::FontStyle::FontStyle): 70615 * platform/text/PlatformString.h: Copied from platform/PlatformString.h. 70616 * platform/text/RegularExpression.cpp: Copied from platform/RegularExpression.cpp. 70617 * platform/text/RegularExpression.h: Copied from platform/RegularExpression.h. 70618 * platform/text/SegmentedString.cpp: Copied from platform/SegmentedString.cpp. 70619 * platform/text/SegmentedString.h: Copied from platform/SegmentedString.h. 70620 * platform/text/String.cpp: Copied from platform/String.cpp. 70621 * platform/text/StringHash.h: Copied from platform/StringHash.h. 70622 * platform/text/StringImpl.cpp: Copied from platform/StringImpl.cpp. 70623 * platform/text/StringImpl.h: Copied from platform/StringImpl.h. 70624 * platform/text/TextBoundaries.h: Copied from platform/TextBoundaries.h. 70625 * platform/text/TextBoundariesICU.cpp: Copied from platform/TextBoundariesICU.cpp. 70626 (WebCore::findNextWordFromIndex): 70627 * platform/text/TextBreakIterator.h: Copied from platform/TextBreakIterator.h. 70628 * platform/text/TextBreakIteratorICU.cpp: Copied from platform/TextBreakIteratorICU.cpp. 70629 * platform/text/TextBreakIteratorInternalICU.h: Copied from platform/TextBreakIteratorInternalICU.h. 70630 * platform/text/TextCodec.cpp: Copied from platform/TextCodec.cpp. 70631 * platform/text/TextCodec.h: Copied from platform/TextCodec.h. 70632 * platform/text/TextCodecICU.cpp: Copied from platform/TextCodecICU.cpp. 70633 * platform/text/TextCodecICU.h: Copied from platform/TextCodecICU.h. 70634 * platform/text/TextCodecLatin1.cpp: Copied from platform/TextCodecLatin1.cpp. 70635 * platform/text/TextCodecLatin1.h: Copied from platform/TextCodecLatin1.h. 70636 * platform/text/TextCodecUTF16.cpp: Copied from platform/TextCodecUTF16.cpp. 70637 * platform/text/TextCodecUTF16.h: Copied from platform/TextCodecUTF16.h. 70638 * platform/text/TextCodecUserDefined.cpp: Copied from platform/TextCodecUserDefined.cpp. 70639 * platform/text/TextCodecUserDefined.h: Copied from platform/TextCodecUserDefined.h. 70640 * platform/text/TextDecoder.cpp: Copied from platform/TextDecoder.cpp. 70641 * platform/text/TextDecoder.h: Copied from platform/TextDecoder.h. 70642 * platform/text/TextDirection.h: Copied from platform/TextDirection.h. 70643 * platform/text/TextEncoding.cpp: Copied from platform/TextEncoding.cpp. 70644 * platform/text/TextEncoding.h: Copied from platform/TextEncoding.h. 70645 * platform/text/TextEncodingRegistry.cpp: Copied from platform/TextEncodingRegistry.cpp. 70646 * platform/text/TextEncodingRegistry.h: Copied from platform/TextEncodingRegistry.h. 70647 * platform/text/TextStream.cpp: Copied from platform/TextStream.cpp. 70648 * platform/text/TextStream.h: Copied from platform/TextStream.h. 70649 * platform/text/UnicodeRange.cpp: Copied from platform/UnicodeRange.cpp. 70650 * platform/text/UnicodeRange.h: Copied from platform/UnicodeRange.h. 70651 * platform/text/mac: Added. 70652 * platform/text/mac/CharsetData.h: Copied from platform/CharsetData.h. 70653 * platform/win/FontWin.cpp: 70654 (WebCore::Font::selectionRectForComplexText): 70655 (WebCore::Font::drawComplexText): 70656 (WebCore::Font::floatWidthForComplexText): 70657 (WebCore::Font::offsetForPositionForComplexText): 70658 * platform/win/PopupMenuWin.cpp: 70659 (WebCore::PopupMenu::paint): 70660 * platform/win/UniscribeController.cpp: 70661 (WebCore::UniscribeController::UniscribeController): 70662 * platform/win/UniscribeController.h: 70663 * platform/win/WebCoreTextRenderer.cpp: 70664 (WebCore::doDrawTextAtPoint): 70665 * platform/wx/FontWx.cpp: 70666 (WebCore::Font::selectionRectForComplexText): 70667 (WebCore::Font::drawComplexText): 70668 (WebCore::Font::floatWidthForComplexText): 70669 (WebCore::Font::offsetForPositionForComplexText): 70670 * rendering/EllipsisBox.cpp: 70671 (WebCore::EllipsisBox::paint): 70672 * rendering/InlineTextBox.cpp: 70673 (WebCore::InlineTextBox::selectionRect): 70674 (WebCore::InlineTextBox::paint): 70675 (WebCore::InlineTextBox::paintSelection): 70676 (WebCore::InlineTextBox::paintCompositionBackground): 70677 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 70678 (WebCore::InlineTextBox::paintTextMatchMarker): 70679 (WebCore::InlineTextBox::offsetForPosition): 70680 (WebCore::InlineTextBox::positionForOffset): 70681 * rendering/RenderFileUploadControl.cpp: 70682 (WebCore::RenderFileUploadControl::paintObject): 70683 (WebCore::RenderFileUploadControl::calcPrefWidths): 70684 * rendering/RenderImage.cpp: 70685 * rendering/RenderListBox.cpp: 70686 (WebCore::RenderListBox::updateFromElement): 70687 (WebCore::RenderListBox::paintItemForeground): 70688 * rendering/RenderMenuList.cpp: 70689 (WebCore::RenderMenuList::updateOptionsWidth): 70690 * rendering/RenderText.cpp: 70691 (WebCore::RenderText::widthFromCache): 70692 (WebCore::RenderText::calcPrefWidths): 70693 (WebCore::RenderText::width): 70694 * rendering/RenderTextControl.cpp: 70695 (WebCore::RenderTextControl::setStyle): 70696 (WebCore::RenderTextControl::createInnerFontStyle): 70697 (WebCore::RenderTextControl::createSubtreeIfNeeded): 70698 (WebCore::RenderTextControl::calcPrefWidths): 70699 * rendering/RenderTextControl.h: 70700 * rendering/SVGInlineTextBox.cpp: 70701 (WebCore::SVGInlineTextBox::calculateGlyphWidth): 70702 (WebCore::SVGInlineTextBox::paintCharacters): 70703 (WebCore::SVGInlineTextBox::paintSelection): 70704 * rendering/SVGRootInlineBox.cpp: 70705 (WebCore::cummulatedWidthOfInlineBoxCharacterRange): 70706 (WebCore::svgFontStyleForInlineTextBox): 70707 * rendering/SVGRootInlineBox.h: 70708 70709 2007-11-30 Adele Peterson <adele (a] apple.com> 70710 70711 Reviewed by Darin. 70712 70713 Fix for http://bugs.webkit.org/show_bug.cgi?id=16072 70714 <rdar://problem/5463821> REGRESSION: Mousemove event isn't fired when mouse moves over scrollbar with pressed button (16072) 70715 70716 Test: fast/events/mousemove-after-drag-over-scrollbar.html 70717 70718 * page/EventHandler.cpp: 70719 (WebCore::EventHandler::handleMouseMoveEvent): If the mouse is pressed, and we've moved over a new scrollbar, then we can clear m_lastScrollbarUnderMouse. 70720 We should only need to show the hover effect when the mouse isn't pressed. 70721 70722 2007-11-29 Brady Eidson <beidson (a] apple.com> 70723 70724 Reviewed by Tim 70725 70726 Part of <rdar://problem/5556377> - Need to accurately track and enforce database quota 70727 70728 SQLite has the ability to enforce the page usage for databases. This gives us bulletproof 70729 enforcement of the database size limit with reasonable granularity (within 1023 bytes by 70730 default on OS X with SQLite 3.4.0) 70731 70732 This also involved enhancing the ability to install/remove the authorizer to run the PRAGMA 70733 statements involved 70734 70735 Note this patch does not actually use the new maximumSize() functionality of the 70736 SQLiteDatabase class - that can be reviewed/landed seperately 70737 70738 * platform/sql/SQLiteDatabase.cpp: 70739 (WebCore::SQLiteDatabase::SQLiteDatabase): 70740 (WebCore::SQLiteDatabase::maximumSize): Return the current maximum size in bytes 70741 (WebCore::SQLiteDatabase::setMaximumSize): Based on m_pageSize, set the maximum page count 70742 to enforce the maximum size in bytes 70743 (WebCore::SQLiteDatabase::pageSize): Fetch m_pageSize if it hasn't been fetched, or return 70744 the cached value 70745 (WebCore::SQLiteDatabase::setAuthorizer): Use enableAuthorizer for the sqlite_* level 70746 authorizer setup 70747 (WebCore::SQLiteDatabase::enableAuthorizer): Install or remove the sqlite authorizer handler 70748 * platform/sql/SQLiteDatabase.h: Add the m_pageSize member so we only have to fetch it once 70749 70750 2007-11-29 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 70751 70752 Reviewed by Maciej. 70753 70754 * Fix fast/events/mousedown_in_scrollbar.html 70755 * This test used to crash in PlatformScrollbarQt::mouse*Event due parent() returning 0. 70756 * Extend the current check that the scrollbar in the mev can be go away. 70757 This happens if we destroy a RenderLayer as the result of a click. In the 70758 case of Qt we can have this scrollbar in m_lastScrollbarUnderMouse. The RenderLayer 70759 is the ScrollbarClient, m_lastScrollbarUnderMouse is a RefPtr and keeps the 70760 last reference. When calling into this scrollbar the m_client pointer is a dangling pointer. 70761 We extend the check to set m_lastScrollbarUnderMouse back to zero when it was the 70762 scrollbar in the old mev and is gone in the new one. 70763 * This happens only on the Qt port because we send more/different move events. 70764 70765 * page/EventHandler.cpp: 70766 (WebCore::EventHandler::handleMousePressEvent): 70767 70768 2007-11-29 Antti Koivisto <antti (a] apple.com> 70769 70770 Reviewed by Mitz. 70771 70772 Fix aspect ratio calculation of video. 70773 70774 Video should always be treated as a replaced element in size calculation. 70775 70776 Test: media/video-aspect-ratio.html 70777 70778 * rendering/RenderBox.cpp: 70779 (WebCore::RenderBox::calcWidth): 70780 (WebCore::RenderBox::calcHeight): 70781 * rendering/RenderBox.h: 70782 (WebCore::RenderBox::shouldCalculateSizeAsReplaced): 70783 * rendering/RenderMedia.h: 70784 (WebCore::RenderMedia::shouldCalculateSizeAsReplaced): 70785 70786 2007-11-29 Sam Weinig <sam (a] webkit.org> 70787 70788 Reviewed by Oliver. 70789 70790 Additional fix for <rdar://problem/5592988> / http://bugs.webkit.org/show_bug.cgi?id=15936 70791 - More closely match IE's policy for frame navigation. 70792 70793 * bindings/js/kjs_window.cpp: 70794 (KJS::WindowProtoFuncOpen::callAsFunction): 70795 * loader/FrameLoader.cpp: 70796 (WebCore::FrameLoader::shouldAllowNavigation): 70797 * page/FrameTree.cpp: 70798 (WebCore::FrameTree::top): 70799 * page/FrameTree.h: 70800 70801 2007-11-29 Dan Bernstein <mitz (a] apple.com> 70802 70803 Reviewed by Adam Roben and John Sullivan. 70804 70805 - make the recent searches popup extend only along the straight part of 70806 the search field (unless it needs to be wider). 70807 70808 * platform/PopupMenuClient.h: 70809 Added clientInsetLeft() and clientInsetRight() for clients to 70810 specify desired horizontal insets for the menu. 70811 * platform/win/PopupMenuWin.cpp: 70812 (WebCore::PopupMenu::calculatePositionAndSize): 70813 (WebCore::PopupMenu::paint): 70814 * rendering/RenderMenuList.cpp: 70815 (WebCore::RenderMenuList::clientInsetLeft): Added. Returns 0. 70816 (WebCore::RenderMenuList::clientInsetRight): Ditto. 70817 * rendering/RenderMenuList.h: 70818 * rendering/RenderTextControl.cpp: 70819 (WebCore::RenderTextControl::clientInsetLeft): Added. Returns half the 70820 control's height, which is the radius of the cap on the left. 70821 (WebCore::RenderTextControl::clientInsetRight): Added. 70822 * rendering/RenderTextControl.h: 70823 70824 2007-11-30 Alp Toker <alp (a] atoker.com> 70825 70826 Reviewed by Maciej. 70827 70828 http://bugs.webkit.org/show_bug.cgi?id=16173 70829 Licensing change 70830 70831 Change license from BSD to LGPL. 70832 70833 This is being done to encourage vendors to contribute their fixes back 70834 upstream. 70835 70836 * platform/graphics/gtk/ColorGtk.cpp: 70837 * platform/graphics/gtk/IntPointGtk.cpp: 70838 * platform/graphics/gtk/IntRectGtk.cpp: 70839 * platform/graphics/svg/cairo/RenderPathCairo.cpp: 70840 * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: 70841 * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: 70842 * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp: 70843 * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: 70844 * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp: 70845 * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: 70846 * platform/gtk/Language.cpp: 70847 * platform/gtk/LoggingGtk.cpp: 70848 * platform/gtk/SoundGtk.cpp: 70849 * platform/gtk/SystemTimeGtk.cpp: 70850 * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: 70851 70852 2007-11-29 Darin Adler <darin (a] apple.com> 70853 70854 Reviewed by Adele. 70855 70856 - fix http://bugs.webkit.org/show_bug.cgi?id=16191 70857 REGRESSION: cannot tab to radio input after setting checked to false 70858 70859 Test: fast/forms/input-radio-checked-tab.html 70860 70861 * html/HTMLFormElement.cpp: 70862 (WebCore::HTMLFormElement::CheckedRadioButtons::addButton): Fix this code 70863 so that it doesn't call setChecked(false) until after the map has been updated. 70864 Otherwise, we can end up deallocating the map before manipulating it. As long 70865 as I was changing the function, I decided to make it do only a single hash 70866 table lookup. 70867 70868 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked): 70869 Remove the button from the radio buttons set before changing the checked 70870 state. This matches the idiom used elsewhere and fixes the problem where 70871 setting checked to false would not remove it from the set. 70872 70873 2007-11-29 Justin Garcia <justin.garcia (a] apple.com> 70874 70875 Reviewed by Darin Adler. 70876 70877 <rdar://problem/5620093> Brief hang when Safari caches page text of XML document 70878 70879 * editing/TextIterator.cpp: 70880 (WebCore::TextIterator::representNodeOffsetZero): When we haven't been emitting any 70881 characters, shouldRepresentNodeOffsetZero() can create VisiblePositions, which is 70882 expensive. So, we perform the inexpensive checks on m_node to see if it necessitates 70883 emitting a character first and will early return before encountering 70884 shouldRepresentNodeOffsetZero()s worse case behavior. 70885 70886 2007-11-29 Anders Carlsson <andersca (a] apple.com> 70887 70888 Reviewed by Sam. 70889 70890 Don't install event handlers or set the zoom cursor if auto-shrink has been disabled. 70891 70892 * loader/ImageDocument.cpp: 70893 (WebCore::ImageDocument::createDocumentStructure): 70894 (WebCore::ImageDocument::imageChanged): 70895 70896 2007-11-29 Beth Dakin <bdakin (a] apple.com> 70897 70898 Reviewed by Geoff. 70899 70900 Fix for <rdar://problem/5620151> Disable JavaScript for SVG as 70901 image for <img> and CSS images 70902 70903 * platform/graphics/svg/SVGImage.cpp: 70904 (WebCore::SVGImage::dataChanged): When we create the empty clients, 70905 explicitly disable JavaScript in the settings. 70906 70907 2007-11-29 Brady Eidson <beidson (a] apple.com> 70908 70909 Reviewed by Anders 70910 70911 Support for <rdar://problem/5556381> and <rdar://problem/5556379> 70912 70913 The Database feature in the engine needs to support delegate calls for policy decisions and 70914 also provide notifications when origins and databases change their state. 70915 70916 This patch also polishes off the missing features of the management API 70917 70918 * page/Chrome.cpp: Implement the two UIDelegate methods 70919 (WebCore::Chrome::requestQuotaIncreaseForNewDatabase): Ask for more space to create a new database if it won't fit 70920 (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation): Ask for more space to complete an in-progress operation 70921 * page/Chrome.h: 70922 * page/ChromeClient.h: 70923 * platform/graphics/svg/SVGImageEmptyClients.h: 70924 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase): 70925 (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation): 70926 70927 * storage/Database.cpp: 70928 (WebCore::Database::openDatabase): Check to see if this database can be opened - the quota must be high 70929 enough and if it isn't, the UIDelegate should have a change to bump the quota. 70930 Also update the UI-relevant details (display name and estimated size) upon successful opening of the database 70931 70932 * storage/DatabaseDetails.h: Remove the version parameter as it is a programatic detail of a 70933 site database and is not important to API clients 70934 (WebCore::DatabaseDetails::DatabaseDetails): 70935 (WebCore::DatabaseDetails::isValid): 70936 (WebCore::DatabaseDetails::name): 70937 70938 * storage/DatabaseTracker.cpp: 70939 (WebCore::DatabaseTracker::openTrackerDatabase): Tweaked the schema here - there was a horrible bug with the old schema that would 70940 prevent you from having two databases of the same name from two different origins. Also simplify the origin-management schema 70941 (WebCore::DatabaseTracker::canEstablishDatabase): Added. Does some estimated size vs quota checks, and asks the UI delegate for 70942 more space if necessary 70943 (WebCore::DatabaseTracker::hasEntryForOrigin): 70944 (WebCore::DatabaseTracker::establishEntryForOrigin): Establishes a tracker entry for the given origin with the current default quota 70945 Also notifies the client of the new origin 70946 (WebCore::DatabaseTracker::setDatabaseDetails): Update the display name and estimated size for the given database 70947 (WebCore::DatabaseTracker::fullPathForDatabase): Tweak to add the ability to get the path without creating it - for management purposes 70948 (WebCore::DatabaseTracker::populateOrigins): Populate origins from the Origins table instead of the Databases table 70949 (WebCore::DatabaseTracker::origins): 70950 (WebCore::DatabaseTracker::detailsForNameAndOrigin): For API management 70951 (WebCore::DatabaseTracker::usageForDatabase): 70952 (WebCore::DatabaseTracker::usageForOrigin): 70953 (WebCore::DatabaseTracker::quotaForOrigin): 70954 (WebCore::DatabaseTracker::setQuota): Notify the client 70955 (WebCore::DatabaseTracker::addDatabase): Notify the client 70956 (WebCore::DatabaseTracker::deleteAllDatabases): 70957 (WebCore::DatabaseTracker::deleteDatabasesWithOrigin): 70958 (WebCore::DatabaseTracker::deleteDatabase): 70959 (WebCore::DatabaseTracker::deleteDatabaseFile): 70960 * storage/DatabaseTracker.h: 70961 70962 2007-11-29 Dan Bernstein <mitz (a] apple.com> 70963 70964 Reviewed by Beth Dakin and Darin Adler. 70965 70966 - manual test for <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame 70967 70968 * manual-tests/context-click-unfocused-frame.html: Added. 70969 70970 2007-11-28 Antti Koivisto <antti (a] apple.com> 70971 70972 Reviewed by Geoff. 70973 70974 Fallback content inside media elements should not be rendered. 70975 70976 Test: media/fallback.html 70977 70978 * rendering/RenderMedia.h: 70979 (WebCore::RenderMedia::canHaveChildren): 70980 70981 2007-11-28 Mark Rowe <mrowe (a] apple.com> 70982 70983 Windows build fix. 70984 70985 * WebCore.vcproj/WebCore.vcproj: 70986 70987 2007-11-28 Mark Rowe <mrowe (a] apple.com> 70988 70989 Gtk build fix. 70990 70991 * WebCore.pro: 70992 70993 2007-11-28 Antti Koivisto <antti (a] apple.com> 70994 70995 Reviewed by Oliver. 70996 70997 Make QTMovieView fill color transparent. This behavior matches the specification 70998 (and allows nice alpha blended video). 70999 71000 * platform/graphics/mac/MoviePrivateQTKit.mm: 71001 (WebCore::MoviePrivate::createQTMovieView): 71002 71003 2007-11-28 Antti Koivisto <antti (a] apple.com> 71004 71005 Reviewed by Darin. 71006 71007 Test: media/video-controls.html 71008 71009 <rdar://problem/5605668> 71010 Implement controls attribute for video element 71011 71012 - Add RenderMedia and make RenderVideo its subclass. Controls code goes to RenderMedia while 71013 video specific (painting etc) code stays in RenderVideo. For example audio controls can be implemented 71014 later by just instantiating RenderMedia as renderer. 71015 - Make media renderer hierarchy inherit from RenderBlock instead of RenderReplaced so it can 71016 have child nodes (for controls). 71017 - Controls are implemented as a shadow DOM. 71018 - Current look is a placeholder. It is defined purely in CSS. 71019 - Some things like volume controls are not yet implemented. 71020 - Fade-in/out is done manually, CSS animations don't work well in shadow trees. 71021 71022 * WebCore.xcodeproj/project.pbxproj: 71023 * css/html4.css: 71024 * html/HTMLMediaElement.cpp: 71025 (WebCore::HTMLMediaElement::attributeChanged): 71026 (WebCore::HTMLMediaElement::updateMovie): 71027 (WebCore::HTMLMediaElement::defaultEventHandler): 71028 * html/HTMLMediaElement.h: 71029 * rendering/RenderMedia.cpp: Added. 71030 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): 71031 (WebCore::MediaControlShadowRootElement::isShadowNode): 71032 (WebCore::MediaControlShadowRootElement::shadowParentNode): 71033 (WebCore::MediaControlInputElement::MediaControlInputElement): 71034 (WebCore::MediaControlInputElement::attachToParent): 71035 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): 71036 (WebCore::MediaControlPlayButtonElement::inPausedState): 71037 (WebCore::MediaControlPlayButtonElement::defaultEventHandler): 71038 (WebCore::MediaControlPlayButtonElement::update): 71039 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): 71040 (WebCore::MediaControlTimelineElement::defaultEventHandler): 71041 (WebCore::MediaControlTimelineElement::update): 71042 (WebCore::RenderMedia::RenderMedia): 71043 (WebCore::RenderMedia::~RenderMedia): 71044 (WebCore::RenderMedia::mediaElement): 71045 (WebCore::RenderMedia::movie): 71046 (WebCore::RenderMedia::setStyle): 71047 (WebCore::RenderMedia::createControlsShadowRoot): 71048 (WebCore::RenderMedia::createPanel): 71049 (WebCore::RenderMedia::createPlayButton): 71050 (WebCore::RenderMedia::createTimeline): 71051 (WebCore::RenderMedia::createTimeDisplay): 71052 (WebCore::RenderMedia::updateFromElement): 71053 (WebCore::RenderMedia::updateControls): 71054 (WebCore::RenderMedia::timeUpdateTimerFired): 71055 (WebCore::RenderMedia::updateTimeDisplay): 71056 (WebCore::RenderMedia::updateControlVisibility): 71057 (WebCore::RenderMedia::changeOpacity): 71058 (WebCore::RenderMedia::opacityAnimationTimerFired): 71059 (WebCore::RenderMedia::forwardEvent): 71060 * rendering/RenderMedia.h: Added. 71061 (WebCore::RenderMedia::renderName): 71062 (WebCore::RenderMedia::isMedia): 71063 (WebCore::RenderMedia::intrinsicSize): 71064 * rendering/RenderObject.h: 71065 (WebCore::RenderObject::isMedia): 71066 * rendering/RenderVideo.cpp: 71067 (WebCore::RenderVideo::RenderVideo): 71068 (WebCore::RenderVideo::videoSizeChanged): 71069 (WebCore::RenderVideo::paintObject): 71070 (WebCore::RenderVideo::layout): 71071 (WebCore::RenderVideo::updateFromElement): 71072 (WebCore::RenderVideo::calcAspectRatioWidth): 71073 (WebCore::RenderVideo::calcAspectRatioHeight): 71074 * rendering/RenderVideo.h: 71075 71076 2007-11-28 Justin Garcia <justin.garcia (a] apple.com> 71077 71078 Reviewed by Darin Adler. 71079 71080 <rdar://problem/5573879> GMail Beta: Crash in when undoing Remove Formating 71081 71082 In the new beta, Google has added some custom code on top of our RemoveFormat 71083 to work around a bug where fully selected lists aren't removed. This code corrupts 71084 the undo stack and causes crashes. This change fixes two problems with RemoveFormat 71085 so that Google doesn't have to have any custom code. After checking this in I'll 71086 work on bulletproofing the undo stack 71087 71088 * WebCore.xcodeproj/project.pbxproj: 71089 * editing/CompositeEditCommand.cpp: 71090 (WebCore::CompositeEditCommand::insertLineBreak): Added this convenience method. 71091 (WebCore::CompositeEditCommand::inputText): Added code to select all inserted text, not 71092 just the last paragraph. Added code to support an input string with '\n's. 71093 * editing/CompositeEditCommand.h: 71094 * editing/Editor.cpp: 71095 (WebCore::Editor::removeFormattingAndStyle): Moved code to its own EditCommand. 71096 * editing/RemoveFormatCommand.cpp: Added. Moved code from removeFormattingAndStyle here. 71097 (WebCore::RemoveFormatCommand::RemoveFormatCommand): 71098 (WebCore::RemoveFormatCommand::doApply): Added code to remove fully selected lists. 71099 * editing/RemoveFormatCommand.h: Added. 71100 (WebCore::RemoveFormatCommand::editingAction): 71101 71102 2007-11-28 Dan Bernstein <mitz (a] apple.com> 71103 71104 Reviewed by Dave Hyatt. 71105 71106 - fix <rdar://problem/5612459> CrashTracer: [REGRESSION] 61 crashes in Safari at com.apple.WebCore: WebCore::AutoTableLayout::layout + 2046 71107 71108 Test: fast/table/empty-auto-column-zero-divide.html 71109 71110 * rendering/AutoTableLayout.cpp: 71111 (WebCore::AutoTableLayout::recalcColumn): 71112 (WebCore::AutoTableLayout::fullRecalc): 71113 (WebCore::AutoTableLayout::calcEffectiveWidth): 71114 (WebCore::AutoTableLayout::layout): When distributing the remaining 71115 width among columns, skip those whose effective (rather than 71116 specified) width is auto and contain only empty cells. 71117 71118 2007-11-28 Peter Kasting <pkasting (a] google.com> 71119 71120 Reviewed by Alp Toker. 71121 71122 http://bugs.webkit.org/show_bug.cgi?id=16169 71123 GIF decoder needs to set hasAlpha() correctly on subsequent frames. 71124 71125 This also removes the workaround for this problem in 71126 ImageSourceCairo.cpp. 71127 71128 * platform/graphics/cairo/ImageSourceCairo.cpp: 71129 (WebCore::ImageSource::frameHasAlphaAtIndex): 71130 * platform/image-decoders/gif/GIFImageDecoder.cpp: 71131 (WebCore::GIFImageDecoder::initFrameBuffer): 71132 71133 2007-11-28 Dan Bernstein <mitz (a] apple.com> 71134 71135 Reviewed by Darin Adler and Adam Roben. 71136 71137 - <rdar://problem/5057218> Reenable "recent searches" search field menu when menu is fully implemented 71138 71139 * platform/win/SearchPopupMenuWin.cpp: 71140 (WebCore::SearchPopupMenu::enabled): Changed to return true. 71141 (WebCore::autosaveKey): Added. Returns a preferences key for the 71142 autosave name by prefixing it with "com.apple.WebKit.searchField:". 71143 (WebCore::SearchPopupMenu::saveRecentSearches): Implemented. 71144 (WebCore::SearchPopupMenu::loadRecentSearches): Implemented. 71145 71146 2007-11-28 Alp Toker <alp (a] atoker.com> 71147 71148 Reviewed by Mark Rowe. 71149 71150 http://bugs.webkit.org/show_bug.cgi?id=15689 71151 [GTK] Background of loading images is always black 71152 71153 frameHasAlphaAtIndex() exists only to allow optimization for cases we 71154 are certain the image can be blitted rather than composited. 71155 71156 Thus we need to be conservative, returning false only when we are 71157 absolutely certain there is no need for composited copying, and true 71158 otherwise. 71159 71160 CG doesn't even bother with this optimization at all and always 71161 returns true. 71162 71163 Patch includes a workaround for 71164 http://bugs.webkit.org/show_bug.cgi?id=16169 71165 GIF ImageDecoder hasAlpha() return value incorrect 71166 71167 * platform/graphics/cairo/ImageSourceCairo.cpp: 71168 (WebCore::ImageSource::frameHasAlphaAtIndex): 71169 71170 2007-11-27 Alp Toker <alp (a] atoker.com> 71171 71172 Reviewed by Mark Rowe. 71173 71174 Install the JavaScriptCore headers as part of the GTK+ port. 71175 71176 * WebCore.pro: 71177 71178 2007-11-27 Beth Dakin <bdakin (a] apple.com> 71179 71180 Reviewed by Oliver. 71181 71182 Fix for <rdar://problem/5616052> SVGs with width or height of 100% 71183 hang when used as a background-image (16164) 71184 71185 * platform/graphics/svg/SVGImage.cpp: 71186 (WebCore::SVGImage::size): Use valueAsPercentage() for percents 71187 instead of valueInSpecifiedUnits(). valueInSpecifiedUnits() 71188 returns, for example, 50 for 50%, so multiplying percentages by the 71189 default size of 300 x 150 led to ridiculously huge dimensions for 71190 SVG images, and the subsequent hang. 71191 71192 2007-11-27 Jon Honeycutt <jhoneycutt (a] apple.com> 71193 71194 Reviewed by Adam. 71195 71196 Set haveRegisteredWindowClass when we register the window class. 71197 71198 * plugins/win/PluginViewWin.cpp: 71199 (WebCore::registerPluginView): 71200 71201 2007-11-27 Timothy Hatcher <timothy (a] apple.com> 71202 71203 Reviewed by Sam Weinig. 71204 71205 Bug 16165: Dragging the inspector toolbar should move the window 71206 http://bugs.webkit.org/show_bug.cgi?id=16165 71207 71208 * page/inspector/DocumentPanel.js: Call the new drag functions, and cleanup code. 71209 * page/inspector/inspector.css: Only make the toolbar transparent in detached mode. 71210 * page/inspector/inspector.js: Call the new drag functions, and cleanup code. Add 71211 toolbar drag functions that move the window. 71212 71213 2007-11-27 Antti Koivisto <antti (a] apple.com> 71214 71215 Reviewed by Mitz. 71216 71217 Small changes to make RenderSlider a bit more generic so it can be used in video controls. 71218 71219 * html/HTMLInputElement.cpp: 71220 (WebCore::HTMLInputElement::defaultEventHandler): Fix coordinates with forwarded events. 71221 * rendering/RenderSlider.cpp: 71222 (WebCore::HTMLSliderThumbElement::defaultEventHandler): Fix coordinates with forwarded events. 71223 (WebCore::RenderSlider::setStyle): 71224 (WebCore::RenderSlider::createThumbStyle): Copy thumb left and top from the orginal style so position does not reset. 71225 (WebCore::RenderSlider::mouseEventIsInThumb): Make this work with forwarded events. 71226 * rendering/RenderSlider.h: 71227 71228 2007-11-27 Antti Koivisto <antti (a] apple.com> 71229 71230 Reviewed by Darin. 71231 71232 - Don't use hasPseudoId() optimization for pseudo styles used in shadow trees. These styles 71233 generally exist when asked for so the optimization does not do much. This reverses the continuing 71234 growth of the _pseudoBits bitfield in RenderStyle. 71235 - Add some pseudo elements for media controls 71236 71237 * css/CSSSelector.cpp: 71238 (WebCore::CSSSelector::extractPseudoType): 71239 * css/CSSSelector.h: 71240 (WebCore::CSSSelector::): 71241 * css/CSSStyleSelector.cpp: 71242 (WebCore::CSSStyleSelector::matchRulesForList): 71243 (WebCore::CSSStyleSelector::checkOneSelector): 71244 * rendering/RenderObject.cpp: 71245 (WebCore::RenderObject::getPseudoStyle): 71246 * rendering/RenderStyle.cpp: 71247 (WebCore::pseudoBit): 71248 (WebCore::RenderStyle::hasPseudoStyle): 71249 (WebCore::RenderStyle::setHasPseudoStyle): 71250 * rendering/RenderStyle.h: 71251 (WebCore::RenderStyle::): 71252 71253 2007-11-27 Timothy Hatcher <timothy (a] apple.com> 71254 71255 Reviewed by Kevin McCullough. 71256 71257 Bug 16161: window.moveBy(0, 0) moves the window by -22px vertically 71258 http://bugs.webkit.org/show_bug.cgi?id=16161 71259 71260 Removed the "Adjust the window rect to be in the coordinate space of 71261 the screen rect" step which was always adding (0,22) to the window 71262 position (on the main screen). Instead, account for screen X and Y 71263 in the bottom and right constrain step. 71264 71265 Added more test cases to: fast/dom/Window/window-resize.html 71266 71267 * bindings/js/kjs_window.cpp: 71268 (KJS::adjustWindowRect): 71269 71270 2007-11-27 Timothy Hatcher <timothy (a] apple.com> 71271 71272 Reviewed by Adam Roben. 71273 71274 * page/inspector/inspector.css: Make the text in the Network 71275 panel legend more readable. 71276 71277 2007-11-27 Timothy Hatcher <timothy (a] apple.com> 71278 71279 Reviewed by Adam Roben. 71280 71281 Don't call setNeedsReapplyStylesInAllFrames if the 71282 authorAndUserStylesEnabled setting didn't change. 71283 71284 * page/Settings.cpp: 71285 (WebCore::Settings::setAuthorAndUserStylesEnabled): 71286 71287 2007-11-27 Alp Toker <alp (a] atoker.com> 71288 71289 Fix potential broken build due to a missing DEPENDPATH. 71290 71291 * WebCore.pro: 71292 71293 2007-11-26 Timothy Hatcher <timothy (a] apple.com> 71294 71295 Reviewed by Dave Hyatt. 71296 71297 <rdar://problem/5569233> Add the ability to disable author and user CSS styles 71298 71299 * WebCore.base.exp: Add the Settings::setAuthorAndUserStylesEnabled symbol. 71300 * css/CSSStyleSelector.cpp: 71301 (WebCore::CSSStyleSelector::CSSStyleSelector): Add a new matchAuthorAndUserStyles parameter. 71302 (WebCore::CSSStyleSelector::styleForElement): Check m_matchAuthorAndUserStyles before 71303 matching user and author rules. 71304 (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto. 71305 (WebCore::CSSStyleSelector::styleRulesForElement): Ditto. 71306 * css/CSSStyleSelector.h: Add m_matchAuthorAndUserStyles and new constructor parameter. 71307 * dom/Document.cpp: 71308 (WebCore::Document::Document): Pass Settings::authorAndUserStylesEnabled to the CSSStyleSelector. 71309 (WebCore::Document::recalcStyleSelector): Skip collecting the author stylesheets if 71310 Settings::authorAndUserStylesEnabled is false, and pass that to the CSSStyleSelector. 71311 * page/Settings.cpp: 71312 (WebCore::Settings::Settings): Initialize m_authorAndUserStylesEnabled to true. 71313 (WebCore::Settings::setAuthorAndUserStylesEnabled): Recalc style in all the frames 71314 when the setting changes. 71315 * page/Settings.h: Add m_authorAndUserStylesEnabled. 71316 (WebCore::Settings::authorAndUserStylesEnabled): Return m_authorAndUserStylesEnabled. 71317 71318 2007-11-27 Alp Toker <alp (a] atoker.com> 71319 71320 Reviewed by Mark Rowe. 71321 71322 Based on changes by Mike Emmel. 71323 71324 CURL HTTP backend local file fixes: 71325 71326 Set a MIME type for local files based on the file extension. 71327 71328 Remove any HTTP query part sent to a local file. 71329 71330 * platform/network/curl/ResourceHandleManager.cpp: 71331 (WebCore::ResourceHandleManager::startJob): 71332 71333 2007-11-26 Brady Eidson <beidson (a] apple.com> 71334 71335 Reviewed by Mark Rowe 71336 71337 Allow setting the default storage quota per database origin 71338 71339 * WebCore.base.exp: 71340 71341 * page/Settings.cpp: 71342 (WebCore::Settings::setDefaultDatabaseOriginQuota): 71343 (WebCore::Settings::defaultDatabaseOriginQuota): 71344 * page/Settings.h: 71345 71346 * storage/DatabaseTracker.cpp: 71347 (WebCore::DatabaseTracker::DatabaseTracker): 71348 (WebCore::DatabaseTracker::setDefaultOriginQuota): 71349 (WebCore::DatabaseTracker::defaultOriginQuota): 71350 * storage/DatabaseTracker.h: 71351 71352 2007-11-26 Peter Kasting <pkasting (a] google.com> 71353 71354 Reviewed by Alp Toker. 71355 71356 http://bugs.webkit.org/show_bug.cgi?id=15974 71357 GIF decoding should respect frames' specified disposal methods. 71358 71359 * platform/image-decoders/ImageDecoder.h: 71360 (WebCore::RGBA32Buffer::): 71361 (WebCore::RGBA32Buffer::RGBA32Buffer): 71362 (WebCore::RGBA32Buffer::disposalMethod): 71363 (WebCore::RGBA32Buffer::setDisposalMethod): 71364 * platform/image-decoders/gif/GIFImageDecoder.cpp: 71365 (WebCore::GIFImageDecoder::frameBufferAtIndex): 71366 (WebCore::GIFImageDecoder::initFrameBuffer): 71367 (WebCore::GIFImageDecoder::prepEmptyFrameBuffer): 71368 (WebCore::GIFImageDecoder::haveDecodedRow): 71369 (WebCore::GIFImageDecoder::frameComplete): 71370 * platform/image-decoders/gif/GIFImageDecoder.h: 71371 * platform/image-decoders/gif/GIFImageReader.cpp: 71372 (GIFImageReader::read): 71373 * platform/image-decoders/gif/GIFImageReader.h: 71374 (GIFFrameReader::GIFFrameReader): 71375 71376 2007-11-26 Adam Roben <aroben (a] apple.com> 71377 71378 Add a Color(CGColorRef) constructor 71379 71380 Reviewed by Darin. 71381 71382 * platform/graphics/Color.h: 71383 * platform/graphics/cg/ColorCG.cpp: 71384 (WebCore::Color::Color): Added. 71385 71386 2007-11-26 Adele Peterson <adele (a] apple.com> 71387 71388 Reviewed by Darin. 71389 71390 Update to last change. Moved addPendingSheet call to within nil check for m_cachedSheet. 71391 71392 * page/Frame.cpp: 71393 (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): 71394 71395 2007-11-26 Adele Peterson <adele (a] apple.com> 71396 71397 Reviewed by Darin. 71398 71399 Fix for <rdar://problem/5591583> CrashTracer: [USER] 157 in Mail crashes at -[WebCoreFrameBridge reapplyStylesForDeviceType:] 71400 71401 * page/Frame.cpp: Add nil checks since every other caller of requestCSSStyleSheet checks for nil. 71402 (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): 71403 (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader): 71404 71405 2007-11-26 Mark Rowe <mrowe (a] apple.com> 71406 71407 GCC 4.2 build fix. 71408 71409 * xml/XSLTUnicodeSort.cpp: Add another WTF_ATTRIBUTE_PRINTF. 71410 71411 2007-11-26 Feng Qian <feng (a] chromium.org> 71412 71413 Reviewed and touched up by Sam Weinig. 71414 71415 Fix for http://bugs.webkit.org/show_bug.cgi?id=16073 71416 71417 Test: http/tests/security/xss-DENIED-invalid-domain-change.html 71418 71419 * dom/Document.cpp: 71420 (WebCore::Document::setDomain): Don't set the securityOrigin policy unless 71421 the set succeeds. Adds some early returns as well. 71422 71423 2007-11-26 Steve Falkenburg <sfalken (a] apple.com> 71424 71425 Build fix. 71426 71427 * WebCore.vcproj/WebCore.make: 71428 * WebCore.vcproj/migrate-idls.sh: 71429 71430 2007-11-26 Sam Weinig <sam (a] webkit.org> 71431 71432 Fix potential null-dereference. 71433 71434 Reviewed by Adam Roben. 71435 71436 * page/FrameTree.cpp: 71437 (WebCore::FrameTree::isDescendantOf): 71438 71439 2007-11-26 Sam Weinig <sam (a] webkit.org> 71440 71441 Reviewed by Darin. 71442 71443 Fix for <rdar://problem/5592988> 71444 - Enforce tighter restrictions on what frames in other domains 71445 can be navigated. 71446 71447 Tests: http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change.html 71448 http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html 71449 71450 * bindings/js/kjs_window.cpp: 71451 (KJS::Window::put): 71452 (KJS::Location::put): 71453 (KJS::LocationProtoFuncReplace::callAsFunction): 71454 (KJS::LocationProtoFuncAssign::callAsFunction): 71455 * loader/FrameLoader.cpp: 71456 (WebCore::FrameLoader::createWindow): 71457 (WebCore::FrameLoader::load): 71458 (WebCore::FrameLoader::shouldAllowNavigation): Move and update logic from canTarget(). 71459 * loader/FrameLoader.h: 71460 * page/FrameTree.cpp: 71461 (WebCore::FrameTree::isDescendantOf): Make this O(1) in the case when both frames are not 71462 in the same page. 71463 71464 2007-11-26 Steve Falkenburg <sfalken (a] apple.com> 71465 71466 Build fix. 71467 71468 * WebCore.vcproj/migrate-idls.sh: 71469 71470 2007-11-26 Dan Bernstein <mitz (a] apple.com> 71471 71472 Reviewed by Dave Hyatt. 71473 71474 - fix <rdar://problem/5609337> Making a float shorter does not remove it from the floating object list of a nested block it intruded into 71475 71476 Test: fast/dynamic/float-withdrawal-2.html 71477 71478 * rendering/RenderBlock.cpp: 71479 (WebCore::RenderBlock::layoutBlockChildren): When a float may have 71480 been withdrawn from a child, mark all descendants if necessary and not 71481 just the child. 71482 71483 2007-11-26 Steve Falkenburg <sfalken (a] apple.com> 71484 71485 Build fix. 71486 71487 * WebCore.vcproj/MigrateIDLAndScripts: Copied from WebCore.vcproj/MigrateIDLAndScripts.make. 71488 * WebCore.vcproj/MigrateIDLAndScripts.make: Removed. 71489 * WebCore.vcproj/migrate-idls.sh: 71490 71491 2007-11-26 Brady Eidson <beidson (a] apple.com> 71492 71493 Reviewed by Anders (and typo lovingly found by Adam) 71494 71495 Change Databases to be stored in a per-origin directory hierarchy - this will make 71496 storage quotas much easier to enforce 71497 71498 * platform/SecurityOriginData.cpp: 71499 (WebCore::SecurityOriginData::SecurityOriginData): Parse string based on '_' instead of ':' 71500 (WebCore::SecurityOriginData::stringIdentifier): Change to use '_' as a separator instead of ':'. 71501 '_' still works due to not being allowed in domain names, but also is a valid filename character ' 71502 on all filesystems we care about 71503 71504 * storage/DatabaseTracker.cpp: 71505 (WebCore::DatabaseTracker::fullPathForDatabase): Create a per-origin directory hierarchy to categorize 71506 databases by origin 71507 71508 2007-11-26 Timothy Hatcher <timothy (a] apple.com> 71509 71510 Reviewed by Adam Roben. 71511 71512 Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title 71513 http://bugs.webkit.org/show_bug.cgi?id=16137 71514 71515 On Leopard the toolbar background will be transparent, to allow the 71516 window background to show through the transparent WebView. The 71517 search results divs needed to move inside the "main" div, so they 71518 would be clipped and not show where the toolbar is. 71519 71520 * page/InspectorController.cpp: 71521 (WebCore::platform): Return a string for which platform we are. 71522 (WebCore::InspectorController::windowScriptObjectAvailable): 71523 Define the platform function on the JavaScript class. 71524 * page/inspector/Panel.js: Add panels to the panels div. 71525 * page/inspector/inspector.css: On the Leopard platform make 71526 the toolbar background transparent so the window background shows. 71527 * page/inspector/inspector.html: Add a panels div and move search 71528 result divs inside the main div. 71529 * page/inspector/inspector.js: Tweak the resize code to acount for 71530 the search results divs moving inside the main div. 71531 71532 2007-11-25 Rodney Dawes <dobey (a] wayofthemonkey.com> 71533 71534 Reviewed by Maciej Stachowiak. 71535 71536 Remove the unneeded CFNETWORK #ifdefs. 71537 71538 * loader/NetscapePlugInStreamLoader.h: 71539 71540 2007-11-24 Laszlo Gombos <laszlo.gombos (a] gmail.com> 71541 71542 Reviewed by Sam Weinig. 71543 71544 Add printf format attribute to several functions. Use the the new WTF_ATTRIBUTE_PRINTF define. 71545 71546 * dom/XMLTokenizer.cpp: 71547 * dom/XMLTokenizer.h: 71548 * platform/DeprecatedString.h: 71549 * platform/PlatformString.h: 71550 71551 2007-11-25 Dan Bernstein <mitz (a] apple.com> 71552 71553 Reviewed by Adam Roben. 71554 71555 - fix off-center error images 71556 71557 Covered by many pixel tests with missing images 71558 71559 * rendering/RenderImage.cpp: 71560 (WebCore::RenderImage::paint): Account for the 1 pixel outline when 71561 positioning the error image. 71562 71563 2007-11-25 Kevin Ollivier <kevino (a] theolliviers.com> 71564 71565 wx build fix. Fix filename case for case-sensitive filesystems. 71566 71567 * WebCoreSources.bkl: 71568 71569 2007-11-22 Nikolas Zimmermann <zimmermann (a] kde.org> 71570 71571 Reviewed by Adam Roben. 71572 71573 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15564 71574 71575 Fix problems with hidden glyphs. They were taken into account for quite 71576 some operations (hit testing, length calulcations etc..) except painting. 71577 Especially fixes boundaries of <textPath> (see using Web Inspector) if 71578 text-anchor isn't equal to 'start'. 71579 71580 Added testcase: 71581 svg/text/textPathBoundsBug.svg 71582 71583 Fixed testcase: (all showed text selection problems on text paths) 71584 svg/batik/text/textGlyphOrientationHorizontal.svg 71585 svg/batik/text/textOnPath.svg 71586 svg/batik/text/textOnPath3.svg 71587 svg/batik/text/verticalTextOnPath.svg 71588 svg/text/text-align-04-b.svg 71589 svg/W3C-SVG-1.1/text-align-04-b.svg 71590 71591 * rendering/SVGCharacterLayoutInfo.cpp: 71592 (WebCore::SVGChar::isHidden): 71593 * rendering/SVGCharacterLayoutInfo.h: 71594 (WebCore::SVGCharOnPath::SVGCharOnPath): 71595 * rendering/SVGInlineTextBox.cpp: 71596 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): 71597 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback): 71598 * rendering/SVGRootInlineBox.cpp: 71599 (WebCore::topLeftPositionOfCharacterRange): 71600 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): 71601 (WebCore::cummulatedWidthOrHeightOfTextChunk): 71602 (WebCore::applyTextAnchorToTextChunk): 71603 (WebCore::applyTextLengthCorrectionToTextChunk): 71604 (WebCore::SVGRootInlineBox::layoutInlineBoxes): 71605 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 71606 (WebCore::SVGRootInlineBox::buildTextChunks): 71607 71608 2007-11-25 Alexey Proskuryakov <ap (a] webkit.org> 71609 71610 Reviewed by Maciej. 71611 71612 http://bugs.webkit.org/show_bug.cgi?id=15919 71613 XSLTProcessor.transformToFragment creates an extra not defined TEXT_NODE at the end 71614 71615 Test: fast/xsl/extra-lf-at-end.html 71616 71617 * xml/XSLTProcessor.cpp: 71618 (WebCore::writeToVector): Changed to use Vector to avoid slow String::apend(). 71619 (WebCore::saveResultToString): Remove trailing line feed if present. 71620 71621 2007-11-24 Mark Rowe <mrowe (a] apple.com> 71622 71623 Reviewed by Tim Hatcher. 71624 71625 Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream). 71626 http://bugs.webkit.org/show_bug.cgi?id=13705 71627 71628 Don't buffer the entire stream contents in memory in the ResourceLoader. 71629 71630 * loader/mac/NetscapePlugInStreamLoaderMac.mm: 71631 (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader): 71632 (WebCore::NetscapePlugInStreamLoader::didFinishLoading): 71633 * loader/mac/WebPlugInStreamLoaderDelegate.h: 71634 71635 2007-11-23 Adam Roben <aroben (a] apple.com> 71636 71637 Get rid of WebCoreSystemInterface on Windows 71638 71639 The one function defined in that file is now in WebKitSystemInterface. 71640 71641 Reviewed by Tim. 71642 71643 * WebCore.vcproj/WebCore.vcproj: Removed 71644 WebCoreSystemInterface.{cpp,h}. 71645 * platform/graphics/cg/ImageCG.cpp: Made #include of 71646 WebCoreSystemInterface.h Mac-only. 71647 * platform/win/GraphicsContextWin.cpp: Ditto. 71648 * platform/win/WebCoreSystemInterface.cpp: Removed. 71649 * platform/win/WebCoreSystemInterface.h: Removed. 71650 71651 2007-11-24 Adam Roben <aroben (a] apple.com> 71652 71653 Replace uses of %@ with %s in the inspector 71654 71655 Rubberstamped by Tim. 71656 71657 * English.lproj/InspectorLocalizedStrings.js: Changed %@ to %s. 71658 * page/inspector/DatabasePanel.js: Ditto. 71659 * page/inspector/StylesSidebarPane.js: Ditto. 71660 * page/inspector/inspector.js: Ditto. 71661 * page/inspector/utilities.js: 71662 (String.vsprintf): Removed @ as a format specifier. 71663 71664 2007-11-24 Adam Roben <aroben (a] apple.com> 71665 71666 Windows build fix 71667 71668 Turn off the change made in r27984 on Windows for now. 71669 71670 * xml/XSLTProcessor.cpp: 71671 (WebCore::XSLTProcessor::transformToString): 71672 * xml/XSLTUnicodeSort.cpp: 71673 71674 2007-11-24 Timothy Hatcher <timothy (a] apple.com> 71675 71676 Reviewed by Adam Roben. 71677 71678 Bug 16121: Web Inspector needs helper functions that pass a 'this' object to 71679 addEventListener and setTimeout 71680 http://bugs.webkit.org/show_bug.cgi?id=16121 71681 71682 Add Function.prototype.bind. This helper will return a wrapper function 71683 that will call the original function with the supplied arguments 71684 and using the supplied 'this' object. 71685 71686 * page/inspector/Database.js: Remove a use of setTimeout by 71687 inheriting some common functions from Resource. 71688 * page/inspector/DatabasePanel.js: Use the new bind function. 71689 * page/inspector/ConsolePanel.js: Ditto. 71690 * page/inspector/DocumentPanel.js: Ditto. 71691 * page/inspector/NetworkPanel.js: Ditto. 71692 * page/inspector/PropertiesSection.js: Ditto. 71693 * page/inspector/Resource.js: Ditto. 71694 * page/inspector/SidebarPane.js: Ditto. 71695 * page/inspector/inspector.html: Moved Database.js after Resource.js, 71696 now that Database.js uses it. 71697 * page/inspector/inspector.js: Use the new bind function. Also 71698 removed a setTimeout used for the localized strings code. There is 71699 now a load event listener added to the localized strings script 71700 element that will call WebInspector.loaded. 71701 * page/inspector/utilities.js: Add Function.prototype.bind. 71702 71703 2007-11-24 Timothy Hatcher <timothy (a] apple.com> 71704 71705 Reviewed by Adam Roben. 71706 71707 Bug 16112: Some Web Inspector UI elements use offsetWidth and offsetHeight before the stylesheet loads 71708 http://bugs.webkit.org/show_bug.cgi?id=16112 71709 71710 In the places where we use offsetWidth and offsetHeight before 71711 the stylesheet loads there is now a check. If the body's 71712 offsetWidth is not greater than zero, then set a timeout 71713 to do the updates requiring the stylesheet later. 71714 71715 The three places this happened: 71716 - DOM tree selection highlight would show up at the wrong height 71717 when using Inspect Element to open the inspector. 71718 - DOM tree breadcrumbs would not collapse when using Inspect Element 71719 to open the inspector. 71720 - Network Timeline divider lines would not show when opening directly 71721 into the timeline. 71722 71723 * page/inspector/DocumentPanel.js: Check if the stylesheet loaded. 71724 * page/inspector/NetworkPanel.js: Ditto. 71725 * page/inspector/inspector.html: Include the stylesheet before 71726 any scripts, this will help get it loaded sooner. 71727 71728 2007-11-24 Kevin Ollivier <kevino (a] theolliviers.com> 71729 71730 Add wx implementation for pathGetFilename 71731 71732 Reviewed by David D. Kilzer. 71733 71734 * html/HTMLFormElement.cpp: 71735 (WebCore::pathGetFilename): 71736 71737 2007-11-23 Timothy Hatcher <timothy (a] apple.com> 71738 71739 Reviewed by Adam Roben. 71740 71741 Bug 16110: Clicking inside the resource headers in the network timeline collapses them 71742 http://bugs.webkit.org/show_bug.cgi?id=16110 71743 71744 Toggle the resource headers only if the click happens on the 71745 resource row, not within the headers area. 71746 71747 * WebCore.xcodeproj/project.pbxproj: 71748 * page/inspector/NetworkPanel.js: 71749 71750 2007-11-23 Kevin Ollivier <kevino (a] theolliviers.com> 71751 71752 Win build fixes. CURL needs winsock, so don't disable it, and 71753 include pthreads.h to get the threadsafe *_r functions. 71754 71755 Reviewed by Adam Roben. 71756 71757 * config.h: 71758 * loader/FTPDirectoryDocument.cpp: 71759 * loader/FTPDirectoryParser.cpp: 71760 71761 2007-11-23 Kevin Ollivier <kevino (a] theolliviers.com> 71762 71763 wx build fix. Move wx settings to project build settings, 71764 remove some old settings that were masking a build problem, 71765 and fix include ordering to ensure proper config.h and 71766 unicode/utf8.h headers are used. 71767 71768 * webcore-base.bkl: 71769 * webcore-wx.bkl: 71770 71771 2007-11-23 Simon Hausmann <hausmann (a] webkit.org> 71772 71773 Reviewed by George Staikos <staikos (a] kde.org>. 71774 71775 Another build fix specific to trunk (instead of the stable branch) to fix make clean (which the buildbots call). 71776 71777 * WebCore.pro: 71778 71779 2007-11-23 Alexey Proskuryakov <ap (a] webkit.org> 71780 71781 Not reviewed, trivial leak fix. 71782 71783 Fix xsltUnicodeSortFunction() memory leaks. 71784 71785 * xml/XSLTUnicodeSort.cpp: 71786 (WebCore::xsltUnicodeSortFunction): 71787 71788 2007-11-23 Alexey Proskuryakov <ap (a] webkit.org> 71789 71790 Reviewed by Maciej. 71791 71792 <rdar://problem/5539306> REGRESSION: redirect fails when subframe's document is opened but 71793 not closed (affects digg.com) 71794 71795 Tests: fast/loader/meta-refresh-vs-open.html 71796 fast/loader/redirect-with-open-subframe-2.html 71797 fast/loader/redirect-with-open-subframe.html 71798 http/tests/loading/onload-vs-immediate-refresh.pl 71799 71800 * loader/FrameLoader.cpp: 71801 (WebCore::FrameLoader::scheduleRedirection): Only check whether the load is complete for 71802 HTTP redirects - JavaScript-initiated ones are effective immediately. 71803 71804 2007-11-23 Dan Bernstein <mitz (a] apple.com> 71805 71806 Reviewed by Alexey Proskuryakov. 71807 71808 - apply matrix transforms on the correct side of the transformation 71809 matrix (not on the side where the vector is multiplied). 71810 71811 Test: fast/transforms/matrix-02.html 71812 71813 * rendering/RenderStyle.h: 71814 (WebCore::MatrixTransformOperation::apply): 71815 71816 2007-11-23 Alexey Proskuryakov <ap (a] webkit.org> 71817 71818 Reviewed by Maciej. 71819 71820 http://bugs.webkit.org/show_bug.cgi?id=16077 71821 <rdar://problem/5609785> XSLT processor <xsl:sort> algorithm is incompatible with other 71822 browser implementations 71823 71824 Test: fast/xsl/sort-unicode.xml 71825 71826 * xml/XSLTProcessor.cpp: 71827 (WebCore::XSLTProcessor::transformToString): Set a custom sort function. 71828 71829 * xml/XSLTUnicodeSort.cpp: Added. 71830 (init_xsltTransformError): 71831 (xsltTransformError): 71832 (WebCore::xsltUnicodeSortFunction): 71833 * xml/XSLTUnicodeSort.h: Added. 71834 ICU-based implementation of xsl:sort, using an example from libxslt distribution. 71835 Only minimal coding style fixes to ease synchronization with upstream in the future. 71836 71837 * icu/unicode/ucol.h: Added. 71838 * icu/unicode/uset.h: Added. 71839 Taken from ICU 3.2 71840 71841 * WebCore.pro: 71842 * WebCore.vcproj/WebCore.vcproj: 71843 * WebCore.xcodeproj/project.pbxproj: 71844 * WebCoreSources.bkl: 71845 Added XSLTUnicodeSort.cpp. 71846 71847 2007-11-22 Alexey Proskuryakov <ap (a] webkit.org> 71848 71849 Reviewed by Maciej. 71850 71851 http://bugs.webkit.org/show_bug.cgi?id=14977 71852 Hixie's DOM Core performance test shows insert >10x slower than append 71853 71854 Each invocation of Element.childNodes[n] was creating and registering a new ChildNodeList, 71855 which persisted and listened to notifications until GC. 71856 71857 A fix is to avoid registering child node lists for notifications - they don't need them, as 71858 they share a common cache in Node. 71859 71860 * dom/Node.cpp: 71861 (WebCore::Node::registerNodeList): 71862 (WebCore::Node::unregisterNodeList): 71863 (WebCore::Node::notifyLocalNodeListsAttributeChanged): 71864 (WebCore::Node::notifyLocalNodeListsChildrenChanged): 71865 * dom/NodeList.h: 71866 (WebCore::NodeList::needsNotifications): 71867 71868 2007-11-22 Dan Bernstein <mitz (a] apple.com> 71869 71870 Reviewed by Antti Koivisto. 71871 71872 - fix http://bugs.webkit.org/show_bug.cgi?id=15811 71873 WebKit plug-ins can re-enter WebKit under attach() 71874 <rdar://problem/5577978> 71875 71876 Defer plug-in loading until after attach and recalcStyle using the 71877 post-attach callback mechanism. Netscape plug-ins are still loaded only 71878 after layout. 71879 71880 * dom/ContainerNode.cpp: 71881 Made NodeCallbackQueue elements retain the Node because callbacks might 71882 delete nodes that are in the callback queue. 71883 (WebCore::ContainerNode::suspendPostAttachCallbacks): Added. Needed to 71884 prevent post-attach callbacks from being dispatched under recalcStyle(). 71885 (WebCore::ContainerNode::resumePostAttachCallbacks): Ditto. 71886 (WebCore::ContainerNode::dispatchPostAttachCallbacks): Factored out from 71887 attach(). 71888 (WebCore::ContainerNode::attach): 71889 * dom/ContainerNode.h: 71890 * dom/Document.cpp: 71891 (WebCore::Document::recalcStyle): Added calls to 71892 suspendPostAttachCallbacks() and resumePostAttachCallbacks(). 71893 * html/HTMLEmbedElement.cpp: 71894 (WebCore::HTMLEmbedElement::HTMLEmbedElement): 71895 (WebCore::HTMLEmbedElement::attach): Changed to queue the widget update 71896 for post-attach. 71897 (WebCore::HTMLEmbedElement::updateWidget): Added. Called by the 71898 post-attach callback. 71899 * html/HTMLEmbedElement.h: Added an m_needWidgetUpdate member needed to 71900 prevent a double update if another plug-in's post-attach updateWidget() 71901 triggers a layout which updates the widget before this plug-in's 71902 post-attach callback is invoked. 71903 (WebCore::HTMLEmbedElement::setNeedWidgetUpdate): Added a setter for 71904 m_needWidgetUpdate. 71905 * html/HTMLObjectElement.cpp: 71906 (WebCore::HTMLObjectElement::attach): Changed to queue the widget update 71907 for post-attach. 71908 (WebCore::HTMLObjectElement::updateWidget): Added. Called by the 71909 post-attach callback. 71910 * html/HTMLObjectElement.h: 71911 (WebCore::HTMLObjectElement::setNeedWidgetUpdate): Added a setter for 71912 m_needWidgetUpdate. 71913 * html/HTMLPlugInElement.cpp: 71914 (WebCore::HTMLPlugInElement::updateWidgetCallback): Added. 71915 * html/HTMLPlugInElement.h: 71916 (WebCore::HTMLPlugInElement::updateWidget): 71917 * rendering/RenderPartObject.cpp: 71918 (WebCore::RenderPartObject::updateWidget): Added calls to 71919 setNeedWidgetUpdate(false) so that if this method is called from 71920 FrameView::layout() during post-attach dispatch of another plug-in, 71921 it will not be called again when this plug-in's post-attach callback 71922 is dispatched. 71923 * rendering/RenderPartObject.h: 71924 (WebCore::RenderPartObject::updateWidget) Renamed argument to match 71925 the method definition. 71926 71927 2007-11-22 Timothy Hatcher <timothy (a] apple.com> 71928 71929 Reviewed by Dan Bernstein. 71930 71931 Fix the Element.hasStyleClass and Element.removeStyleClass helpers 71932 to not find and replace substrings, but whole class names at the 71933 beginning or end of the string or surrounded by whitespace. 71934 71935 * page/inspector/utilities.js: 71936 71937 2007-11-22 Timothy Hatcher <timothy (a] apple.com> 71938 71939 Revert part of my r27935 change that made the Tip balloons 71940 animate with CSS transitions. The balloon was only opacity 0, 71941 so it would cause its row to highlight when hovering over 71942 another row. 71943 71944 * page/inspector/NetworkPanel.js: 71945 * page/inspector/inspector.css: 71946 71947 2007-11-22 Dan Bernstein <mitz (a] apple.com> 71948 71949 Reviewed by Maciej Stachowiak. 71950 71951 - fix http://bugs.webkit.org/show_bug.cgi?id=15943 71952 -webkit-transform matrix does not work 71953 71954 Test: fast/transforms/matrix-01.html 71955 71956 Parse all six matrix entries as numbers. 71957 71958 * css/CSSParser.cpp: 71959 (WebCore::TransformOperationInfo::TransformOperationInfo): 71960 (WebCore::CSSParser::parseTransform): 71961 * css/CSSStyleSelector.cpp: 71962 (WebCore::CSSStyleSelector::applyProperty): 71963 * rendering/RenderStyle.cpp: 71964 (WebCore::MatrixTransformOperation::blend): 71965 * rendering/RenderStyle.h: 71966 (WebCore::MatrixTransformOperation::MatrixTransformOperation): 71967 (WebCore::MatrixTransformOperation::apply): 71968 71969 2007-11-22 Laszlo Gombos <laszlo.gombos (a] gmail.com> 71970 71971 Reviewed by Alp Toker. 71972 71973 Fix some compilation warnings. Do not reference undefined (platform) specific type (WebCore::CachedFont::m_fontData) 71974 71975 * loader/CachedFont.cpp: 71976 (WebCore::CachedFont::~CachedFont): 71977 (WebCore::CachedFont::allReferencesRemoved): 71978 71979 2007-11-22 Alp Toker <alp (a] atoker.com> 71980 71981 Reviewed by Mark Rowe. 71982 71983 GTK+ drawing fix. 71984 71985 Add a check to avoid crashing when the GraphicsContext is not 71986 associated with a GdkEventExpose. This was noticed when adding 71987 printing support but might be triggered in other situations too. 71988 71989 * platform/gtk/WidgetGtk.cpp: 71990 (WebCore::Widget::paint): 71991 71992 2007-11-22 Julien Chaffraix <julien.chaffraix (a] gmail.com> 71993 71994 Reviewed by Alexey. 71995 71996 Bug 15530: XMLHttpRequest should not support certain methods 71997 71998 Test: http/tests/xmlhttprequest/xmlhttprequest-forbidden-methods-exception.html 71999 72000 * xml/XMLHttpRequest.cpp: 72001 (WebCore::XMLHttpRequest::open): 72002 72003 2007-11-22 Simon Hausmann <hausmann (a] kde.org> 72004 72005 Reviewed by George. 72006 72007 For the build inside Qt include qbase.pri and don't duplicate what qbase.pri otherwise does (install targets, etc.) 72008 72009 * WebCore.pro: 72010 72011 2007-11-22 Simon Hausmann <hausmann (a] kde.org> 72012 72013 Reviewed by George. 72014 72015 Don't set OBJECTS_DIR when building inside Qt 72016 72017 * WebCore.pro: 72018 72019 2007-11-22 Simon Hausmann <hausmann (a] kde.org> 72020 72021 Reviewed by George. 72022 72023 Use ../generated as path for the generated sources for builds inside Qt 72024 72025 * WebCore.pro: 72026 72027 2007-11-22 Simon Hausmann <hausmann (a] kde.org> 72028 72029 Reviewed by George. 72030 72031 Make the directory of where to put the generated sources configurable through the GENERATED_SOURCE_DIR variable 72032 72033 * WebCore.pro: 72034 72035 2007-11-22 Simon Hausmann <hausmann (a] kde.org> 72036 72037 Reviewed by George. 72038 72039 Centralize the setup for all the extra compilers in a addExtraCompiler function. 72040 72041 This allows adding a "generated_files" target that builds all generated files using "make generated_files". 72042 For the build inside Qt we do not generate actual rules for the extra compilers but instead 72043 do the variable substitution of compiler.output manually and add the generated sources to SOURCES. 72044 72045 * WebCore.pro: 72046 72047 2007-11-21 Timothy Hatcher <timothy (a] apple.com> 72048 72049 Reviewed by Eric Seidel. 72050 72051 Show Fonts as Yellow in the network timeline. 72052 72053 * page/inspector/NetworkPanel.js: 72054 * page/inspector/inspector.css: 72055 72056 2007-11-21 Dan Bernstein <mitz (a] apple.com> 72057 72058 Reviewed by Eric Seidel. 72059 72060 - fix <rdar://problem/5607037> REGRESSION (r27351): Departure date does not repaint when changed on Google Maps public transit planner (16034) 72061 72062 Test: fast/repaint/subtree-root-skipped.html 72063 72064 * page/FrameView.cpp: 72065 (WebCore::FrameViewPrivate::FrameViewPrivate): Initialize the layout 72066 root to 0. 72067 (WebCore::FrameView::layoutRoot): Changed to return a RenderObject 72068 instead of a Node. 72069 (WebCore::FrameView::layout): Changed for layout root being a renderer 72070 rather than a DOM node. Also replaced clearing the repaint rects 72071 set with asserting that it is empty if this is the top-level call to 72072 layout(). If it is not, the set may contain rects from enclosing 72073 layout() and those should not be removed. 72074 (WebCore::FrameView::scheduleRelayout): Changed for layout root being 72075 a renderer rather than a DOM node. 72076 (WebCore::isObjectAncestorContainerOf): Added this helper function that 72077 tests whether one object will be marked by calling 72078 markContainingBlocksForLayout() on the other. 72079 (WebCore::FrameView::scheduleRelayoutOfSubtree): Changed for layout 72080 root being a renderer rather than a DOM node. Changed the check if new 72081 and current layout roots are on the same path from the root to use 72082 the subgraph of the render tree defined by container()hood instead of 72083 the DOM tree and parenthood. 72084 * page/FrameView.h: 72085 * rendering/RenderBox.cpp: 72086 (WebCore::RenderBox::calcWidth): Changed for layout root being a 72087 renderer rather than a DOM node. 72088 * rendering/RenderObject.cpp: 72089 (WebCore::RenderObject::~RenderObject): Added an assertion that the 72090 object being deleted is not currently the layout root. 72091 (WebCore::RenderObject::scheduleRelayout): Changed for layout root being 72092 a renderer rather than a DOM node. 72093 72094 2007-11-21 Mark Rowe <mrowe (a] apple.com> 72095 72096 Reviewed by Eric. 72097 72098 Fix WebCore to build without warnings under GCC 4.2. 72099 72100 * Configurations/Base.xcconfig: 72101 * css/CSSRuleList.cpp: 72102 (WebCore::CSSRuleList::deleteRule): 72103 * css/CSSStyleSelector.cpp: 72104 (WebCore::CSSStyleSelector::locateSharedStyle): 72105 * html/HTMLParser.cpp: 72106 (WebCore::HTMLParser::allowNestedRedundantTag): 72107 * rendering/RenderBlock.cpp: 72108 (WebCore::RenderBlock::fillInlineSelectionGaps): 72109 (WebCore::RenderBlock::fillBlockSelectionGaps): 72110 * rendering/RenderLayer.cpp: 72111 (WebCore::RenderLayer::stackingContext): 72112 (WebCore::RenderLayer::enclosingPositionedAncestor): 72113 (WebCore::RenderLayer::transparentAncestor): 72114 * rendering/RenderStyle.cpp: 72115 (WebCore::BackgroundLayer::fillUnsetProperties): 72116 (WebCore::Transition::fillUnsetProperties): 72117 * rendering/RenderText.cpp: 72118 (WebCore::RenderText::containsOnlyWhitespace): 72119 * rendering/bidi.cpp: 72120 (WebCore::RenderBlock::determineStartPosition): 72121 72122 2007-11-21 Alp Toker <alp (a] atoker.com> 72123 72124 Reviewed by Mark Rowe. 72125 72126 http://bugs.webkit.org/show_bug.cgi?id=16071 72127 Curl backend handles EINTR incorrectly 72128 72129 Defer timers during select() to avoid interruption by timer signals. 72130 72131 * platform/network/curl/ResourceHandleManager.cpp: 72132 (WebCore::ResourceHandleManager::downloadTimerCallback): 72133 72134 2007-11-21 Mark Rowe <mrowe (a] apple.com> 72135 72136 Reviewed by Tim Hatcher. 72137 72138 Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings 72139 72140 Update format strings to use format specifiers that match the argument types. 72141 72142 * loader/icon/IconDatabase.cpp: 72143 (WebCore::IconDatabase::performURLImport): 72144 (WebCore::IconDatabase::writeToDatabase): 72145 * platform/mac/TextCodecMac.cpp: 72146 (WebCore::TextCodecMac::decode): 72147 * storage/Database.cpp: 72148 (WebCore::Database::deliverAllPendingCallbacks): 72149 72150 2007-11-21 Xan Lopez <xan (a] gnome.org> 72151 72152 Reviewed by Alp Toker. 72153 72154 Clarify scroll event processing with a comment. 72155 72156 * platform/gtk/PlatformScrollBarGtk.cpp: 72157 (gtkScrollEventCallback): 72158 72159 2007-11-21 Timothy Hatcher <timothy (a] apple.com> 72160 72161 Reviewed by Adam Roben. 72162 72163 Bug 16085: Web Inspector's Network Timeline graph code clean up and misc. fixes 72164 http://bugs.webkit.org/show_bug.cgi?id=16085 72165 72166 Changes include: 72167 - Refactor the drawing code as nested functions instead of global functions. 72168 - Compute the segment percentages only once per call to drawSummaryGraph. 72169 - Account for percentages that rounded down to total less-than 100%. 72170 - Draw the pill shadow better using the canvas shadow drawing properties. 72171 - Removes a couple canvas context saves and restores. 72172 72173 * page/inspector/NetworkPanel.js: 72174 72175 2007-11-21 Alexey Proskuryakov <ap (a] webkit.org> 72176 72177 Reviewed by Adam Roben. 72178 72179 http://bugs.webkit.org/show_bug.cgi?id=16056 72180 Unicode not being interpreted correctly in Web Inspector source view 72181 72182 Cannot be tested automatically. 72183 72184 * loader/CachedCSSStyleSheet.cpp: 72185 (WebCore::CachedCSSStyleSheet::encoding): 72186 * loader/CachedCSSStyleSheet.h: 72187 * loader/CachedResource.h: 72188 (WebCore::CachedResource::encoding): 72189 * loader/CachedScript.cpp: 72190 (WebCore::CachedScript::encoding): 72191 * loader/CachedScript.h: 72192 * loader/CachedXBLDocument.cpp: 72193 (WebCore::CachedXBLDocument::encoding): 72194 * loader/CachedXBLDocument.h: 72195 * loader/CachedXSLStyleSheet.cpp: 72196 (WebCore::CachedXSLStyleSheet::encoding): 72197 * loader/CachedXSLStyleSheet.h: 72198 Teach textual CachedResources to report their encodings. 72199 72200 * page/InspectorController.cpp: 72201 (WebCore::addSourceToFrame): 72202 (WebCore::updateResourceResponse): 72203 Use the actual encoding - the network layer has little idea about it. 72204 72205 2007-11-20 Mark Rowe <mrowe (a] apple.com> 72206 72207 Reviewed by Maciej Stachowiak. 72208 72209 Fix <rdar://problem/5609579> (DOMParser().parseFromString() freezes Safari when parsing large nodes with XML entities) 72210 http://bugs.webkit.org/show_bug.cgi?id=16076 72211 72212 XMLTokenizer was calling CharacterData::appendData twice per entity in the fragment of XML being 72213 parsed (once for text before the entity, once for the entity itself). This triggered O(n^2) copying 72214 of the CharacterData's string due to resizing. We now prevent this happening by buffering all the 72215 content for a given Text node in the XMLTokenizer before sending it out to the node in a single go. 72216 72217 * dom/XMLTokenizer.cpp: 72218 (WebCore::XMLTokenizer::characters): Append the characters to the buffer. 72219 (WebCore::XMLTokenizer::endDocument): Ensure the buffer is flushed when the document has ended. 72220 (WebCore::endDocumentHandler): 72221 (WebCore::XMLTokenizer::enterText): 72222 (WebCore::XMLTokenizer::exitText): Append the contents of the buffer to the node. 72223 (WebCore::XMLTokenizer::initializeParserContext): Add the endDocument handler. 72224 (WebCore::parseXMLDocumentFragment): Force endDocument to be called when parsing a fragment to ensure 72225 that the buffer gets flushed to the node. 72226 * dom/XMLTokenizer.h: 72227 72228 2007-11-20 Timothy Hatcher <timothy (a] apple.com> 72229 72230 Reviewed by Mark Rowe. 72231 72232 Animate the status area and tip balloons in the Web Inspector 72233 with CSS animations. 72234 72235 * page/inspector/NetworkPanel.js: 72236 * page/inspector/inspector.css: 72237 * page/inspector/inspector.js: 72238 72239 2007-11-20 Kevin Ollivier <kevino (a] theolliviers.com> 72240 72241 wx build fix for Windows. Don't use WebCore/move-js-headers.sh as 72242 it indiscriminately copies any headers inside JavaScriptCore, 72243 which includes Tiger ICU headers. 72244 72245 * webcore-base.bkl: 72246 Remove references to the WebCore/include dir generated by 72247 move-js-headers.sh, and also get headers from JavaScriptCore 72248 directly rather than from WebCore/ForwardingHeaders. 72249 72250 2007-11-20 Alp Toker <alp (a] atoker.com> 72251 72252 Reviewed by Mark Rowe. 72253 72254 Avoid pointlessly mallocing and freeing this transform matrix. 72255 72256 * platform/gtk/FontPlatformDataGtk.cpp: 72257 (WebCore::FontPlatformData::FontPlatformData): 72258 72259 2007-11-20 Naiem Shaik <naiem.shaik (a] gmail.com> 72260 72261 Reviewed by Alp Toker. 72262 72263 http://bugs.webkit.org/show_bug.cgi?id=15763 72264 [GTK] Enter key does not take to the link highlighted. 72265 72266 Add missing keycode cases. 72267 72268 * platform/gtk/KeyEventGtk.cpp: 72269 (WebCore::keyIdentifierForGdkKeyCode): 72270 (WebCore::windowsKeyCodeForKeyEvent): 72271 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 72272 72273 2007-11-20 Mark Rowe <mrowe (a] apple.com> 72274 72275 Reviewed by Sam Weinig. 72276 72277 Fix http://bugs.webkit.org/show_bug.cgi?id=16074 72278 Bug 16074: execCommand("InsertHorizontalRule", false, "") results in id="" being inserted 72279 72280 For consistency with InsertOrderedList and InsertUnorderedList a value parameter of "" should 72281 not result in an id being set. 72282 72283 * editing/JSEditor.cpp: Don't set the id attribute if value is empty. 72284 72285 2007-11-20 Dan Bernstein <mitz (a] apple.com> 72286 72287 Reviewed by Adam Roben. 72288 72289 - fix <rdar://problem/5090708> Textareas render broken-looking scrollbars when too short to show full scrollbar 72290 72291 * platform/win/PlatformScrollBar.h: 72292 * platform/win/PlatformScrollBarSafari.cpp: 72293 Added the "hit inset" constants (representing how far the track eats 72294 into the button). 72295 (WebCore::PlatformScrollbar::paint): Changed to paint the buttons and 72296 the thumb only if they should be showing. 72297 (WebCore::PlatformScrollbar::hasButtons): Added. Returns whether the 72298 arrows should be drawn. 72299 (WebCore::PlatformScrollbar::hasThumb): Added. Returns whether the thumb 72300 should be drawn. 72301 (WebCore::PlatformScrollbar::forwardButtonRect): 72302 (WebCore::PlatformScrollbar::trackRect): Changed to return the entire 72303 bounds of the scrollbar if the scrollbar has no buttons. 72304 (WebCore::PlatformScrollbar::paintTrack): Changed to paint a disabled 72305 track along the entire scrollbar if it has not buttons. 72306 (WebCore::PlatformScrollbar::hitTest): Changed to hit test only the 72307 parts that the scrollbar has in its current dimensions. 72308 72309 2007-11-20 Mark Rowe <mrowe (a] apple.com> 72310 72311 Reviewed by Alp Toker. 72312 72313 * config.h: Change #if to #ifdef to silence warnings on non-Apple platforms. 72314 72315 2007-11-20 Simon Hausmann <hausmann (a] kde.org> 72316 72317 Reviewed by Adam Treat <treat (a] kde.org>. 72318 72319 Remove static linkage of QtWebKit against the ICO image format plugin. 72320 Instead build the support for the ICO image format as a proper standalone qt image format plugin and install it. 72321 72322 * WebCore.pro: 72323 * platform/graphics/qt/ImageDecoderQt.cpp: 72324 72325 2007-11-20 David D. Kilzer <ddkilzer (a] webkit.org> 72326 72327 no-svg build broken after r27278 72328 <http://bugs.webkit.org/show_bug.cgi?id=16061> 72329 72330 Reviewed by Eric. 72331 72332 * bindings/scripts/CodeGeneratorObjC.pm: Always generate DOMHTMLEmbedElementPrivate.h 72333 and DOMHTMLObjectElementPrivate.h for no-svg build. 72334 72335 2007-11-20 Adam Treat <treat (a] kde.org> 72336 72337 Reviewed by Simon. 72338 72339 * Don't use so much heap memory. 72340 72341 * platform/graphics/qt/ImageDecoderQt.cpp: 72342 * platform/graphics/qt/ImageDecoderQt.h: 72343 * platform/graphics/qt/ImageSourceQt.cpp: 72344 (WebCore::ImageSource::createFrameAtIndex): 72345 72346 2007-11-20 Lars Knoll <lars (a] trolltech.com> 72347 72348 Reviewed by Simon. 72349 72350 Fix text break interators. 72351 72352 The break iterators where trying to be smart about the input 72353 string and caching their results. Unfortunately a pointer/string length 72354 comparison is not good enough in all cases (since some input is stack based 72355 temp strings). Removed the caching but at the same time started to use a more 72356 efficient constructor of QTextBoundaryFinder that doesn't need to malloc for 72357 most strings. 72358 72359 Fixes two test cases that test "text-transform: capitalize". 72360 72361 * platform/qt/TextBreakIteratorQt.cpp: 72362 (WebCore::wordBreakIterator): 72363 (WebCore::characterBreakIterator): 72364 (WebCore::lineBreakIterator): 72365 (WebCore::sentenceBreakIterator): 72366 72367 2007-11-20 Adam Treat <treat (a] kde.org> 72368 72369 Reviewed by George. 72370 72371 * Make gif animations work for instance. 72372 72373 * platform/graphics/qt/ImageDecoderQt.cpp: 72374 (WebCore::ImageDecoderQt::reset): 72375 (WebCore::ImageDecoderQt::setData): 72376 (WebCore::ImageDecoderQt::frameCount): 72377 (WebCore::ImageDecoderQt::repetitionCount): 72378 * platform/graphics/qt/ImageDecoderQt.h: 72379 72380 2007-11-20 Adam Treat <treat (a] kde.org> 72381 72382 * Build in release mode 72383 72384 * platform/NotImplemented.h: 72385 72386 2007-11-20 Adam Treat <treat (a] kde.org> 72387 72388 Reviewed by Simon and George. 72389 72390 * Be quiet and allow suppression of NotImplemented calls at runtime. 72391 72392 * platform/NotImplemented.h: 72393 72394 2007-11-19 Doug Turner <dougt (a] meer.net> 72395 72396 Reviewed by Alp Toker. 72397 72398 http://bugs.webkit.org/show_bug.cgi?id=16054 72399 Crash when GlyphPage::fill is called with more than 256 bytes of data 72400 72401 http://bugs.webkit.org/show_bug.cgi?id=14446 72402 [GDK] Crash on http://www.wikipedia.org/ 72403 72404 setGlyphDataForIndex() uses a fixed array of size 256 which we can't 72405 exceed. We need to return failure if the buffer has Unicode 72406 supplementary characters for now. 72407 72408 This strategy matches the Win port, which also doesn't support this 72409 case yet. 72410 72411 Add an assertion so nobody makes this mistake again. 72412 72413 * platform/GlyphPageTreeNode.h: 72414 (WebCore::GlyphPage::setGlyphDataForIndex): 72415 * platform/gtk/GlyphPageTreeNodeGtk.cpp: 72416 (WebCore::GlyphPage::fill): 72417 72418 2007-11-19 Doug Turner <dougt (a] meer.net> 72419 72420 Reviewed by Timothy Hatcher. 72421 72422 http://bugs.webkit.org/show_bug.cgi?id=16050 72423 sqlite3_prepare16_v2 build bustage. 72424 72425 Using the correct SQLITE_VERSION_NUMBER around sqlite_prepare16_v2 72426 to fix build bustage. 72427 72428 * platform/sql/SQLiteStatement.cpp: 72429 (WebCore::SQLiteStatement::prepare): 72430 72431 2007-11-19 Mark Rowe <mrowe (a] apple.com> 72432 72433 Build fix. Don't over-qualify the constructor name. 72434 72435 * storage/DatabaseDetails.h: 72436 72437 2007-11-19 Brady Eidson <beidson (a] apple.com> 72438 72439 Reviewed by Maciej 72440 72441 Stub out the WebCore parts of the WebKit API 72442 72443 * WebCore.base.exp: 72444 * WebCore.xcodeproj/project.pbxproj: 72445 72446 * storage/DatabaseDetails.h: Added. Simple container for vitals on a specific database 72447 (WebCore::DatabaseDetails::DatabaseDetails::DatabaseDetails): 72448 (WebCore::DatabaseDetails::DatabaseDetails): 72449 (WebCore::DatabaseDetails::isValid): 72450 (WebCore::DatabaseDetails::name): 72451 (WebCore::DatabaseDetails::version): 72452 (WebCore::DatabaseDetails::displayName): 72453 (WebCore::DatabaseDetails::expectedUsage): 72454 (WebCore::DatabaseDetails::currentUsage): 72455 72456 * storage/DatabaseTracker.cpp: Added various methods for API usage 72457 (WebCore::DatabaseTracker::detailsForNameAndOrigin): 72458 (WebCore::DatabaseTracker::usageForOrigin): 72459 (WebCore::DatabaseTracker::quotaForOrigin): 72460 (WebCore::DatabaseTracker::setQuota): 72461 * storage/DatabaseTracker.h: 72462 72463 2007-11-19 Kevin Ollivier <kevino (a] theolliviers.com> 72464 72465 wx port build fix. 72466 72467 * platform/graphics/wx/AffineTransformWx.cpp: 72468 (WebCore::AffineTransform::operator== ): 72469 m_transform is only available when using wxGraphicsContext. 72470 72471 2007-11-19 Alp Toker <alp (a] atoker.com> 72472 72473 Reviewed by Mark Rowe. 72474 72475 GTK+ drawing fixes. 72476 72477 Add a check to avoid crashing when the GraphicsContext is not 72478 associated with a GdkDrawable. This was noticed when adding printing 72479 support but might be triggered in other situations too. 72480 72481 Do not render themes when painting is disabled. This is an 72482 optimisation for cases where GraphicsContext is used to calculate page 72483 dimensions etc. without actually rendering. 72484 72485 * platform/graphics/cairo/GraphicsContextCairo.cpp: 72486 (WebCore::GraphicsContext::gdkDrawable): 72487 * platform/gtk/RenderThemeGtk.cpp: 72488 (WebCore::paintMozWidget): 72489 72490 2007-11-13 Rahul Abrol <ra5ul (a] comcast.net> 72491 72492 Reviewed by Tim Hatcher. 72493 72494 http://bugs.webkit.org/show_bug.cgi?id=15977 72495 Resizing images preference now toggles default image state. 72496 72497 * loader/ImageDocument.cpp: 72498 (WebCore::ImageDocument::ImageDocument): 72499 (WebCore::ImageDocument::createDocumentStructure): 72500 (WebCore::ImageDocument::imageChanged): 72501 72502 2007-11-19 Kevin Ollivier <kevino (a] theolliviers.com> 72503 72504 Update wx port build sources with recent changes, update 72505 wx FontPlatformData to be a class (MSVC7 gets confused 72506 otherwise...) and implement its hash() method. 72507 72508 Reviewed by Adam. 72509 72510 * WebCoreSources.bkl: 72511 * platform/wx/FontPlatformData.h: 72512 (WebCore::FontPlatformData::hash): 72513 72514 2007-11-19 Julien Chaffraix <julien.chaffraix (a] gmail.com> 72515 72516 Reviewed by Darin. 72517 72518 http://bugs.webkit.org/show_bug.cgi?id=12194 72519 Bug 12194: Trying to access XMLHttpRequest.responseText or responseXML when they 72520 are not available should raise an exception 72521 72522 Tests: http/tests/xmlhttprequest/xmlhttprequest-responseText-exception.html 72523 http/tests/xmlhttprequest/xmlhttprequest-responseXML-exception.html 72524 72525 * bindings/js/JSXMLHttpRequest.cpp: 72526 (KJS::JSXMLHttpRequest::getValueProperty): 72527 * xml/XMLHttpRequest.cpp: 72528 (WebCore::XMLHttpRequest::getResponseText): 72529 (WebCore::XMLHttpRequest::getResponseXML): 72530 * xml/XMLHttpRequest.h: 72531 72532 2007-11-19 Peter Kasting <pkasting (a] google.com> 72533 72534 Reviewed by Darin Adler. 72535 72536 http://bugs.webkit.org/show_bug.cgi?id=15971 72537 The GIF decoder should not fail decoding if the caller asks it to 72538 decode again when no new data has arrived since the last call. 72539 72540 * platform/image-decoders/gif/GIFImageReader.cpp: 72541 (GIFImageReader::read): 72542 72543 2007-11-18 Brady Eidson <beidson (a] apple.com> 72544 72545 Reviewed by Eric 72546 72547 Fix a crash hashing a default SecurityOriginData object 72548 72549 * storage/DatabaseTracker.cpp: 72550 (WebCore::SecurityOriginDataHash::hash): The default object has some default strings with NULL 72551 StringImpls - don't try to hash those! 72552 72553 2007-11-18 Timothy Hatcher <timothy (a] apple.com> 72554 72555 Reviewed by Sam Weinig. 72556 72557 Bug 16043: Remove InspectorController.log now that console.log works 72558 http://bugs.webkit.org/show_bug.cgi?id=16043 72559 72560 Remove the last uses of InspectorController.log. Once use was no longer needed, 72561 checking an erro case that can't happen anymore. The other case now uses console.error. 72562 72563 * page/InspectorController.cpp: Remove the log function. 72564 (WebCore::InspectorController::windowScriptObjectAvailable): Remove the log function from 72565 InspectorController script class. 72566 * page/inspector/DocumentPanel.js: Remove a use of InspectorController.log that isn't needed. 72567 * page/inspector/Panel.js: Change InspectorController.log to console.log and early return. 72568 72569 2007-11-18 Timothy Hatcher <timothy (a] apple.com> 72570 72571 Reviewed by Brady. 72572 72573 Bug 16041: REGRESSION: the Database panel in the Inspector stopped showing errors 72574 http://bugs.webkit.org/show_bug.cgi?id=16041 72575 72576 * page/inspector/DatabasePanel.js: Implement error callbacks to pass to executeSql() 72577 and transaction(). Refactored some code for the success and error callbacks to use. 72578 72579 2007-11-18 Alexey Proskuryakov <ap (a] webkit.org> 72580 72581 Reviewed by Maciej. 72582 72583 <rdar://problem/5546393> Whitespace handling doesn't match HTML5. 72584 72585 HTML5 definition is the same as MSIE's, with the exception that the latter strips null 72586 characters. Firefox also treats U+0008 as whitespace, but not U+000B or U+000C. 72587 72588 Test: fast/parser/html-whitespace.html 72589 72590 * html/HTMLTokenizer.cpp: 72591 (WebCore::HTMLTokenizer::parseSpecial): 72592 (WebCore::HTMLTokenizer::parseTag): 72593 Use isASCIISpace, which matches HTML5 definition of whitespace, and also what we use to 72594 check for whitespace almost everywhere. 72595 72596 2007-11-17 Mark Rowe <mrowe (a] apple.com> 72597 72598 Reviewed by Darin Adler. 72599 72600 Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build 72601 <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype 72602 http://bugs.webkit.org/show_bug.cgi?id=16033 72603 72604 Update for changes in Interpreter method signatures. 72605 72606 * bindings/js/kjs_binding.cpp: 72607 (KJS::ScriptInterpreter::ScriptInterpreter): 72608 * bindings/js/kjs_window.cpp: 72609 (KJS::Window::clear): 72610 72611 2007-11-17 Timothy Hatcher <timothy (a] apple.com> 72612 72613 Reviewed by Mark Rowe. 72614 72615 Bug 13470: i18n: The Web Inspector is not localizable 72616 http://bugs.webkit.org/show_bug.cgi?id=13470 72617 72618 Add support for localization to the Web Inspector. Clients need to 72619 implement localizedStringsURL() to return the URL of the 72620 InspectorLocalizedStrings.js that best matches the user's language. 72621 72622 * English.lproj: Added. 72623 * English.lproj/InspectorLocalizedStrings.js: Added. 72624 * WebCore.xcodeproj/project.pbxproj: Add InspectorLocalizedStrings.js. 72625 * page/InspectorClient.h: Add localizedStringsURL. 72626 * page/InspectorController.cpp: Add localizedStringsURL that calls 72627 the client. Also added a version exposed to JavaScript. 72628 * page/InspectorController.h: Add localizedStringsURL. 72629 * page/inspector/ConsolePanel.js: Call WebInspector.UIString 72630 for user visible strings. 72631 * page/inspector/DatabasePanel.js: Ditto. 72632 * page/inspector/DocumentPanel.js: Ditto. 72633 * page/inspector/ImagePanel.js: Ditto. 72634 * page/inspector/MetricsSidebarPane.js: Ditto. 72635 * page/inspector/NetworkPanel.js: Ditto. 72636 * page/inspector/Panel.js: Ditto. 72637 * page/inspector/PropertiesSidebarPane.js: Ditto. 72638 * page/inspector/Resource.js: Ditto. 72639 * page/inspector/ResourceCategory.js: Ditto. 72640 * page/inspector/SourcePanel.js: Ditto. 72641 * page/inspector/StylesSidebarPane.js: Ditto. 72642 * page/inspector/inspector.css: Use pre-wrap so database errors can use \n. 72643 * page/inspector/inspector.html: Remove some user visible strings. 72644 * page/inspector/inspector.js: Added WebInspector.UIString and call 72645 WebInspector.UIString for user visible strings. Some code needed to be 72646 moved to WebInspector.loaded to use UIString after the localized strings 72647 get loaded. 72648 * platform/graphics/svg/SVGImageEmptyClients.h: 72649 (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin): Remove WebCore:: prefix. 72650 (WebCore::SVGEmptyInspectorClient::createPage): Ditto. 72651 (WebCore::SVGEmptyInspectorClient::localizedStringsURL): Add empty stub. 72652 (WebCore::SVGEmptyInspectorClient::highlight): Remove WebCore:: prefix. 72653 (WebCore::SVGEmptyInspectorClient::inspectedURLChanged): Ditto. 72654 72655 2007-11-17 Timothy Hatcher <timothy (a] apple.com> 72656 72657 Reviewed by Adam. 72658 72659 Reworte String.sprintf to fix many bad bugs and to not use RegExp. Also added 72660 String.vsprintf so it can be used later for the localization function. 72661 72662 This version only supports argument reordering, precision for floats, and these 72663 format characters: d, f, s and @. Any unsupported format characters are logged 72664 and substituted like strings. 72665 72666 * page/inspector/utilities.js: 72667 72668 2007-11-17 Alexey Proskuryakov <ap (a] webkit.org> 72669 72670 Windows build fix. 72671 72672 * editing/Editor.h: Made canSmartCopyOrDelete public, as Windows WebView still needs it. 72673 72674 2007-11-17 Alexey Proskuryakov <ap (a] webkit.org> 72675 72676 Reviewed by Darin. 72677 72678 http://bugs.webkit.org/show_bug.cgi?id=15969 72679 Eliminate Editor::deleteRange() 72680 72681 No change in functionality. 72682 72683 * editing/CompositeEditCommand.h: Removed unimplemented deleteKeyPressed(). 72684 72685 * editing/Editor.cpp: 72686 (WebCore::Editor::deleteWithDirection): 72687 (WebCore::Editor::cut): 72688 (WebCore::Editor::performDelete): 72689 * editing/Editor.h: 72690 Moved relevant Editor::deleteRange() functionality to its callers. 72691 Removed deleteSelectionWithSmartDelete(void), which was more confusing than helpful 72692 in my opinion. 72693 72694 * editing/mac/EditorMac.mm: 72695 (WebCore::initializeKillRingIfNeeded): 72696 (WebCore::Editor::addToKillRing): 72697 (WebCore::Editor::yank): 72698 (WebCore::Editor::yankAndSelect): 72699 (WebCore::Editor::setMark): 72700 (WebCore::unionDOMRanges): 72701 (WebCore::Editor::deleteToMark): 72702 (WebCore::Editor::selectToMark): 72703 (WebCore::Editor::swapWithMark): 72704 Pushed kill ring handling down from WebCore. 72705 72706 * page/mac/WebCoreFrameBridge.h: 72707 * page/mac/WebCoreFrameBridge.mm: 72708 Removed setMarkDOMRange (the corresponding getter is still needed). 72709 72710 * WebCore.base.exp: No longer need to export Editor::deleteRange() and Editor::insertTextWithoutSendingTextEvent(). 72711 Export the new kill ring functions. 72712 72713 2007-11-16 Ryan Leavengood <leavengood (a] gmail.com> 72714 72715 Reviewed by David Kilzer. 72716 72717 Build fix: the needed headers for POSIX file functions were not 72718 included. 72719 72720 * platform/posix/FileSystemPOSIX.cpp: 72721 72722 2007-11-16 Dan Bernstein <mitz (a] apple.com> 72723 72724 Reviewed by Darin Adler. 72725 72726 - fix the common case of <http://bugs.webkit.org/show_bug.cgi?id=15994> 72727 REGRESSION: Incomplete repaint of CSS image substitution 72728 72729 Test: fast/repaint/clip-with-layout-delta.html 72730 72731 * rendering/LayoutState.cpp: 72732 (WebCore::LayoutState::LayoutState): Account for layout delta when 72733 pushing additional clip. 72734 72735 2007-11-16 Antti Koivisto <antti (a] apple.com> 72736 72737 Reviewed by Adele. 72738 72739 Seeking related fixes, updates to match the latest specification 72740 - rename loopCount of HTMLMediaElement to playCount 72741 - add explicit seeking attribute to HTMLMediaElement to get semantics right 72742 - implement the specification behavior that currentTime must immediately return seeked position in HTMLMediaElement 72743 instead of MoviePrivateQTKit 72744 - fix broken behavior when seeking past end of the media, add tests 72745 - replace Movie didEnd callback with broader timeChanged callback (which gets called in didEnd case too) 72746 - use setDelayCallbacks: in various MoviePrivateQTKit methods to avoid bug prone synchronous callbacks from QT, make 72747 HTMLMediaElement not depend on synchronous callbacks 72748 - do some cleanups and simplifications in MoviePrivateQTKit, get rid of m_rateBeforeSeek and m_blockStateUpdate variables 72749 72750 Tests: http/tests/media/video-seekable-stall.html 72751 media/video-seeking.html 72752 media/video-seek-past-end-paused.html 72753 media/video-seek-past-end-playing.html 72754 72755 * html/HTMLAttributeNames.in: 72756 * html/HTMLMediaElement.cpp: 72757 (WebCore::HTMLMediaElement::HTMLMediaElement): 72758 (WebCore::HTMLMediaElement::load): 72759 (WebCore::HTMLMediaElement::movieNetworkStateChanged): 72760 (WebCore::HTMLMediaElement::setReadyState): 72761 (WebCore::HTMLMediaElement::seek): 72762 (WebCore::HTMLMediaElement::seeking): 72763 (WebCore::HTMLMediaElement::currentTime): 72764 (WebCore::HTMLMediaElement::ended): 72765 (WebCore::HTMLMediaElement::play): 72766 (WebCore::HTMLMediaElement::pause): 72767 (WebCore::HTMLMediaElement::playCount): 72768 (WebCore::HTMLMediaElement::setPlayCount): 72769 (WebCore::HTMLMediaElement::checkIfSeekNeeded): 72770 (WebCore::HTMLMediaElement::movieTimeChanged): 72771 (WebCore::HTMLMediaElement::endedPlayback): 72772 (WebCore::HTMLMediaElement::updateMovie): 72773 * html/HTMLMediaElement.h: 72774 * html/HTMLMediaElement.idl: 72775 * platform/graphics/Movie.cpp: 72776 (WebCore::Movie::timeChanged): 72777 * platform/graphics/Movie.h: 72778 (WebCore::MovieClient::movieTimeChanged): 72779 * platform/graphics/mac/MoviePrivateQTKit.h: 72780 * platform/graphics/mac/MoviePrivateQTKit.mm: 72781 (WebCore::MoviePrivate::MoviePrivate): 72782 (WebCore::MoviePrivate::load): 72783 (WebCore::MoviePrivate::play): 72784 (WebCore::MoviePrivate::pause): 72785 (WebCore::MoviePrivate::currentTime): 72786 (WebCore::MoviePrivate::seek): 72787 (WebCore::MoviePrivate::doSeek): 72788 (WebCore::MoviePrivate::cancelSeek): 72789 (WebCore::MoviePrivate::seekTimerFired): 72790 (WebCore::MoviePrivate::startCuePointTimerIfNeeded): 72791 (WebCore::MoviePrivate::paused): 72792 (WebCore::MoviePrivate::updateStates): 72793 (WebCore::MoviePrivate::timeChanged): 72794 (WebCore::MoviePrivate::didEnd): 72795 72796 2007-11-16 Anders Carlsson <andersca (a] apple.com> 72797 72798 Reviewed by Adam. 72799 72800 <rdar://problem/5603832> 72801 XMLHttpRequest readyState 3 & responseText buffer issues. 72802 72803 * platform/network/cf/ResourceHandleCFNet.cpp: 72804 (WebCore::makeFinalRequest): 72805 Add new parameter which controls whether content sniffing should be turned off. 72806 72807 (WebCore::ResourceHandle::loadResourceSynchronously): 72808 Always content sniff sync loads. 72809 72810 * platform/network/cf/ResourceRequestCFNet.cpp: 72811 (WebCore::ResourceRequest::doUpdatePlatformRequest): 72812 If the ResourceRequest already has a backing CFURLRequest, make a copy of it. This preserves 72813 any properties set on the CFURLRequest. 72814 72815 2007-11-16 Jon Honeycutt <jhoneycutt (a] apple.com> 72816 72817 Reviewed by Ollie. 72818 72819 <rdar://problem/5605175> Crash closing or leaving window with ViewPoint 72820 Media player plugin 72821 72822 ViewPoint plugin requires that we pass a valid NPSavedData* to 72823 NPP_Destroy. 72824 72825 * plugins/win/PluginViewWin.cpp: Pass a valid NPSavedData* to 72826 NPP_Destroy. If the plugin allocates data, discard it 72827 72828 2007-11-16 Mark Rowe <mrowe (a] apple.com> 72829 72830 Reviewed by Tim Hatcher. 72831 72832 Build WebCore as a sub-framework of WebKit in all configurations. 72833 72834 * Configurations/WebCore.xcconfig: 72835 * WebCore.xcodeproj/project.pbxproj: 72836 72837 2007-11-16 Doug Turner <dougt (a] meer.net> 72838 72839 Reviewed by Alp. 72840 72841 http://bugs.webkit.org/show_bug.cgi?id=16018 72842 build bustage when building on debian 4.0 72843 72844 Fix build bustage on GTK+ with older versions of Pango. 72845 72846 Don't cache the return value since the docs say it can change. 72847 72848 * platform/gtk/Language.cpp: 72849 (WebCore::defaultLanguage): 72850 72851 2007-11-16 Brady Eidson <beidson (a] apple.com> 72852 72853 Build fix 72854 72855 * platform/SecurityOriginData.h: 72856 (WebCore::operator!=): Whoops! 72857 72858 2007-11-16 Brady Eidson <beidson (a] apple.com> 72859 72860 Reviewed by Sam 72861 72862 Further purify DatabaseTracker to use SecurityOriginData instead of "a String" 72863 72864 * WebCore.base.exp: 72865 * WebCore.xcodeproj/project.pbxproj: 72866 * WebCore.vcproj/WebCore.vcproj 72867 * WebCore.pro 72868 72869 * platform/SecurityOriginData.cpp: Added. 72870 (WebCore::SecurityOriginData::SecurityOriginData): Add a constructor that takes a "stringIdentifier"-style string, 72871 since that form is what will be stored in the Databases.db on disk 72872 (WebCore::SecurityOriginData::stringIdentifier): 72873 * platform/SecurityOriginData.h: 72874 (WebCore::SecurityOriginData::protocol): 72875 (WebCore::SecurityOriginData::host): 72876 (WebCore::SecurityOriginData::port): 72877 72878 * storage/DatabaseTracker.cpp: 72879 (WebCore::SecurityOriginDataHash::hash): Follow the pattern Darin set in FontCache.cpp to make a decent hash for 72880 a SecurityOriginData object 72881 (WebCore::SecurityOriginDataHash::equal): 72882 (WebCore::SecurityOriginDataTraits::deletedValue): "file::1" will never exist in normal operation 72883 (WebCore::SecurityOriginDataTraits::emptyValue): "file::2" will never exist in normal operation 72884 (WebCore::DatabaseTracker::fullPathForDatabase): 72885 (WebCore::DatabaseTracker::populateOrigins): 72886 (WebCore::DatabaseTracker::origins): 72887 (WebCore::DatabaseTracker::addDatabase): 72888 * storage/DatabaseTracker.h: 72889 72890 2007-11-16 Alexey Proskuryakov <ap (a] webkit.org> 72891 72892 Windows build fix. 72893 72894 * WebCore.vcproj/WebCore.vcproj: Removed VoidCallback.cpp, added JSCustomVoidCallback.{h,cpp}. 72895 72896 2007-11-16 Nikolas Zimmermann <zimmermann (a] kde.org> 72897 72898 Reviewed by Eric. 72899 72900 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12290 72901 72902 Implement all SVGTextContentElement DOM methods. 72903 This is the last missing SVG text feature. SVG fonts is next. 72904 72905 Added testcase: svg/custom/text-dom-01-f.svg (tests all new methods) 72906 72907 * ksvg2/svg/SVGTextContentElement.cpp: 72908 (WebCore::cummulatedCharacterRangeLength): 72909 (WebCore::SVGInlineTextBoxQueryWalker::): 72910 (WebCore::SVGInlineTextBoxQueryWalker::SVGInlineTextBoxQueryWalker): 72911 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): 72912 (WebCore::SVGInlineTextBoxQueryWalker::setQueryInputParameters): 72913 (WebCore::SVGInlineTextBoxQueryWalker::longResult): 72914 (WebCore::SVGInlineTextBoxQueryWalker::floatResult): 72915 (WebCore::SVGInlineTextBoxQueryWalker::pointResult): 72916 (WebCore::SVGInlineTextBoxQueryWalker::rectResult): 72917 (WebCore::SVGInlineTextBoxQueryWalker::stopProcessing): 72918 (WebCore::findInlineTextBoxInTextChunks): 72919 (WebCore::rootInlineBoxForTextContentElement): 72920 (WebCore::executeTextQuery): 72921 (WebCore::SVGTextContentElement::getNumberOfChars): 72922 (WebCore::SVGTextContentElement::getComputedTextLength): 72923 (WebCore::SVGTextContentElement::getSubStringLength): 72924 (WebCore::SVGTextContentElement::getStartPositionOfChar): 72925 (WebCore::SVGTextContentElement::getEndPositionOfChar): 72926 (WebCore::SVGTextContentElement::getExtentOfChar): 72927 (WebCore::SVGTextContentElement::getRotationOfChar): 72928 (WebCore::SVGTextContentElement::getCharNumAtPosition): 72929 (WebCore::SVGTextContentElement::selectSubString): 72930 * ksvg2/svg/SVGTextContentElement.h: 72931 * rendering/SVGInlineTextBox.h: 72932 72933 2007-11-15 Adele Peterson <adele (a] apple.com> 72934 72935 Reviewed by Oliver. 72936 72937 Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com) 72938 72939 Test: fast/forms/menulist-no-renderer-onmousedown.html 72940 72941 * html/HTMLSelectElement.cpp: 72942 (WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here. None of the default behavior makes sense if there's no renderer. 72943 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler. 72944 72945 2007-11-15 Antti Koivisto <antti (a] apple.com> 72946 72947 Reviewed by Adele. 72948 72949 Fix <rdar://problem/5601598> 72950 The movie tag should do initialization on need and not during startup. 72951 72952 Initialize Movie MIME type hash on demand 72953 72954 * platform/MIMETypeRegistry.cpp: 72955 (WebCore::initialiseSupportedMovieMIMETypes): 72956 (WebCore::initialiseMIMETypeRegistry): 72957 (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType): 72958 (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes): 72959 72960 2007-11-15 Mark Rowe <mrowe (a] apple.com> 72961 72962 Build fix for Qt on Windows. 72963 72964 * xml/XPathStep.cpp: 72965 (WebCore::XPath::Step::nodesInAxis): 72966 72967 2007-11-15 Timothy Hatcher <timothy (a] apple.com> 72968 72969 Reviewed by Mark Rowe. 72970 72971 Bug 14761: Web Inspector leaks JS objects and DOM nodes 72972 http://bugs.webkit.org/show_bug.cgi?id=14761 72973 72974 * page/InspectorController.cpp: 72975 (WebCore::InspectorController::~InspectorController): 72976 Change the tear down order so that inspectorDestroyed() is called before 72977 InspectorController private data is set to Zero. The inspectorDestroyed() 72978 call ends up closing the WebView and triggering InspectorController::close() 72979 which unprotects m_scriptObject. This didn't happen when the private data 72980 was cleared before calling inspectorDestroyed(). 72981 72982 2007-11-15 Mark Rowe <mrowe (a] apple.com> 72983 72984 Gtk build fix. 72985 72986 * WebCore.pro: 72987 72988 2007-11-15 Alexey Proskuryakov <ap (a] webkit.org> 72989 72990 Reviewed by Darin. 72991 72992 http://bugs.webkit.org/show_bug.cgi?id=15989 72993 XPath queries with predicates incorrectly retains the current node across unions 72994 72995 Test: fast/xpath/union-context-node.xhtml 72996 72997 * xml/XPathPath.cpp: 72998 (WebCore::XPath::LocationPath::evaluate): Restore context after evaluation. 72999 * xml/XPathStep.cpp: 73000 (WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it. 73001 73002 2007-11-15 Alexey Proskuryakov <ap (a] webkit.org> 73003 73004 Reviewed by Darin. 73005 73006 http://bugs.webkit.org/show_bug.cgi?id=15988 73007 REGRESSION: XPath preceding-axis query misses nested elements 73008 73009 Test: fast/xpath/preceding-axis.xhtml 73010 73011 * xml/XPathStep.cpp: 73012 (WebCore::XPath::Step::nodesInAxis): Hopefully correct this time. 73013 73014 2007-11-15 Timothy Hatcher <timothy (a] apple.com> 73015 73016 Reviewed by Mark Rowe and Sam. 73017 73018 This corrects a couple of issues in the Web Inspector where selected search results 73019 would not have the right text color when the window is inactive or the results are focused. 73020 73021 * page/inspector/inspector.css: 73022 73023 2007-11-15 Timothy Hatcher <timothy (a] apple.com> 73024 73025 Reviewed by Sam. 73026 73027 Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels 73028 http://bugs.webkit.org/show_bug.cgi?id=16007 73029 73030 Makes the click width an option on TreeElement and make ResourceCategoryTreeElement 73031 a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is 73032 20 pixels, and the default is 10 pixels. 73033 73034 * page/inspector/ResourceCategory.js: 73035 * page/inspector/treeoutline.js: 73036 73037 2007-11-15 Anders Carlsson <andersca (a] apple.com> 73038 73039 Reviewed by Brady. 73040 73041 Pass a VoidCallback to Database::transaction and Database::changeVersion. 73042 This is not yet hooked up to the database machinery. 73043 73044 * WebCore.vcproj/WebCore.vcproj: 73045 * bindings/js/JSDatabaseCustom.cpp: 73046 (WebCore::JSDatabase::changeVersion): 73047 (WebCore::JSDatabase::transaction): 73048 * storage/Database.cpp: 73049 (WebCore::Database::changeVersion): 73050 (WebCore::Database::transaction): 73051 * storage/Database.h: 73052 73053 2007-11-15 Timothy Hatcher <timothy (a] apple.com> 73054 73055 Reviewed by Adam. 73056 73057 Bug 16005: Hovering in the breadcrumbs causes jumpy behavior 73058 http://bugs.webkit.org/show_bug.cgi?id=16005 73059 73060 Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed 73061 crumb will expose as many hidden crumbs as possible to the user. Also crumbs 73062 that have ID attributes will compact to the ID over the tag name. 73063 73064 * page/inspector/DocumentPanel.js: 73065 73066 2007-11-15 Anders Carlsson <andersca (a] apple.com> 73067 73068 Reviewed by Sam. 73069 73070 Make the VoidCallback DOM interface behave more like our other DOM interfaces. 73071 73072 * bindings/js/JSCustomVoidCallback.h: Added. 73073 * bindings/js/JSCustomVoidCallback.cpp: Added. 73074 (WebCore::JSCustomVoidCallback::JSCustomVoidCallback): 73075 (WebCore::JSCustomVoidCallback::handleEvent): 73076 VoidCallback implementation that wraps a JS object. 73077 73078 (WebCore::toVoidCallback): 73079 New method that creates a VoidCallback implementation given a JS object. 73080 73081 * bindings/scripts/CodeGeneratorJS.pm: 73082 Specify that VoidCallback can fail conversion and add a custom conversion function. 73083 73084 * html/HTMLMediaElement.cpp: 73085 (WebCore::HTMLMediaElement::movieCuePointReached): 73086 Call handleEvent on the callback. 73087 73088 (WebCore::HTMLMediaElement::removeCuePoint): 73089 Comment out parts of this method, it has already been removed in the HTML5 spec and it relies 73090 on overriding VoidCallback equality. 73091 73092 * html/VoidCallback.cpp: Removed. 73093 73094 * html/VoidCallback.h: 73095 (WebCore::VoidCallback::VoidCallback): 73096 (WebCore::VoidCallback::~VoidCallback): 73097 Make this an abstract class with a pure virtual handleEvent method. 73098 73099 2007-11-15 Adam Roben <aroben (a] apple.com> 73100 73101 Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work 73102 73103 There were two things broken here: 73104 - WebView now requires a WM_CHAR message to be sent before it will 73105 create a keyboard event with a charCode, but we were only sending 73106 a WM_KEYDOWN event. 73107 - The popup menu was not updating its focused index when the 73108 <select> element's selectedIndex changed. 73109 73110 Reviewed by Adele. 73111 73112 * platform/win/PopupMenuWin.cpp: 73113 (WebCore::PopupMenu::updateFromElement): Update the focused index from 73114 the client's selected index. 73115 (WebCore::PopupWndProc): When we receive a WM_CHAR message for a 73116 printable character, manufacture a WM_KEYDOWN message for it and post 73117 both that and the current WM_CHAR message to the WebView. 73118 73119 2007-11-15 Brady Eidson <beidson (a] apple.com> 73120 73121 Build fix 73122 73123 * storage/DatabaseTracker.cpp: 73124 (WebCore::DatabaseTracker::fullPathForDatabase): 73125 (WebCore::DatabaseTracker::databaseNamesForOrigin): 73126 73127 2007-11-15 Brady Eidson <beidson (a] apple.com> 73128 73129 Reviewed by John and Sam 73130 73131 Stubbing out everything required for a WebKit API for databases 73132 73133 Biggest change in WebCore is that we passed around SecurityOriginData as the representation 73134 of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object 73135 that has a different purpose besides just hanging on to the data) 73136 73137 * WebCore.base.exp: 73138 * WebCore.xcodeproj/project.pbxproj: 73139 73140 * platform/SecurityOrigin.cpp: 73141 * platform/SecurityOrigin.h: 73142 * platform/SecurityOriginData.h: Added. Simple object to encapsulate the 3 73143 pieces of data in the SecurityOrigin tuple 73144 (WebCore::SecurityOriginData::SecurityOriginData): 73145 (WebCore::SecurityOriginData::protocol): 73146 (WebCore::SecurityOriginData::host): 73147 (WebCore::SecurityOriginData::port): 73148 (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components, 73149 colon separated 73150 73151 * storage/Database.cpp: 73152 (WebCore::Database::Database): Use SecurityOriginData instead 73153 73154 * storage/DatabaseTracker.cpp: 73155 (WebCore::DatabaseTracker::fullPathForDatabase): 73156 (WebCore::DatabaseTracker::databaseNamesForOrigin): 73157 (WebCore::DatabaseTracker::deleteDatabasesWithOrigin): 73158 (WebCore::DatabaseTracker::deleteDatabase): 73159 * storage/DatabaseTracker.h: 73160 73161 * storage/DatabaseTrackerClient.h: Added. For dispatching notifications up to WebKit 73162 (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15 Jon Honeycutt <jhoneycutt (a] apple.com> 73163 73164 2007-11-15 Jon Honeycutt <jhoneycutt (a] apple.com> 73165 73166 Reviewed by Anders. 73167 73168 NP_ASFILEONLY streams should not buffer data in m_deliveryData. 73169 73170 * plugins/win/PluginStreamWin.cpp: 73171 (WebCore::PluginStreamWin::didReceiveData): 73172 73173 2007-11-15 Justin Garcia <justin.garcia (a] apple.com> 73174 73175 Reviewed by Adele Peterson. 73176 73177 <rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode 73178 73179 A textarea that contained the selection was removed but the selection wasn't cleared, 73180 and we'd crash in code that assumed a valid, in-document selection. 73181 73182 * editing/SelectionController.cpp: 73183 (WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the 73184 shadowAncestorNode of the node that contains the position, not just if the node being removed 73185 contains that shadowAncestorNode. 73186 73187 2007-11-15 Nikolas Zimmermann <zimmermann (a] kde.org> 73188 73189 Reviewed by Maciej. 73190 73191 Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before. 73192 73193 * rendering/SVGInlineTextBox.cpp: 73194 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): 73195 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback): 73196 73197 2007-11-15 Anders Carlsson <andersca (a] apple.com> 73198 73199 Reviewed by Brady. 73200 73201 <rdar://problem/5562470> 73202 openDatabase does not work when the version string is empty 73203 73204 If the string is empty, pass a real empty string to sqlite3_bind_text16. 73205 73206 * platform/sql/SQLiteStatement.cpp: 73207 (WebCore::SQLiteStatement::bindText): 73208 73209 2007-11-15 Anders Carlsson <andersca (a] apple.com> 73210 73211 Reviewed by Brady. 73212 73213 Get rid of SQLiteStatement::bindText and rename bindText16 to bindText. 73214 Remove the copy parameter from bindText and bindBlob and always copy passed in data instead. 73215 73216 * loader/icon/IconDatabase.cpp: 73217 (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase): 73218 (WebCore::IconDatabase::removePageURLFromSQLDatabase): 73219 (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase): 73220 (WebCore::IconDatabase::addIconURLToSQLDatabase): 73221 (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase): 73222 (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): 73223 * platform/sql/SQLiteStatement.cpp: 73224 (WebCore::SQLiteStatement::prepare): 73225 * platform/sql/SQLiteStatement.h: 73226 * storage/Database.cpp: 73227 (WebCore::setTextValueInDatabase): 73228 * storage/DatabaseTracker.cpp: 73229 (WebCore::DatabaseTracker::fullPathForDatabase): 73230 (WebCore::DatabaseTracker::databaseNamesForOrigin): 73231 (WebCore::DatabaseTracker::addDatabase): 73232 73233 2007-11-14 Brady Eidson <beidson (a] apple.com> 73234 73235 Rubberstamped by Sam 73236 73237 * platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports? 73238 73239 2007-11-14 Alexey Proskuryakov <ap (a] webkit.org> 73240 73241 Reviewed by Justin Garcia. 73242 73243 http://bugs.webkit.org/show_bug.cgi?id=15781 73244 REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle 73245 a marked range that covers half of a composed character sequence) 73246 73247 Test: platform/mac/editing/input/devanagari-ligature.html 73248 73249 This fix is somewhat of a hack, as it asks editing commands to work with invalid selections. 73250 However, this is not entirely new for them, as Roman accents are typed in a similar manner. 73251 73252 In the future, we probably want to make commands work with ranges (or Positions explicitly). 73253 73254 * editing/Editor.cpp: 73255 (WebCore::Editor::selectComposition): Force selection to composition range. 73256 * editing/InsertTextCommand.cpp: 73257 (WebCore::InsertTextCommand::input): Force ending selection to inserted text range. 73258 73259 2007-11-14 Beth Dakin <bdakin (a] apple.com> 73260 73261 Reviewed by Hyatt. 73262 73263 Fix for <rdar://problem/5540855> REGRESSION: Combination of client- 73264 side image map and <a> tag is not working properly (15522) 73265 73266 * html/HTMLMapElement.cpp: 73267 (WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block 73268 and inline children rather than just block children. This matches 73269 Firefox. 73270 73271 2007-11-14 Justin Garcia <justin.garcia (a] apple.com> 73272 73273 Reviewed by Alexey Proskuryakov. 73274 73275 <rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs 73276 73277 * editing/DeleteSelectionCommand.cpp: 73278 (WebCore::DeleteSelectionCommand::handleGeneralDelete): 73279 Removed an irrelevant FIXME. 73280 (WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection 73281 hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition 73282 inside that block, which could lead to a crash. If that happens, there's no content in the block to move, 73283 so just remove the block and return. 73284 Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does 73285 its own placeholder insertion when necessary. 73286 (WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs, 73287 because it handles preserving m_needPlaceholder when it calls moveParagraphs. 73288 73289 2007-11-14 Timothy Hatcher <timothy (a] apple.com> 73290 73291 Reviewed by Adam. 73292 73293 Bug 14380: Long DOM ancestry breadcrumb lists get cut off 73294 http://bugs.webkit.org/show_bug.cgi?id=14380 73295 73296 The breadcumbs will now be compacted and collapsed if there isn't enough room 73297 to show everything. The collapsing algorithm always affects the crumbs that 73298 are farthest away from the selected or hovered crumb first. 73299 73300 * page/inspector/DocumentPanel.js: 73301 * page/inspector/inspector.css: 73302 73303 2007-11-14 Anders Carlsson <andersca (a] apple.com> 73304 73305 Use the correct include path. 73306 73307 * platform/Cursor.h: 73308 * plugins/win/PluginPackageWin.h: 73309 * plugins/win/PluginStreamWin.h: 73310 73311 2007-11-13 Brady Eidson <beidson (a] apple.com> 73312 73313 Reviewed by Adam 73314 73315 http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception 73316 73317 * storage/SQLTransaction.cpp: 73318 (WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the 73319 SQLTransactionCallback fails 73320 (WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it 73321 and make the commit/rollback decision accordingly 73322 73323 2007-11-13 Oliver Hunt <oliver (a] apple.com> 73324 73325 Reviewed by Anders. 73326 73327 <rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780) 73328 73329 When drawing directly to PDF CG may delay the use of the gradient function until outside our 73330 standard drawing path, which in turn could let us invalidate the caches before they were used. 73331 73332 To work around this we now store the cached stops in a RefCounted object, so that we can ensure 73333 that cache exists as long as required. 73334 73335 * platform/graphics/svg/SVGPaintServerGradient.cpp: 73336 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): 73337 * platform/graphics/svg/SVGPaintServerGradient.h: 73338 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 73339 (WebCore::cgGradientCallback): 73340 (WebCore::CGShadingRefForLinearGradient): 73341 (WebCore::CGShadingRefForRadialGradient): 73342 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache): 73343 73344 2007-11-13 Anders Carlsson <andersca (a] apple.com> 73345 73346 Fix Windows build. 73347 73348 * platform/Cursor.h: 73349 * plugins/win/PluginPackageWin.h: 73350 * plugins/win/PluginStreamWin.h: 73351 73352 2007-11-13 Geoffrey Garen <ggaren (a] apple.com> 73353 73354 Reviewed by Anders Carlsson. 73355 73356 Renamed Shared to RefCounted. 73357 73358 * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h. 73359 * ForwardingHeaders/wtf/Shared.h: Removed. 73360 * bindings/js/JSSVGPODTypeWrapper.h: 73361 * css/CSSFontFace.h: 73362 * css/CSSRuleList.h: 73363 * css/Counter.h: 73364 * css/Pair.h: 73365 * css/Rect.h: 73366 * css/StyleBase.h: 73367 * css/StyleSheetList.h: 73368 * dom/Attribute.h: 73369 * dom/Clipboard.h: 73370 * dom/DOMImplementation.h: 73371 * dom/Event.h: 73372 * dom/EventListener.h: 73373 * dom/NamedNodeMap.h: 73374 * dom/NodeFilter.h: 73375 * dom/NodeFilterCondition.h: 73376 * dom/NodeList.h: 73377 * dom/QualifiedName.h: 73378 * dom/Range.h: 73379 * dom/RangeException.h: 73380 * dom/RegisteredEventListener.h: 73381 * dom/Traversal.h: 73382 * editing/EditCommand.h: 73383 * history/BackForwardList.h: 73384 * history/CachedPage.h: 73385 * history/HistoryItem.cpp: 73386 (WebCore::HistoryItem::HistoryItem): 73387 * history/HistoryItem.h: 73388 * html/CanvasGradient.h: 73389 * html/CanvasPattern.h: 73390 * html/CanvasRenderingContext2D.h: 73391 * html/CanvasStyle.h: 73392 * html/HTMLCollection.h: 73393 * html/MediaError.h: 73394 * html/TimeRanges.h: 73395 * html/VoidCallback.h: 73396 * ksvg2/css/SVGRenderStyle.cpp: 73397 (WebCore::SVGRenderStyle::SVGRenderStyle): 73398 * ksvg2/css/SVGRenderStyle.h: 73399 * ksvg2/css/SVGRenderStyleDefs.cpp: 73400 (StyleFillData::StyleFillData): 73401 (StyleStrokeData::StyleStrokeData): 73402 (StyleStopData::StyleStopData): 73403 (StyleTextData::StyleTextData): 73404 (StyleClipData::StyleClipData): 73405 (StyleMaskData::StyleMaskData): 73406 (StyleMarkerData::StyleMarkerData): 73407 (StyleMiscData::StyleMiscData): 73408 * ksvg2/css/SVGRenderStyleDefs.h: 73409 * ksvg2/svg/SVGAngle.cpp: 73410 (WebCore::SVGAngle::SVGAngle): 73411 * ksvg2/svg/SVGAngle.h: 73412 * ksvg2/svg/SVGAnimatedTemplate.h: 73413 * ksvg2/svg/SVGElementInstanceList.h: 73414 * ksvg2/svg/SVGException.h: 73415 * ksvg2/svg/SVGList.h: 73416 * ksvg2/svg/SVGPathSeg.h: 73417 * ksvg2/svg/SVGPreserveAspectRatio.cpp: 73418 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio): 73419 * ksvg2/svg/SVGPreserveAspectRatio.h: 73420 * ksvg2/svg/SVGRenderingIntent.h: 73421 * ksvg2/svg/SVGTransform.h: 73422 * ksvg2/svg/SVGUnitTypes.h: 73423 * loader/DocumentLoader.h: 73424 * loader/FormState.h: 73425 * loader/ResourceLoader.h: 73426 * loader/TextResourceDecoder.h: 73427 * loader/icon/IconRecord.h: 73428 * page/BarInfo.h: 73429 * page/Console.h: 73430 * page/DOMSelection.h: 73431 * page/DOMWindow.h: 73432 * page/Frame.h: 73433 * page/History.h: 73434 * page/InspectorController.cpp: 73435 * page/Plugin.h: 73436 * page/Screen.h: 73437 * platform/ArrayImpl.h: 73438 * platform/CString.h: 73439 * platform/Cursor.h: 73440 * platform/DeprecatedValueListImpl.cpp: 73441 (WebCore::DeprecatedValueListImpl::Private::Private): 73442 * platform/FileChooser.h: 73443 * platform/FontFallbackList.h: 73444 * platform/FontFamily.cpp: 73445 (WebCore::FontFamily::FontFamily): 73446 * platform/FontFamily.h: 73447 * platform/FontSelector.h: 73448 * platform/GlyphPageTreeNode.h: 73449 * platform/PopupMenu.h: 73450 * platform/RegularExpression.cpp: 73451 * platform/ScrollBar.h: 73452 * platform/SharedBuffer.h: 73453 * platform/StringImpl.h: 73454 * platform/graphics/Icon.h: 73455 * platform/graphics/svg/SVGResource.h: 73456 * platform/network/FormData.cpp: 73457 (WebCore::FormData::FormData): 73458 * platform/network/FormData.h: 73459 * platform/network/ResourceHandle.h: 73460 * platform/network/ResourceHandleClient.h: 73461 * rendering/RenderStyle.cpp: 73462 (WebCore::StyleSurroundData::StyleSurroundData): 73463 (WebCore::StyleBoxData::StyleBoxData): 73464 (WebCore::StyleVisualData::StyleVisualData): 73465 (WebCore::StyleBackgroundData::StyleBackgroundData): 73466 (WebCore::StyleMarqueeData::StyleMarqueeData): 73467 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData): 73468 (WebCore::StyleMultiColData::StyleMultiColData): 73469 (WebCore::StyleTransformData::StyleTransformData): 73470 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 73471 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 73472 (WebCore::StyleInheritedData::StyleInheritedData): 73473 * rendering/RenderStyle.h: 73474 * rendering/SVGCharacterLayoutInfo.h: 73475 (WebCore::SVGCharOnPath::SVGCharOnPath): 73476 * storage/SQLResultSetRowList.h: 73477 * xml/DOMParser.h: 73478 * xml/XMLHttpRequest.h: 73479 * xml/XMLSerializer.h: 73480 * xml/XPathEvaluator.h: 73481 * xml/XPathExpression.h: 73482 * xml/XPathNSResolver.h: 73483 * xml/XPathResult.h: 73484 * xml/XPathValue.h: 73485 * xml/XSLTProcessor.h: 73486 73487 2007-11-13 Brady Eidson <beidson (a] apple.com> 73488 73489 Reviewed by Mark Rowe 73490 73491 Remove errantly added files, and fix the idl (for reference's sake) 73492 73493 * storage/JSCustomSQLStatementCallback.h: Removed. 73494 * storage/JSCustomSQLStatementErrorCallback.h: Removed. 73495 * storage/JSCustomSQLTransactionCallback.h: Removed. 73496 * storage/JSCustomSQLTransactionErrorCallback.h: Removed. 73497 * storage/SQLStatementCallback.idl: 73498 73499 2007-11-13 Adam Roben <aroben (a] apple.com> 73500 73501 Fix a bug and improve upon Brady's fix 73502 73503 Reviewed by Anders. 73504 73505 * bindings/js/JSSQLTransactionCustom.cpp: 73506 (WebCore::JSSQLTransaction::executeSql): Made the code a little 73507 clearer and more correct. 73508 * loader/icon/IconDatabase.cpp: Put parentheses around the expansion 73509 of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the 73510 comparison it meant to. 73511 73512 2007-11-13 Sam Weinig <sam (a] webkit.org> 73513 73514 Fix Qt and Gtk builds. 73515 73516 * WebCore.pro: Remove non-generated idl files. 73517 73518 2007-11-13 Mark Rowe <mrowe (a] apple.com> 73519 73520 Remove removed file from the project. 73521 73522 * WebCore.pro: 73523 73524 2007-11-13 Brady Eidson <beidson (a] apple.com> 73525 73526 Release build fix 73527 73528 * bindings/js/JSSQLTransactionCustom.cpp: 73529 (WebCore::JSSQLTransaction::executeSql): 73530 73531 2007-11-13 Adam Roben <aroben (a] apple.com> 73532 73533 Add WindowMessageBroadcaster 73534 73535 This class is used to listen in on messages sent to HWNDs. Multiple 73536 WindowMessageListeners can be notified about messages sent to a single 73537 HWND, and one WindowMessageListener can listen to messages from 73538 multiple HWNDs. 73539 73540 Reviewed by Ada. 73541 73542 * WebCore.vcproj/WebCore.vcproj: Added new files to project. 73543 * platform/win/WindowMessageBroadcaster.cpp: Added. 73544 (WebCore::instancesMap): Static helper. 73545 (WebCore::WindowMessageBroadcaster::addListener): Registers a listener 73546 for a particular HWND. 73547 (WebCore::WindowMessageBroadcaster::removeListener): Removes a 73548 listener for a particular HWND. 73549 (WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster): 73550 (WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster): 73551 (WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster 73552 from the instancesMap, removes all of its listeners, unsubclasses the 73553 window, and deletes the broadcaster. 73554 (WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses 73555 the window (which means that SubclassedWndProc won't be called again 73556 for this window). 73557 (WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all 73558 the listeners about every message sent to the HWND 73559 * platform/win/WindowMessageBroadcaster.h: Added. 73560 (WebCore::WindowMessageBroadcaster::listeners): 73561 (WebCore::WindowMessageBroadcaster::originalWndProc): 73562 * platform/win/WindowMessageListener.h: Added. 73563 73564 2007-11-13 Geoffrey Garen <ggaren (a] apple.com> 73565 73566 Reviewed by Sam Weinig. 73567 73568 Moved Shared.h into wtf so it could be used in more places. Retained 73569 TreeShared, but moved it to its own file, TreeShared.h. 73570 73571 * ForwardingHeaders/wtf/Shared.h: Added. 73572 * WebCore.xcodeproj/project.pbxproj: 73573 * bindings/js/JSSVGPODTypeWrapper.h: 73574 * css/CSSFontFace.h: 73575 * css/CSSRuleList.h: 73576 * css/Counter.h: 73577 * css/Pair.h: 73578 * css/Rect.h: 73579 * css/StyleBase.h: 73580 * css/StyleSheetList.h: 73581 * dom/Clipboard.h: 73582 * dom/DOMImplementation.h: 73583 * dom/Event.h: 73584 * dom/EventListener.h: 73585 * dom/NamedNodeMap.h: 73586 * dom/NodeFilterCondition.h: 73587 * dom/NodeList.h: 73588 * dom/Range.h: 73589 * dom/RangeException.h: 73590 * dom/RegisteredEventListener.h: 73591 * dom/Traversal.h: 73592 * history/BackForwardList.h: 73593 * history/CachedPage.h: 73594 * history/HistoryItem.h: 73595 * html/CanvasGradient.h: 73596 * html/CanvasPattern.h: 73597 * html/HTMLCollection.h: 73598 * html/MediaError.h: 73599 * html/TimeRanges.h: 73600 * html/VoidCallback.h: 73601 * ksvg2/css/SVGRenderStyleDefs.h: 73602 * ksvg2/svg/SVGAnimatedTemplate.h: 73603 * ksvg2/svg/SVGElementInstanceList.h: 73604 * ksvg2/svg/SVGList.h: 73605 * ksvg2/svg/SVGPathSeg.h: 73606 * ksvg2/svg/SVGPreserveAspectRatio.h: 73607 * ksvg2/svg/SVGRenderingIntent.h: 73608 * ksvg2/svg/SVGTransform.h: 73609 * ksvg2/svg/SVGUnitTypes.h: 73610 * loader/DocumentLoader.h: 73611 * loader/FormState.h: 73612 * loader/ResourceLoader.h: 73613 * loader/TextResourceDecoder.h: 73614 * loader/icon/IconRecord.h: 73615 * page/BarInfo.h: 73616 * page/Console.h: 73617 * page/DOMSelection.h: 73618 * page/DOMWindow.h: 73619 * page/History.h: 73620 * page/InspectorController.cpp: 73621 * page/Plugin.h: 73622 * page/Screen.h: 73623 * platform/ArrayImpl.h: 73624 * platform/CString.h: 73625 * platform/DeprecatedValueListImpl.cpp: 73626 * platform/FontFallbackList.h: 73627 * platform/FontFamily.h: 73628 * platform/FontSelector.h: 73629 * platform/GlyphPageTreeNode.h: 73630 * platform/PopupMenu.h: 73631 * platform/RegularExpression.cpp: 73632 * platform/ScrollBar.h: 73633 * platform/Shared.h: Removed. 73634 * platform/SharedBuffer.h: 73635 * platform/StringImpl.h: 73636 * platform/graphics/Icon.h: 73637 * platform/graphics/svg/SVGResource.h: 73638 * platform/network/FormData.h: 73639 * platform/network/ResourceHandleClient.h: 73640 * rendering/RenderStyle.h: 73641 * rendering/SVGCharacterLayoutInfo.h: 73642 * storage/SQLResultSetRowList.h: 73643 * xml/DOMParser.h: 73644 * xml/XMLSerializer.h: 73645 * xml/XPathEvaluator.h: 73646 * xml/XPathExpression.h: 73647 * xml/XPathNSResolver.h: 73648 * xml/XPathResult.h: 73649 73650 2007-11-13 Brady Eidson <beidson (a] apple.com> 73651 73652 JS bindings by Anders, reviewed by Brady 73653 WebCore changes by Brady, reviewed by Anders and Tim 73654 73655 Adapt to the new iteration of the HTML5 client-side storage spec. 73656 73657 Based largely on implementation feedback we generated in landing our first version of this API and also 73658 on the input of others in the community, the database spec went through a large overhaul that addresses 73659 many concerns. Amongst other changes/improvements: 73660 - SQLTransaction object is added and all transactions are explicit. In addition, since the API manages 73661 transactions explicitly, transaction-related language in SQL statements is disallowed 73662 - executeSql() is now on a transaction object instead of the database object. 73663 - Database.changeVersion() now takes place within the context of a transaction. Therefore the version 73664 change can be atomic along with the statements that modify the DB schema 73665 73666 Most of the logic now takes place during the "transaction steps," which the specification clearly lays out 73667 as a chain of events on the SQLTransaction object where processing is handed off between being processed 73668 asynchronously and calling back up to javascript. To accomplish this voodoo, SQLTransaction has a series of 73669 methods that roughly match up with the "transaction steps" and it keeps a pointer to the next step. 73670 73671 * DerivedSources.make: 73672 * WebCore.xcodeproj/project.pbxproj: 73673 73674 * bindings/js/JSDatabaseCustom.cpp: 73675 (WebCore::JSDatabase::changeVersion): Adapt to the new API 73676 (WebCore::JSDatabase::transaction): Added 73677 73678 * bindings/js/JSSQLTransactionCustom.cpp: Added. 73679 (WebCore::JSSQLTransaction::executeSql): Added 73680 73681 * page/DOMWindow.cpp: 73682 (WebCore::DOMWindow::openDatabase): Add the new arguments 73683 * page/DOMWindow.h: 73684 * page/DOMWindow.idl: 73685 73686 * page/inspector/DatabasePanel.js: Use the new API 73687 73688 * storage/ChangeVersionWrapper.cpp: Added. Implementation of "SQLTransactionWrapper" that enforces 73689 changing the version of the database 73690 (WebCore::ChangeVersionWrapper::ChangeVersionWrapper): 73691 (WebCore::ChangeVersionWrapper::performPreflight): 73692 (WebCore::ChangeVersionWrapper::performPostflight): 73693 * storage/ChangeVersionWrapper.h: Added. 73694 (WebCore::ChangeVersionWrapper::sqlError): 73695 73696 * storage/Database.cpp: Removed the "main thread" and "background thread" sqlite handles as all sqlite operations can now 73697 happen solely on the background thread - most of these changes result from that change 73698 (WebCore::Database::Database): Removed an obsolete FIXME 73699 (WebCore::Database::openAndVerifyVersion): 73700 (WebCore::Database::getVersionFromDatabase): 73701 (WebCore::Database::setVersionInDatabase): 73702 (WebCore::Database::versionMatchesExpected): Atomically guarantee that the current version and expected version are the same 73703 (WebCore::Database::performOpenAndVerify): 73704 (WebCore::Database::performTransactionStep): Added, as a hook for the DatabaseTransactionTask on the DatabaseThread 73705 (WebCore::Database::changeVersion): Changed for the new API from JS 73706 (WebCore::Database::transaction): Added, for the new API from JS 73707 (WebCore::Database::scheduleTransaction): Add a transaction to this Database's transaction queue 73708 (WebCore::Database::scheduleTransactionStep): Schedule the current transaction to be called on the background thread 73709 (WebCore::Database::scheduleTransactionCallback): Schedule the current transaction to perform a callback on the main thread 73710 (WebCore::Database::performGetTableNames): 73711 (WebCore::Database::deliverAllPendingCallbacks): 73712 (WebCore::Database::deliverPendingCallback): 73713 (WebCore::Database::setExpectedVersion): 73714 * storage/Database.h: 73715 * storage/Database.idl: 73716 73717 * storage/DatabaseTask.cpp: Changed DatabaseTask to create a mutex on demand, and use the existence of that mutex 73718 to replace the m_synchronous flag 73719 (WebCore::DatabaseTask::performTask): 73720 (WebCore::DatabaseTask::lockForSynchronousScheduling): 73721 (WebCore::DatabaseTask::waitForSynchronousCompletion): 73722 (WebCore::DatabaseTransactionTask::DatabaseTransactionTask): 73723 * storage/DatabaseTask.h: 73724 73725 * storage/SQLError.h: New API object 73726 73727 * storage/SQLResultSet.cpp: 73728 (WebCore::SQLResultSet::SQLResultSet): Small changes to the API object 73729 * storage/SQLResultSet.h: 73730 * storage/SQLResultSet.idl: 73731 73732 * storage/SQLStatement.cpp: Added. 73733 (WebCore::SQLStatement::SQLStatement): 73734 (WebCore::SQLStatement::execute): Actually execute the sql statement on the SQLiteDatabase if it's still valid 73735 (WebCore::SQLStatement::setVersionMismatchedError): Flag this statement as bad before it even starts in case 73736 of an actual version vs. expected version mismatch 73737 (WebCore::SQLStatement::performCallback): Call the right callback (SQLStatement or SQLStatementError) for this statement 73738 * storage/SQLStatement.h: Added. 73739 (WebCore::SQLStatement::hasStatementCallback): 73740 (WebCore::SQLStatement::hasStatementErrorCallback): 73741 (WebCore::SQLStatement::sqlError): Get the error for this statement, if any 73742 73743 * storage/SQLTransaction.cpp: Added. 73744 (WebCore::SQLTransaction::SQLTransaction): 73745 (WebCore::SQLTransaction::executeSQL): Entry point for the API from JS 73746 (WebCore::SQLTransaction::enqueueStatement): Add a new statement onto the queue 73747 (WebCore::SQLTransaction::performNextStep): Call the method for the next step 73748 (WebCore::SQLTransaction::performPendingCallback): Call the method for the pending callback 73749 (WebCore::SQLTransaction::openTransactionAndPreflight): Open a transaction to the database and preflight 73750 using the SQLTransactionWrapper, if any 73751 (WebCore::SQLTransaction::deliverTransactionCallback): Deliver the transaction callback to the javascript thread 73752 (WebCore::SQLTransaction::scheduleToRunStatements): Convinience to schedule this transaction on the database thread 73753 and make runStatements() the next step 73754 (WebCore::SQLTransaction::runStatements): Start running the sql statements queued up for this transaction 73755 (WebCore::SQLTransaction::getNextStatement): Bring the next statement off the queue 73756 (WebCore::SQLTransaction::runCurrentStatement): Execute the current statement 73757 (WebCore::SQLTransaction::deliverStatementCallback): Deliver the SQLStatementCallback for this statement 73758 (WebCore::SQLTransaction::postflightAndCommit): Postflight the transaction using SQLTransactionWrapper and commit it 73759 (WebCore::SQLTransaction::handleTransactionError): Make the right call for any error that occurred on the Transaction 73760 (WebCore::SQLTransaction::deliverTransactionErrorCallback): Deliver the SQLTransactionErrorCallback 73761 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Either do a final commit or rollback to cleanup the 73762 transaction after it error'ed out 73763 * storage/SQLTransaction.h: 73764 (WebCore::SQLTransactionWrapper::~SQLTransactionWrapper): 73765 (WebCore::SQLTransaction::database): 73766 * storage/SQLTransaction.idl: 73767 73768 The following were made obsolete by the new version of the API: 73769 * bindings/js/JSCustomSQLCallback.cpp: Removed. 73770 * bindings/js/JSCustomSQLCallback.h: Removed. 73771 * bindings/js/JSCustomVersionChangeCallback.cpp: Removed. 73772 * bindings/js/JSCustomVersionChangeCallback.h: Removed. 73773 * storage/DatabaseCallback.cpp: Removed. 73774 * storage/DatabaseCallback.h: Removed. 73775 * storage/SQLCallback.h: Removed. 73776 * storage/SQLCallback.idl: Removed. 73777 * storage/VersionChangeCallback.h: Removed. 73778 * storage/VersionChangeCallback.idl: Removed. 73779 73780 2007-11-13 Dan Bernstein <mitz (a] apple.com> 73781 73782 Reviewed by Beth Dakin. 73783 73784 - fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click 73785 73786 * css/html4.css: Added a 'cursor: auto' rule for links. 73787 * manual-tests/link-cursor-auto.html: Added. 73788 73789 2007-11-13 Dan Bernstein <mitz (a] apple.com> 73790 73791 Reviewed by Beth Dakin. 73792 73793 - fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view) 73794 73795 The root cause for the crash is that when a non-HTML view enters the 73796 frame, the frame's document pointer keeps pointing at the last HTML-type 73797 document it contained. This patch does not address the root cause, but 73798 makes changes to account for that condition. 73799 73800 * loader/FrameLoader.cpp: 73801 (WebCore::FrameLoader::receivedMainResourceError): Do not change the 73802 frame's current document's page cache state here. 73803 (WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's 73804 current document is in fact the history item being invalidated, then 73805 set its page cache state here. 73806 73807 2007-11-12 Antti Koivisto <antti (a] apple.com> 73808 73809 Reviewed by Adele. 73810 73811 Fix that 'timeupdate' and 'waiting' events were never dispatched. 73812 73813 Add explicit m_paused attribute instead of trying to derive paused state from 73814 underlying media. Call updatePlayState() to start/stop media playback 73815 when any attribute that affects active playback state changes. This matches 73816 specification text. 73817 73818 Test: http/tests/media/video-play-stall.html 73819 73820 * html/HTMLMediaElement.cpp: 73821 (WebCore::HTMLMediaElement::HTMLMediaElement): 73822 (WebCore::HTMLMediaElement::setReadyState): 73823 (WebCore::HTMLMediaElement::paused): 73824 (WebCore::HTMLMediaElement::play): 73825 (WebCore::HTMLMediaElement::pause): 73826 (WebCore::HTMLMediaElement::checkIfSeekNeeded): 73827 (WebCore::HTMLMediaElement::movieDidEnd): 73828 (WebCore::HTMLMediaElement::updatePlayState): 73829 * html/HTMLMediaElement.h: 73830 73831 2007-11-13 John Sullivan <sullivan (a] apple.com> 73832 73833 Reviewed by Darin. 73834 73835 removed recently-added PreferredType concept; we found a better way to do what 73836 ths was accomplishing 73837 73838 * bridge/WindowFeatures.h: 73839 (WebCore::WindowFeatures::WindowFeatures): 73840 removed definition of PreferredType 73841 73842 * page/ContextMenuController.cpp: 73843 (WebCore::openNewWindow): 73844 removed use of PreferredType 73845 73846 2007-11-12 Alexey Proskuryakov <ap (a] webkit.org> 73847 73848 Reviewed by Darin. 73849 73850 http://bugs.webkit.org/show_bug.cgi?id=15954 73851 Move DOM Selection operations out of SelectionController 73852 73853 No change in functionality. 73854 73855 * editing/SelectionController.cpp: 73856 (WebCore::SelectionController::setSelectedRange): 73857 * editing/SelectionController.h: 73858 * page/DOMSelection.cpp: 73859 (WebCore::DOMSelection::anchorNode): 73860 (WebCore::DOMSelection::baseNode): 73861 (WebCore::DOMSelection::anchorOffset): 73862 (WebCore::DOMSelection::baseOffset): 73863 (WebCore::DOMSelection::focusNode): 73864 (WebCore::DOMSelection::extentNode): 73865 (WebCore::DOMSelection::focusOffset): 73866 (WebCore::DOMSelection::extentOffset): 73867 (WebCore::DOMSelection::isCollapsed): 73868 (WebCore::DOMSelection::type): 73869 (WebCore::DOMSelection::rangeCount): 73870 (WebCore::DOMSelection::collapse): 73871 (WebCore::DOMSelection::collapseToEnd): 73872 (WebCore::DOMSelection::collapseToStart): 73873 (WebCore::DOMSelection::empty): 73874 (WebCore::DOMSelection::setBaseAndExtent): 73875 (WebCore::DOMSelection::setPosition): 73876 (WebCore::DOMSelection::modify): 73877 (WebCore::DOMSelection::extend): 73878 (WebCore::DOMSelection::getRangeAt): 73879 (WebCore::DOMSelection::removeAllRanges): 73880 (WebCore::DOMSelection::addRange): 73881 (WebCore::DOMSelection::deleteFromDocument): 73882 (WebCore::DOMSelection::containsNode): 73883 (WebCore::DOMSelection::selectAllChildren): 73884 (WebCore::DOMSelection::toString): 73885 * page/DOMSelection.h: 73886 Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange() 73887 to return its result directly instead of via an ExceptionCode that no caller wanted. 73888 73889 * editing/Editor.cpp: 73890 (WebCore::Editor::deleteRange): 73891 (WebCore::Editor::removeFormattingAndStyle): 73892 (WebCore::Editor::selectComposition): 73893 (WebCore::Editor::setComposition): 73894 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): 73895 Adapted for SelectionController::setSelectedRange() now returning a bool. 73896 SelectionController::toString() is no longer avasilable, use plainText() explicitly. 73897 73898 * WebCore.base.exp: Changed SelectionController::setSelectedRange() signature. 73899 73900 2007-11-12 Dan Bernstein <mitz (a] apple.com> 73901 73902 Reviewed by Darin Adler. 73903 73904 - <http://bugs.webkit.org/show_bug.cgi?id=15890> 73905 Most of www.aol.com still redraws unnecessarily when headline/photo section changes 73906 73907 Test: fast/repaint/invisible-objects.html 73908 73909 Avoid repainting invisible blocks if they are enclosed in a layer that 73910 contains no visible objects. 73911 73912 * rendering/RenderBlock.cpp: 73913 (WebCore::RenderBlock::layoutBlock): 73914 * rendering/RenderBox.cpp: 73915 (WebCore::RenderBox::absoluteClippedOverflowRect): 73916 73917 2007-11-12 Timothy Hatcher <timothy (a] apple.com> 73918 73919 Reviewed by Mark Rowe. 73920 73921 Prevent selecting a word in the breadcrumb or the styles section when double 73922 clicking on a DOM node in the outline tree. 73923 73924 * page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event 73925 with a detail of 2 or higher comes in. This prevents the selection. 73926 * page/inspector/inspector.css: Mark the breadcrumb as user-select: none. 73927 73928 2007-11-12 Oliver Hunt <oliver (a] apple.com> 73929 73930 Reviewed by John S. 73931 73932 <rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460) 73933 73934 EventHandler needs to reset these fields when a drag terminates, otherwise 73935 EventHandler is left in an inconsistent state when a drag is initiated on a 73936 page with multiple frames. 73937 73938 * page/EventHandler.cpp: 73939 (WebCore::EventHandler::cancelDragAndDrop): 73940 (WebCore::EventHandler::performDragAndDrop): 73941 (WebCore::EventHandler::clearDragState): 73942 * page/EventHandler.h: 73943 73944 2007-11-12 Oliver Hunt <oliver (a] apple.com> 73945 73946 Reviewed by Darin and Antti. 73947 73948 Return behaviour for 0 sized pattern back to what it was prior to r27704 73949 73950 This change in behaviour broke two layout tests in DRT, so correcting it 73951 corrects existing tests. 73952 73953 * platform/graphics/cg/ImageBufferCG.cpp: 73954 73955 2007-11-12 Timothy Hatcher <timothy (a] apple.com> 73956 73957 Reviewed by John. 73958 73959 <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources] 73960 73961 * page/mac/WebCoreFrameBridge.mm: 73962 (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): 73963 If the SharedBuffer is null insert an empty NSData instead of nil. 73964 73965 2007-11-12 Darin Adler <darin (a] apple.com> 73966 73967 Reviewed by Tim. 73968 73969 - http://bugs.webkit.org/show_bug.cgi?id=15947 73970 speed up page loading a bit by inlining 73971 73972 * loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange): 73973 Factored out the slow case of isScheduledLocationChangePending into this. 73974 73975 * loader/FrameLoader.h: 73976 (WebCore::FrameLoader::isScheduledLocationChangePending): Added an 73977 inline check of the far and away most common case, where m_scheduledRedirection 73978 is 0; the rest is in the isLocationChange function. 73979 73980 2007-11-12 George Staikos <staikos (a] kde.org> 73981 73982 Reviewed by Tim. 73983 73984 Extract the text match marker highlight color into RenderTheme instead 73985 of the hardcoded yellow. 73986 73987 * rendering/InlineTextBox.cpp: 73988 (WebCore::InlineTextBox::paintTextMatchMarker): 73989 * rendering/RenderTheme.cpp: 73990 (WebCore::RenderTheme::platformTextSearchHighlightColor): 73991 * rendering/RenderTheme.h: 73992 73993 2007-11-12 Mark Rowe <mrowe (a] apple.com> 73994 73995 Fix deadlock on launch on the Mac. 73996 73997 * loader/icon/IconDatabase.cpp: 73998 (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717. 73999 74000 2007-11-12 Justin Haygood <jhaygood (a] reaktix.com> 74001 74002 Reviewed by Brady. 74003 74004 http://bugs.webkit.org/show_bug.cgi?id=15955 74005 Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions 74006 74007 * loader/icon/IconDatabase.cpp: 74008 (WebCore::IconDatabase::open): 74009 (WebCore::IconDatabase::close): 74010 * loader/icon/IconDatabase.h: 74011 * platform/sql/SQLiteDatabase.cpp: 74012 (WebCore::SQLiteDatabase::SQLiteDatabase): 74013 (WebCore::SQLiteDatabase::open): 74014 (WebCore::SQLiteDatabase::close): 74015 * platform/sql/SQLiteDatabase.h: 74016 74017 2007-11-12 Adam Roben <aroben (a] apple.com> 74018 74019 Windows build fix 74020 74021 * config.h: Touch because VS apparently can't figure out which files 74022 depend on ResourceResponse.h. 74023 * WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to 74024 project and remove old ResourceResponse files. 74025 74026 2007-11-12 Julien Chaffraix <julien.chaffraix (a] gmail.com> 74027 74028 Reviewed by Darin. 74029 74030 http://bugs.webkit.org/show_bug.cgi?id=15334 74031 Split ResourceResponse into platform specific files 74032 74033 * WebCore.base.exp: 74034 * WebCore.pro: 74035 * WebCore.vcproj/WebCore.vcproj: 74036 * WebCore.xcodeproj/project.pbxproj: 74037 * platform/network/ResourceResponse.cpp: Removed. 74038 * platform/network/ResourceResponse.h: Removed. 74039 * platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp. 74040 (WebCore::ResourceResponseBase::asResourceResponse): 74041 (WebCore::ResourceResponseBase::isHTTP): 74042 (WebCore::ResourceResponseBase::url): 74043 (WebCore::ResourceResponseBase::setUrl): 74044 (WebCore::ResourceResponseBase::mimeType): 74045 (WebCore::ResourceResponseBase::setMimeType): 74046 (WebCore::ResourceResponseBase::expectedContentLength): 74047 (WebCore::ResourceResponseBase::setExpectedContentLength): 74048 (WebCore::ResourceResponseBase::textEncodingName): 74049 (WebCore::ResourceResponseBase::setTextEncodingName): 74050 (WebCore::ResourceResponseBase::suggestedFilename): 74051 (WebCore::ResourceResponseBase::setSuggestedFilename): 74052 (WebCore::ResourceResponseBase::httpStatusCode): 74053 (WebCore::ResourceResponseBase::setHTTPStatusCode): 74054 (WebCore::ResourceResponseBase::httpStatusText): 74055 (WebCore::ResourceResponseBase::setHTTPStatusText): 74056 (WebCore::ResourceResponseBase::httpHeaderField): 74057 (WebCore::ResourceResponseBase::setHTTPHeaderField): 74058 (WebCore::ResourceResponseBase::httpHeaderFields): 74059 (WebCore::ResourceResponseBase::isAttachment): 74060 (WebCore::ResourceResponseBase::setExpirationDate): 74061 (WebCore::ResourceResponseBase::expirationDate): 74062 (WebCore::ResourceResponseBase::setLastModifiedDate): 74063 (WebCore::ResourceResponseBase::lastModifiedDate): 74064 (WebCore::ResourceResponseBase::updateResourceResponse): 74065 * platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h. 74066 (WebCore::ResourceResponseBase::ResourceResponseBase): 74067 * platform/network/cf/ResourceResponse.h: Added. 74068 (WebCore::ResourceResponse::ResourceResponse): 74069 * platform/network/curl/ResourceResponse.h: Added. 74070 (WebCore::ResourceResponse::ResourceResponse): 74071 (WebCore::ResourceResponse::doUpdateResourceResponse): 74072 * platform/network/mac/ResourceResponse.h: Added. 74073 (WebCore::ResourceResponse::ResourceResponse): 74074 * platform/network/qt/ResourceResponse.h: Added. 74075 (WebCore::ResourceResponse::ResourceResponse): 74076 (WebCore::ResourceResponse::doUpdateResourceResponse): 74077 74078 2007-11-11 Justin Haygood <jhaygood (a] reaktix.com> 74079 74080 Reviewed by Adam Roben. 74081 74082 http://bugs.webkit.org/show_bug.cgi?id=15939 74083 Adds a currentThread API for use by SQLiteDatabase, etc. 74084 74085 * platform/Threading.h: 74086 * platform/ThreadingNone.cpp: 74087 (WebCore::currentThread): 74088 * platform/gtk/ThreadingGtk.cpp: 74089 (WebCore::identifierByGthreadHandle): 74090 * platform/pthreads/ThreadingPthreads.cpp: 74091 (WebCore::identifierByPthreadHandle): 74092 (WebCore::currentThread): 74093 74094 2007-11-11 Dan Bernstein <mitz (a] apple.com> 74095 74096 Reviewed by Adam Roben. 74097 74098 - fix http://bugs.webkit.org/show_bug.cgi?id=15942 74099 REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange()) 74100 74101 Test: editing/selection/cleared-by-relayout.html 74102 74103 * editing/Selection.cpp: 74104 (WebCore::Selection::toRange): Check if the selection has been cleared 74105 by updating layout. 74106 74107 2007-11-11 Darin Adler <darin (a] apple.com> 74108 74109 Reviewed by Mark Rowe. 74110 74111 - fix line numbers that were off since my recent patch 74112 74113 * platform/SegmentedString.h: 74114 (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers 74115 and rename it to m_doNotExcludeLineNumbers. 74116 (WebCore::SegmentedSubstring::excludeLineNumbers): Updated. 74117 (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added. 74118 (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated. 74119 (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix 74120 the regression, but keep the speediness. I accidentally had removed a ! here. 74121 74122 * platform/SegmentedString.cpp: 74123 (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers. 74124 74125 2007-11-11 Oliver Hunt <oliver (a] apple.com> 74126 74127 Reviewed by Darin. 74128 74129 Fix for <rdar://problem/5585334> numfuzz: integer overflows opening 74130 malformed SVG file in WebCore::ImageBuffer::create. Add protection 74131 against a potential overflow. 74132 74133 * platform/graphics/cg/ImageBufferCG.cpp: 74134 74135 2007-11-11 Antti Koivisto <antti (a] apple.com> 74136 74137 Reviewed by Darin. 74138 74139 Fix a bunch of cases where the exception code is checked by the function but is not zeroed first. 74140 74141 * bindings/js/kjs_binding.cpp: 74142 (KJS::setDOMException): 74143 * dom/Attr.cpp: 74144 (WebCore::Attr::setPrefix): 74145 * dom/Document.cpp: 74146 (WebCore::Document::createElement): 74147 * dom/Element.cpp: 74148 (WebCore::Element::setPrefix): 74149 * dom/Range.cpp: 74150 (WebCore::Range::setStart): 74151 (WebCore::Range::setEnd): 74152 (WebCore::Range::isPointInRange): 74153 (WebCore::Range::comparePoint): 74154 (WebCore::Range::compareBoundaryPoints): 74155 (WebCore::Range::deleteContents): 74156 (WebCore::Range::processContents): 74157 (WebCore::Range::extractContents): 74158 (WebCore::Range::insertNode): 74159 (WebCore::Range::setStartAfter): 74160 (WebCore::Range::setEndBefore): 74161 (WebCore::Range::setEndAfter): 74162 (WebCore::Range::selectNode): 74163 (WebCore::Range::surroundContents): 74164 (WebCore::Range::setStartBefore): 74165 * editing/TextIterator.cpp: 74166 (WebCore::TextIterator::TextIterator): 74167 * html/CanvasRenderingContext2D.cpp: 74168 (WebCore::CanvasRenderingContext2D::createPattern): 74169 * html/HTMLMediaElement.cpp: 74170 (WebCore::HTMLMediaElement::play): 74171 (WebCore::HTMLMediaElement::pause): 74172 * html/HTMLSelectElement.cpp: 74173 (WebCore::HTMLSelectElement::add): 74174 (WebCore::HTMLSelectElement::setOption): 74175 * xml/XPathEvaluator.cpp: 74176 (WebCore::XPathEvaluator::evaluate): 74177 74178 2007-11-11 Darin Adler <darin (a] apple.com> 74179 74180 Reviewed by Mitz. 74181 74182 - http://bugs.webkit.org/show_bug.cgi?id=15945 74183 speed up GraphicsContextCG typical case by skipping roundToDevicePixels 74184 74185 * platform/graphics/cg/GraphicsContextCG.cpp: 74186 (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no 74187 longer know if the transform is identity or not. 74188 (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant 74189 CGContextSave/RestoreGState. 74190 (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no 74191 longer know if the transform is identity or not. 74192 (WebCore::GraphicsContext::endTransparencyLayer): Ditto. 74193 (WebCore::GraphicsContext::scale): Ditto. 74194 (WebCore::GraphicsContext::rotate): Ditto. 74195 (WebCore::GraphicsContext::translate): Ditto. 74196 (WebCore::GraphicsContext::concatCTM): Ditto. 74197 (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform 74198 is known to be identity, and record that fact when we discover it otherwise. 74199 74200 * platform/graphics/cg/GraphicsContextPlatformPrivate.h: 74201 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 74202 Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false. 74203 74204 2007-11-11 Darin Adler <darin (a] apple.com> 74205 74206 Reviewed by Mitz. 74207 74208 - http://bugs.webkit.org/show_bug.cgi?id=15944 74209 streamline SegmentedString to speed up parsing 74210 74211 I measured a speed-up of the page load test while developing this patch. I don't 74212 have a precise figure, though. 74213 74214 * html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed 74215 lineno to m_lineNumber. 74216 * html/HTMLTokenizer.cpp: 74217 (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function 74218 since we don't want to update a line number. 74219 (WebCore::HTMLTokenizer::parseSpecial): Ditto. 74220 (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly 74221 instead of lineNumberPtr() since the advance function now takes a reference. 74222 (WebCore::HTMLTokenizer::parseServer): Ditto. 74223 (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto. 74224 (WebCore::HTMLTokenizer::parseText): Ditto. 74225 (WebCore::HTMLTokenizer::parseEntity): Ditto. 74226 (WebCore::HTMLTokenizer::parseTag): Ditto. 74227 (WebCore::HTMLTokenizer::write): Ditto. 74228 74229 * loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write): 74230 * loader/TextDocument.cpp: (WebCore::TextTokenizer::write): 74231 Don't pass 0 to the advance function. 74232 74233 * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined 74234 the most common case, and pushed less common cases into a separate function 74235 that is not inlined. Also got rid of a branch by separating the case with a 74236 line number from the case without one. 74237 74238 * platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase): 74239 Added. The aforementioned less common cases are here. 74240 74241 2007-11-11 Antti Koivisto <antti (a] apple.com> 74242 74243 Forgot to do this review change (and test HTTP commit). 74244 74245 * html/HTMLMediaElement.cpp: 74246 (WebCore::HTMLMediaElement::play): 74247 74248 2007-11-11 Antti Koivisto <antti (a] apple.com> 74249 74250 Reviewed by Darin. 74251 74252 - Update play() and pause() to match current HTML5 draft 74253 - send events asynchronously 74254 - add timeupdate event to pause 74255 - rethrow load() exception, not others 74256 - Use list for async events to get ordering right 74257 74258 Tests: media/video-pause-empty-events.html 74259 media/video-play-empty-events.html 74260 media/video-play-pause-events.html 74261 media/video-play-pause-exception.html 74262 74263 * html/HTMLMediaElement.cpp: 74264 (WebCore::HTMLMediaElement::dispatchEventAsync): 74265 (WebCore::HTMLMediaElement::asyncEventTimerFired): 74266 (WebCore::HTMLMediaElement::play): 74267 (WebCore::HTMLMediaElement::pause): 74268 * html/HTMLMediaElement.h: 74269 74270 2007-11-11 Nikolas Zimmermann <zimmermann (a] kde.org> 74271 74272 Reviewed by Eric. 74273 74274 Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected) 74275 74276 Add (basic) support for dominant-baseline / alignment-baseline text properties. 74277 Note: there are no official testcases, and no-one implemented it before. Only ASV3 74278 supported dominant-baseline, but not correct it seems. 74279 74280 * rendering/SVGRootInlineBox.cpp: 74281 (WebCore::dominantBaselineToShift): 74282 (WebCore::alignmentBaselineToShift): 74283 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 74284 74285 2007-11-11 Adam Roben <aroben (a] apple.com> 74286 74287 Add wrappers around CoCreateInstance to COMPtr 74288 74289 I followed the example of the Query constructor and query method by 74290 adding a Create constructor and create method. 74291 74292 Reviewed by Darin. 74293 74294 * platform/win/COMPtr.h: 74295 (COMPtr::COMPtr): Added a new constructor that calls 74296 CoCreateInstance. 74297 (COMPtr::create): Added. 74298 (COMPtr::createInstance): Added. 74299 74300 2007-11-11 Alexey Proskuryakov <ap (a] nypop.com> 74301 74302 Reviewed by Darin. 74303 74304 http://bugs.webkit.org/show_bug.cgi?id=15896 74305 More editing cleanup 74306 74307 No functionality changes. 74308 74309 * dom/Node.h: Moved several editing-related methods elsewhere. 74310 * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset() 74311 to highlight that it is a match to offsetInCharacters(), and much different from other 74312 offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check 74313 offsetInCharacters() before calling this. 74314 74315 * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset): 74316 * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode): 74317 Updated for above renamings. 74318 74319 * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData. 74320 74321 * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged(). 74322 74323 * dom/Position.h: 74324 * dom/Position.cpp: 74325 (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset(). 74326 (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset(). 74327 (WebCore::Position::previous): Adapted to the above move. 74328 (WebCore::Position::next): Ditto. 74329 (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think), 74330 and BR elements are covered by editingIgnoresContent(). 74331 (WebCore::Position::downstream): Ditto. 74332 (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset(). 74333 (WebCore::Position::rendersInDifferentPosition): Updated for the above moves. 74334 74335 * dom/PositionIterator.h: Added a comment describing this class from the original check-in. 74336 * dom/PositionIterator.cpp: 74337 (WebCore::PositionIterator::increment): Updated for the above moves. 74338 (WebCore::PositionIterator::decrement): Ditto. 74339 74340 * dom/ProcessingInstruction.h: 74341 * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset): 74342 ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset(). 74343 I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way. 74344 74345 * dom/Range.cpp: 74346 (WebCore::Range::selectNodeContents): 74347 * editing/ApplyStyleCommand.cpp: 74348 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): 74349 (WebCore::ApplyStyleCommand::applyInlineStyle): 74350 (WebCore::maxRangeOffset): 74351 (WebCore::ApplyStyleCommand::removeInlineStyle): 74352 (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded): 74353 (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded): 74354 (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded): 74355 (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded): 74356 (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): 74357 * editing/CompositeEditCommand.cpp: 74358 (WebCore::CompositeEditCommand::insertNodeAt): 74359 (WebCore::CompositeEditCommand::positionOutsideTabSpan): 74360 * editing/DeleteSelectionCommand.cpp: 74361 (WebCore::DeleteSelectionCommand::handleGeneralDelete): 74362 * editing/InsertLineBreakCommand.cpp: 74363 (WebCore::InsertLineBreakCommand::doApply): 74364 * editing/InsertParagraphSeparatorCommand.cpp: 74365 (WebCore::InsertParagraphSeparatorCommand::doApply): 74366 * editing/InsertTextCommand.cpp: 74367 (WebCore::InsertTextCommand::insertTab): 74368 * editing/visible_units.cpp: 74369 (WebCore::previousLinePosition): 74370 (WebCore::nextLinePosition): 74371 Updated for the above moves. 74372 74373 * editing/Editor.cpp: 74374 (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call. 74375 74376 * editing/TextIterator.cpp: 74377 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously 74378 match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases. 74379 (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves. 74380 74381 * editing/htmlediting.h: 74382 * editing/htmlediting.cpp: 74383 (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept 74384 child nodes, other than via DOM manipulation, which is not specific to BRs. 74385 (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent(). 74386 (WebCore::maxDeepOffset): Ditto. 74387 (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions. 74388 (WebCore::caretMaxOffset): Ditto. 74389 74390 * page/EventHandler.cpp: 74391 (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of 74392 caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor 74393 will take care of adjusting the offset. 74394 74395 * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here. 74396 * page/mac/WebCoreFrameBridge.mm: 74397 (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls. 74398 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing. 74399 Changed some runtime checks that seemingly cannot fail into assertions. 74400 74401 2007-11-11 Darin Adler <darin (a] apple.com> 74402 74403 Reviewed by Sam. 74404 74405 - updated for JSRegExp function changes 74406 74407 * platform/RegularExpression.cpp: 74408 (WebCore::RegularExpression::Private::compile): 74409 (WebCore::RegularExpression::match): 74410 74411 2007-11-10 Mark Rowe <mrowe (a] apple.com> 74412 74413 Qt Linux build fix. 74414 74415 * platform/UnicodeRange.h: 74416 74417 2007-11-10 Mark Rowe <mrowe (a] apple.com> 74418 74419 Qt Windows build fix. 74420 74421 * platform/UnicodeRange.h: 74422 74423 2007-11-10 Nikolas Zimmermann <zimmermann (a] kde.org> 74424 74425 Reviewed by Eric. 74426 74427 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support) 74428 Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off) 74429 74430 Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto') 74431 Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes) 74432 74433 * WebCore.pro: Add platform/UnicodeRange.cpp to build 74434 * WebCore.xcodeproj/project.pbxproj: Dito. 74435 * rendering/SVGCharacterLayoutInfo.cpp: Respect orientationShiftX/Y & angle in characterTransform() 74436 (WebCore::SVGChar::characterTransform): 74437 * rendering/SVGCharacterLayoutInfo.h: New variables. 74438 (WebCore::SVGCharOnPath::SVGCharOnPath): 74439 (WebCore::SVGChar::SVGChar): 74440 * rendering/SVGRootInlineBox.cpp: Added glyph-orientation-* handling. 74441 (WebCore::glyphOrientationToAngle): 74442 (WebCore::glyphOrientationIsMultiplyOf180Degrees): 74443 (WebCore::calculateGlyphAdvanceAndShiftRespectingOrientation): 74444 (WebCore::cummulatedHeightOfInlineBoxCharacterRange): 74445 (WebCore::cummulatedWidthOrHeightOfTextChunk): 74446 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 74447 74448 2007-11-10 Timothy Hatcher <timothy (a] apple.com> 74449 74450 Reviewed by Sam Weinig. 74451 74452 * page/inspector/StylesSidebarPane.js: Fix the wording of a comment 74453 and switch over to use getUniqueProperties in another place. 74454 74455 2007-11-10 John Sullivan <sullivan (a] apple.com> 74456 74457 Reviewed by Sam Weinig 74458 74459 Rest of fix for 5394877 74460 74461 * bindings/js/kjs_window.cpp: 74462 (KJS::Window::isSafeScript): 74463 Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in 74464 private browsing mode either. 74465 74466 2007-11-10 Nikolas Zimmermann <zimmermann (a] kde.org> 74467 74468 Reviewed by Oliver. 74469 74470 Fix function name difference - header said 'unicodeRangeForCharacter', actually 74471 implemented function is 'findCharUnicodeRange'. They are not compiled yet. 74472 74473 * platform/UnicodeRange.h: 74474 74475 2007-11-10 Dan Bernstein <mitz (a] apple.com> 74476 74477 Reviewed by Darin Adler. 74478 74479 - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link 74480 74481 No test because context menu events cannot be tested in DumpRenderTree. 74482 74483 * page/EventHandler.cpp: 74484 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added. 74485 If the click occurred in an active link, selects the entire link 74486 element. Otherwise selects the closest word. 74487 (WebCore::EventHandler::sendContextMenuEvent): Call 74488 selectClosestWordOrLinkFromMouseEvent(). 74489 * page/EventHandler.h: 74490 74491 2007-11-10 John Sullivan <sullivan (a] apple.com> 74492 74493 Reviewed by Tim Hatcher 74494 74495 - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when 74496 in private browsing mode (only an issue if Log JavaScript Exceptions is turned on) 74497 74498 * bindings/js/kjs_window.cpp: 74499 (KJS::Window::isSafeScript): 74500 Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode 74501 74502 2007-11-10 Alexey Proskuryakov <ap (a] webkit.org> 74503 74504 Reviewed by Darin. 74505 74506 http://bugs.webkit.org/show_bug.cgi?id=15922 74507 Implement more of Mozilla Selection API 74508 74509 Tests: editing/selection/containsNode.html 74510 editing/selection/deleteFromDocument.html 74511 editing/selection/extend.html 74512 editing/selection/selectAllChildren.html 74513 74514 * editing/SelectionController.cpp: 74515 (WebCore::SelectionController::deleteFromDocument): 74516 (WebCore::SelectionController::containsNode): 74517 (WebCore::SelectionController::selectAllChildren): 74518 (WebCore::SelectionController::extend): 74519 * editing/SelectionController.h: 74520 Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(), 74521 which existed, but didn't match Firefox behavior and wasn't exposed via bindings. 74522 Removed a comment mentioning removeRange(), as this method makes no sense without multiple 74523 selection range support. 74524 74525 * page/DOMSelection.cpp: 74526 (WebCore::DOMSelection::extend): 74527 (WebCore::DOMSelection::deleteFromDocument): 74528 (WebCore::DOMSelection::containsNode): 74529 (WebCore::DOMSelection::selectAllChildren): 74530 * page/DOMSelection.h: 74531 * page/DOMSelection.idl: 74532 Exposed the new methods. 74533 74534 2007-11-10 Alexey Proskuryakov <ap (a] webkit.org> 74535 74536 Reviewed by Darin. 74537 74538 http://bugs.webkit.org/show_bug.cgi?id=15892 74539 DOM Range operations are not implemented for ProcessingInstruction nodes 74540 74541 Test: fast/dom/Range/range-processing-instructions.html 74542 74543 * dom/Range.cpp: 74544 (WebCore::Range::processContents): Implemented ProcessingInstruction cases. 74545 (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed 74546 to use ProcessingInstruction.data. 74547 74548 2007-11-09 Timothy Hatcher <timothy (a] apple.com> 74549 74550 Reviewed by Mark Rowe. 74551 74552 Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector 74553 http://bugs.webkit.org/show_bug.cgi?id=12054 74554 74555 - Add support code for routing copy events to the focused element. 74556 - Implement copying the currently selected DOM node. The node 74557 and it's subtree is copied to the clipboard. If the node has no 74558 outerHTML, the nodeValue is copied (text nodes, etc.) 74559 - Implement copy for the resource sidebar. The URL is copied for the 74560 currently selected resource. 74561 74562 * page/inspector/DocumentPanel.js: 74563 * page/inspector/inspector.js: 74564 74565 2007-11-09 Antti Koivisto <antti (a] apple.com> 74566 74567 Reviewed by Adele. 74568 74569 Fix occasional blank video with poster attribute. 74570 74571 * html/HTMLMediaElement.cpp: 74572 (WebCore::HTMLMediaElement::load): 74573 (WebCore::HTMLMediaElement::didRestoreFromCache): 74574 Just calling updateFromElement() does the right thing for both poster image and video. 74575 74576 2007-11-04 Sam Weinig <sam (a] webkit.org> 74577 74578 Reviewed by Adam Roben. 74579 74580 <rdar://problem/5435940> 74581 The COM bindings for the DOM should be autogenerated like the other DOM bindings 74582 74583 Initial commit of the autogeneration of the COM DOM Bindings. No behavior change 74584 is being introduced in this patch and to insure that no conflicts arise, a temporary 74585 prefix of "GEN_" has been used for all the new classes. 74586 74587 The build architecture for these bindings differs slightly from the other autogenerated 74588 bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as 74589 is done for the Objective-C bindigs currently), the IDLs and generation scripts are 74590 migrated to WebKit and built there. This is done with a series of scripts and Makefiles. 74591 74592 This commit includes: 74593 - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation 74594 and ref-counting. 74595 - Generating all of the Core DOM and most of HTML and CSS 74596 - Generating Event, EventTarget, and EventListener 74597 74598 * WebCore.vcproj/MigrateIDLAndScripts.make: Added. 74599 * WebCore.vcproj/WebCore.vcproj: 74600 * WebCore.vcproj/migrate-idls.sh: Added. 74601 * bindings/scripts/CodeGenerator.pm: 74602 * bindings/scripts/CodeGeneratorCOM.pm: Added. 74603 * dom/EventListener.h: Make the isWindowEvent parameter default to false 74604 to allow autogeneration based on the IDL. 74605 74606 2007-11-09 Tristan O'Tierney <tristan (a] apple.com> 74607 74608 Reviewed by Timothy Hatcher. 74609 74610 This patch is for the WebKit side of <rdar://problem/5591115>. 74611 We need a way to tell context menu navigations, such as "Open in New Window" 74612 to override any sort of browser preference for tab based navigation. 74613 74614 * bridge/WindowFeatures.h: 74615 (WebCore::WindowFeatures::WindowFeatures): 74616 Added a new struct member var, preferredType 74617 and an accompanying enum type PreferredType 74618 to send a window type recommendation up to the Chrome. 74619 74620 * page/ContextMenuController.cpp: 74621 (WebCore::openNewWindow): 74622 Set the window features to recommend a new Window for 74623 "Open in New Window" context menu action. 74624 74625 2007-11-08 Adam Roben <aroben (a] apple.com> 74626 74627 Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick 74628 74629 We now match the behavior of Firefox and IE, which is to always just 74630 send a click event to the focused button when the Enter key is pressed 74631 (previously we were submitting forms directly in some cases). 74632 74633 Reviewed by Adele. 74634 74635 Test: fast/forms/enter-clicks-buttons.html 74636 74637 * html/HTMLButtonElement.cpp: 74638 (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything 74639 fancy when Enter is pressed on a <button type=button> -- just send a 74640 click event like we do for other button types. 74641 * html/HTMLInputElement.cpp: 74642 (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button 74643 the same way we treat type=submit and type=reset: just send a click 74644 event when Enter is pressed. 74645 74646 2007-11-09 Dan Bernstein <mitz (a] apple.com> 74647 74648 Reviewed by Antti Koivisto. 74649 74650 - fix a bug in invisible layer culling: dynamically changing a 74651 descendant of an invisible layer to be visible did not work 74652 74653 Test: fast/layers/layer-content-visibility-change.html 74654 74655 * rendering/RenderLayer.cpp: 74656 (WebCore::RenderLayer::setHasVisibleContent): If we got visible content, 74657 make sure that our stacking context rebuilds its z-order lists to 74658 include us. 74659 74660 2007-11-09 David Hyatt <hyatt (a] apple.com> 74661 74662 Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two 74663 args can be lengths or numbers or percents. 74664 74665 Reviewed by Beth 74666 74667 * WebCore.xcodeproj/project.pbxproj: 74668 * css/CSSParser.cpp: 74669 (WebCore::TransformOperationInfo::TransformOperationInfo): 74670 (WebCore::CSSParser::parseTransform): 74671 * rendering/RenderStyle.h: 74672 (WebCore::MatrixTransformOperation::apply): 74673 74674 2007-11-09 Beth Dakin <bdakin (a] apple.com> 74675 74676 Reviewed by Oliver. 74677 74678 Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix 74679 math leads to crazy problems 74680 74681 Transform matrices accept the first four parameters as CSS lengths. 74682 CSS lengths get mapped into WebCore::Lengths as percents by 74683 WebCore::convertToLength(). Percent lengths cannot call value(). It 74684 does not yield a correct result and it asserts on Debug builds. 74685 74686 * rendering/RenderStyle.h: 74687 (WebCore::MatrixTransformOperation::apply): Instead of calling 74688 value() on the lengths, call calcValue. This fixes the assert and 74689 the bad rendering. 74690 74691 2007-11-09 Simon Hausmann <hausmann (a] kde.org> 74692 74693 build/link fix for Qt/Windows. 74694 74695 userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't 74696 define it twice. 74697 74698 * platform/qt/TemporaryLinkStubs.cpp: 74699 74700 2007-11-09 Simon Hausmann <hausmann (a] kde.org> 74701 74702 Reviewed by Holger. 74703 74704 Fix ContextMenu allocation in the Qt port. 74705 74706 Store all items and submenus value based in ContextMenu and ContextMenuItem. 74707 That fixes the crashes when the context menu was populated with sub-menus because 74708 of the use of temporary ContextMenu objects like this: 74709 74710 ContextMenu subMenu(...); 74711 subMenu.appendItem(...); 74712 subMenu.appendItem(...); 74713 74714 subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents 74715 74716 * platform/ContextMenu.h: 74717 * platform/ContextMenuItem.h: 74718 * platform/PlatformMenuDescription.h: 74719 * platform/qt/ContextMenuItemQt.cpp: 74720 (WebCore::ContextMenuItem::ContextMenuItem): 74721 (WebCore::ContextMenuItem::platformSubMenu): 74722 * platform/qt/ContextMenuQt.cpp: 74723 (WebCore::ContextMenu::ContextMenu): 74724 (WebCore::ContextMenu::~ContextMenu): 74725 (WebCore::ContextMenu::appendItem): 74726 (WebCore::ContextMenu::itemCount): 74727 74728 2007-11-09 Peter Kasting <pkasting (a] google.com> 74729 74730 Reviewed by Mark Rowe. 74731 74732 http://bugs.webkit.org/show_bug.cgi?id=15909 74733 Malformed GIFs should not result in memory corruption. 74734 74735 * platform/image-decoders/gif/GIFImageDecoder.cpp: 74736 (WebCore::GIFImageDecoder::haveDecodedRow): 74737 74738 2007-11-08 Timothy Hatcher <timothy (a] apple.com> 74739 74740 Reviewed by Sam Weinig. 74741 74742 Some Web Inspector CSS editing changes. 74743 - Only delete the property if all the text is delete or the new user input correctly parses. 74744 This prevents deleting the existing property if the new text is invalid. 74745 - Intercept the Escape key and cancel editing, not saving any changes. 74746 74747 * page/inspector/StylesSidebarPane.js: 74748 74749 2007-11-08 Kevin Ollivier <kevino (a] theolliviers.com> 74750 74751 Bakefiles for building WebCore, needed by wx port. 74752 74753 Reviewed by Mark Rowe. 74754 74755 * WebCoreSources.bkl: Added. 74756 * webcore-base.bkl: Added. 74757 * webcore-wx.bkl: Added. 74758 74759 2007-11-08 Justin Haygood <jhaygood (a] reaktix.com> 74760 74761 Reviewed by Mark Rowe. 74762 74763 http://bugs.webkit.org/show_bug.cgi?id=15905 74764 74765 Fix builds with HTML 5 Storage support disabled. 74766 ENABLE(DATABASE) needs to be added in a few places. 74767 74768 * page/InspectorController.cpp: 74769 * storage/Database.h: 74770 74771 2007-11-08 Steve Falkenburg <sfalken (a] apple.com> 74772 74773 <rdar://problem/5524082> Allow images to be dragged out directly into other apps 74774 74775 We weren't including CF_HDROP in our image drops. This broke drag of 74776 images out of the browser window directly into other apps (examples 74777 include notepad, mspaint, msword). 74778 74779 Reviewed by Oliver, Ada. 74780 74781 * platform/win/ClipboardWin.cpp: 74782 (WebCore::createGlobalImageFileContent): Removed unused variable. 74783 (WebCore::createGlobalHDropContent): Added 74784 (WebCore::writeFileToDataObject): Write HDROP data if available. 74785 (WebCore::writeImageToDataObject): Write HDROP for dragged images. 74786 (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs. 74787 74788 2007-11-08 Xan Lopez <xan (a] gnome.org> 74789 74790 Reviewed by Alp. 74791 74792 http://bugs.webkit.org/show_bug.cgi?id=15908 74793 Use g_object_ref_sink when available 74794 74795 * platform/gtk/PopupMenuGtk.cpp: 74796 (WebCore::PopupMenu::show): 74797 * platform/gtk/ScrollViewGtk.cpp: 74798 (WebCore::ScrollView::setGtkAdjustments): 74799 74800 2007-11-08 Dan Bernstein <mitz (a] apple.com> 74801 74802 Reviewed by Beth Dakin. 74803 74804 - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely 74805 74806 Test: fast/dom/length-attribute-mapping.html 74807 74808 * dom/StyledElement.cpp: 74809 (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping 74810 logic to stop after the first "%" or "*" in the string. This allows for 74811 "100%25" to be mapped to "100%" like it is in Firefox and WinIE. 74812 74813 2007-11-08 Kevin McCullough <kmccullough (a] apple.com> 74814 74815 - Build fix. 74816 74817 * loader/FrameLoaderClient.h: 74818 * platform/graphics/svg/SVGImageEmptyClients.h: 74819 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared): 74820 74821 2007-11-08 Kevin McCullough <kmccullough (a] apple.com> 74822 74823 Reviewed by Sam. 74824 74825 - windowObjectCleared() is no longer const. It needs to setup the 74826 script debugger and cannot be const to do so. 74827 74828 * loader/FrameLoaderClient.h: 74829 * platform/graphics/svg/SVGImageEmptyClients.h: 74830 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared): 74831 74832 2007-11-08 Adam Roben <aroben (a] apple.com> 74833 74834 Hopeful Windows build fix 74835 74836 * rendering/RenderObject.cpp: Touch this file to make it recompile. 74837 74838 2007-11-08 Sam Weinig <sam (a] webkit.org> 74839 74840 Reviewed by Darin. 74841 74842 Convert JavaScript internal function objects to use one class per 74843 function. This avoids a switch statement inside what used to be 74844 the shared function classes and will allow Shark to better analyze 74845 the code. 74846 74847 To make this switch, the value property of the HashEntry was changed 74848 to a union of an intptr_t (which is used to continue handle valueGetters) 74849 and function pointer which points to a static constructor for the 74850 individual new function objects. 74851 74852 SunSpider claims this is a 1.0% speedup. 74853 74854 - On the WebCore side, I updated CodeGeneratorJS.pm to generate the 74855 new classes and hand updated the remain non-generated (groan) classes. 74856 74857 * bindings/js/JSDOMWindowCustom.cpp: 74858 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 74859 * bindings/js/JSEventTargetNode.cpp: 74860 (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction): 74861 (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction): 74862 (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction): 74863 * bindings/js/JSEventTargetNode.h: 74864 * bindings/js/JSHTMLInputElementBase.cpp: 74865 (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction): 74866 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): 74867 * bindings/js/JSHTMLInputElementBase.h: 74868 (WebCore::JSHTMLInputElementBase::): 74869 * bindings/js/JSXMLHttpRequest.cpp: 74870 (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction): 74871 (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction): 74872 (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction): 74873 (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction): 74874 (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction): 74875 (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction): 74876 (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction): 74877 (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction): 74878 (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction): 74879 (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction): 74880 * bindings/js/JSXMLHttpRequest.h: 74881 (KJS::JSXMLHttpRequest::impl): 74882 * bindings/js/JSXSLTProcessor.cpp: 74883 (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction): 74884 (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction): 74885 (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction): 74886 (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction): 74887 (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction): 74888 (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction): 74889 (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction): 74890 (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction): 74891 * bindings/js/JSXSLTProcessor.h: 74892 * bindings/js/kjs_events.cpp: 74893 (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction): 74894 (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction): 74895 (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction): 74896 (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction): 74897 * bindings/js/kjs_events.h: 74898 * bindings/js/kjs_navigator.cpp: 74899 (KJS::Plugins::): 74900 (KJS::Navigator::getOwnPropertySlot): 74901 (KJS::Plugins::getOwnPropertySlot): 74902 (KJS::PluginsFunctionRefresh::callAsFunction): 74903 (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction): 74904 * bindings/js/kjs_navigator.h: 74905 (KJS::Navigator::): 74906 * bindings/js/kjs_window.cpp: 74907 (KJS::Window::getOwnPropertySlot): 74908 (KJS::Window::put): 74909 (KJS::WindowProtoFuncAToB::callAsFunction): 74910 (KJS::WindowProtoFuncBToA::callAsFunction): 74911 (KJS::WindowProtoFuncOpen::callAsFunction): 74912 (KJS::WindowProtoFuncScrollBy::callAsFunction): 74913 (KJS::WindowProtoFuncScrollTo::callAsFunction): 74914 (KJS::WindowProtoFuncMoveBy::callAsFunction): 74915 (KJS::WindowProtoFuncMoveTo::callAsFunction): 74916 (KJS::WindowProtoFuncResizeBy::callAsFunction): 74917 (KJS::WindowProtoFuncResizeTo::callAsFunction): 74918 (KJS::WindowProtoFuncSetTimeout::callAsFunction): 74919 (KJS::WindowProtoFuncClearTimeout::callAsFunction): 74920 (KJS::WindowProtoFuncSetInterval::callAsFunction): 74921 (KJS::WindowProtoFuncAddEventListener::callAsFunction): 74922 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction): 74923 (KJS::WindowProtoFuncShowModalDialog::callAsFunction): 74924 (KJS::WindowProtoFuncNotImplemented::callAsFunction): 74925 (KJS::Location::getOwnPropertySlot): 74926 (KJS::Location::put): 74927 (KJS::LocationProtoFuncReplace::callAsFunction): 74928 (KJS::LocationProtoFuncReload::callAsFunction): 74929 (KJS::LocationProtoFuncAssign::callAsFunction): 74930 (KJS::LocationProtoFuncToString::callAsFunction): 74931 * bindings/js/kjs_window.h: 74932 (KJS::Window::): 74933 * bindings/scripts/CodeGeneratorJS.pm: 74934 74935 2007-11-08 Mark Rowe <mrowe (a] apple.com> 74936 74937 Fix the Gtk, Qt and Wx builds. 74938 74939 * platform/gtk/TemporaryLinkStubs.cpp: 74940 * platform/qt/TemporaryLinkStubs.cpp: 74941 * platform/wx/TemporaryLinkStubs.cpp: 74942 74943 2007-11-08 Mark Rowe <mrowe (a] apple.com> 74944 74945 Not reviewed. Fix two instances of includes using the wrong case in the filename. 74946 74947 * platform/graphics/mac/MoviePrivateQTKit.mm: 74948 * platform/wx/MimeTypeRegistryWx.cpp: 74949 74950 2007-11-08 Darin Adler <darin (a] apple.com> 74951 74952 Reviewed by Adam. 74953 74954 - fix <rdar://problem/5552943> accesskey does not focus <button> elements 74955 74956 Test: fast/forms/access-key.html 74957 74958 * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction): 74959 Added a call to focus. 74960 74961 2007-11-07 Darin Adler <darin (a] apple.com> 74962 74963 Reviewed by Steve. 74964 74965 - cut down on notImplemented() functions on Windows 74966 74967 * bridge/AXObjectCache.h: Put #if around the accessibility 74968 global. 74969 74970 * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles): 74971 Moved here from TemporaryLinkStubs. 74972 74973 * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented 74974 using the ResourceResponse that's now available from the DocumentLoader. 74975 74976 * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on 74977 the Editor instead of the obsolete one on the Frame. 74978 74979 * loader/DocumentLoader.h: Removed getResponseModifiedHeader. 74980 * loader/FrameLoader.h: Removed overrideMediaType. 74981 74982 * loader/gtk/DocumentLoaderGtk.cpp: Removed. 74983 * loader/mac/DocumentLoaderMac.mm: Removed. 74984 * loader/qt/DocumentLoaderQt.cpp: Removed. 74985 74986 * page/Frame.cpp: Removed transpose. 74987 * page/Frame.h: Ditto. 74988 * page/FrameView.h: Removed updateBorder. 74989 * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand. 74990 * page/mac/FrameMac.mm: Ditto. 74991 * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and 74992 overrideMediaType. 74993 * page/qt/FrameQt.cpp: Removed issueTransposeCommand. 74994 74995 * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled. 74996 * platform/qt/TemporaryLinkStubs.cpp: Ditto. 74997 * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs. 74998 * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled, 74999 issueTransposeCommand, and overrideMediaType. 75000 75001 * platform/network/cf/ResourceHandleCFNet.cpp: 75002 (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs. 75003 (WebCore::ResourceHandle::willLoadFromCache): Ditto. 75004 * platform/win/GraphicsContextWin.cpp: 75005 (WebCore::GraphicsContextPlatformPrivate::clip): Ditto. 75006 * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto. 75007 * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto. 75008 * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto. 75009 75010 * WebCore.pro: Updated for removed files. 75011 * WebCore.xcodeproj/project.pbxproj: Updated for removed file. 75012 75013 2007-11-08 Mark Rowe <mrowe (a] apple.com> 75014 75015 Build fix for case-sensitive file systems. Fix case of file names 75016 in #include's. 75017 75018 * html/HTMLMediaElement.cpp: 75019 * platform/graphics/Movie.cpp: 75020 75021 2007-11-08 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 75022 75023 Reviewed by Lars Knoll <lars (a] trolltech.com>. 75024 75025 Remove some warnings about not implemented methods. 75026 75027 * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are 75028 specific to the NS API and won't be implemented on Qt. 75029 * ResourceHandle::bufferedData can not be reached as we return false in 75030 ResourceHandle::supportsBufferedData. 75031 75032 75033 * platform/network/qt/ResourceHandleQt.cpp: 75034 (WebCore::ResourceHandle::supportsBufferedData): 75035 75036 2007-11-08 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 75037 75038 Reviewed by Lars Knoll <lars (a] trolltech.com>. 75039 75040 Cleanup checking for the request method. 75041 75042 * Check the request method only in QWebNetworkManager::add. 75043 * Currently HEAD, GET, POST are allowed and for everything else 75044 QWebNetworkManager::add returns false. 75045 * Returning false is compatible with ResourceHandle::start and it 75046 can be used in ResourceHandle::loadResourceSynchronously to generate 75047 a ResourceError 75048 75049 75050 * platform/network/qt/ResourceHandleQt.cpp: 75051 (WebCore::ResourceHandle::start): 75052 (WebCore::ResourceHandle::loadResourceSynchronously): 75053 75054 2007-11-08 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 75055 75056 Reviewed by Lars Knoll <lars (a] trolltech.com>. 75057 75058 Implement WebCore::callOnMainThread 75059 75060 Implemented using a global QObject, that is moved to the main thread 75061 and then sending a custom event to it. 75062 Picked a number below QEvent::User but above any other documented value. 75063 75064 75065 * platform/qt/ThreadingQt.cpp: 75066 (WebCore::PerformFunctionEvent::PerformFunctionEvent): 75067 (WebCore::MainThreadInvoker::MainThreadInvoker): 75068 (WebCore::MainThreadInvoker::event): 75069 (WebCore::callOnMainThread): 75070 75071 2007-11-08 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 75072 75073 Reviewed by Lars Knoll <lars (a] trolltech.com>. 75074 75075 Avoid problems with calling QPainter::begin() on an already active paintdevice 75076 75077 * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting 75078 crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw. 75079 * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar 75080 used by the ScrollView on a layout triggered by QWebPage::paintEvent. 75081 75082 75083 * platform/qt/WidgetQt.cpp: 75084 (WebCore::Widget::invalidateRect): 75085 75086 2007-11-08 Eric Seidel <eric (a] webkit.org> 75087 75088 No review. 75089 75090 * ksvg2/svg/SVGPathElement.h: remove old comment 75091 75092 2007-11-07 Antti Koivisto <antti (a] apple.com> 75093 75094 Reviewed by Ollie. 75095 75096 Ensure video renderer has correct size if video has already been loaded 75097 when it is constructed. 75098 75099 * rendering/RenderVideo.cpp: 75100 (WebCore::RenderVideo::RenderVideo): 75101 75102 2007-11-07 Antti Koivisto <antti (a] apple.com> 75103 75104 Reviewed by Ollie. 75105 75106 Ensure video is visible when it should be. 75107 75108 * rendering/RenderVideo.cpp: 75109 (WebCore::RenderVideo::updateMovie): 75110 75111 2007-11-07 Dan Bernstein <mitz (a] apple.com> 75112 75113 Reviewed by Darin Adler. 75114 75115 - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips' 75116 75117 Layers and listboxes are two kinds of ScrollBarClient that can be 75118 removed while the scrollbar is tracking the mouse. The scrollbar is not 75119 destroyed until later, and meanwhile it can try to call the client, 75120 which results in a crash. 75121 75122 * manual-tests/stale-scrollbar-client-crash.html: Added. 75123 * platform/ScrollBar.h: 75124 (WebCore::Scrollbar::setClient): Added. 75125 * rendering/RenderLayer.cpp: 75126 (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient(). 75127 * rendering/RenderListBox.cpp: 75128 (WebCore::RenderListBox::~RenderListBox): Ditto. 75129 75130 2007-11-07 Adam Roben <aroben (a] apple.com> 75131 75132 Fix <rdar://5569268> Crash when opening any FTP site in second tab/window 75133 75134 Reviewed by Sam. 75135 75136 No test possible. 75137 75138 * platform/win/SharedBufferWin.cpp: 75139 (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an 75140 empty path, because _wfopen_s will crash if we pass it a null pointer. 75141 75142 2007-11-07 David Kilzer <ddkilzer (a] apple.com> 75143 75144 WebKit confuses width/height for Media Queries device-aspect-ratio evaluation 75145 <http://bugs.webkit.org/show_bug.cgi?id=14893> 75146 <rdar://problem/5380295> 75147 75148 Reviewed by Darin. 75149 75150 Tests: fast/css/device-aspect-ratio.html 75151 fast/css/max-device-aspect-ratio.html 75152 fast/css/min-device-aspect-ratio.html 75153 75154 * css/MediaQueryEvaluator.cpp: 75155 (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v. 75156 (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from 75157 a/b to h/v. Switched first two arguments of the call to cmpvalue() to fix 75158 the bug. 75159 75160 2007-11-07 Dan Bernstein <mitz (a] apple.com> 75161 75162 Reviewed by Dave Hyatt. 75163 75164 - fix http://bugs.webkit.org/show_bug.cgi?id=15887 75165 REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg 75166 75167 Test: fast/css/display-none-inline-style-change-crash.html 75168 75169 * dom/Element.cpp: 75170 (WebCore::Element::recalcStyle): Fixed the crash by null-checking 75171 the current style and removed other checks that are not strictly 75172 necessary. 75173 75174 2007-11-07 Brady Eidson <beidson (a] apple.com> 75175 75176 Rubberstamped by Sam 75177 75178 Remove FrameLoaderClient methods from SVG that were pruned awhile ago 75179 75180 * platform/graphics/svg/SVGImageEmptyClients.h: 75181 75182 2007-11-07 Dan Bernstein <mitz (a] apple.com> 75183 75184 Reviewed by Darin Adler. 75185 75186 - fix a bug where CSS rules with :hover in the ancestor chain stopped 75187 working after changing the inline style declaration of the ancestor 75188 75189 Test: fast/css/affected-by-hover-after-style-change.html 75190 75191 * dom/Element.cpp: 75192 (WebCore::Element::recalcStyle): If we are not forcing style 75193 recalculation for all descendants, preserve any "affected by 75194 {hover|active|drag} bits that we may have acquired from them. 75195 Also renamed _style to currentStyle. 75196 75197 2007-11-06 Timothy Hatcher <timothy (a] apple.com> 75198 75199 Reviewed by Adam. 75200 75201 Bug 11920: Web Inspector should have Firebug-like CSS editing 75202 http://bugs.webkit.org/show_bug.cgi?id=11920 75203 75204 * css/CSSComputedStyleDeclaration.h: 75205 (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why 75206 this was true, but computed style has no concept of implicit. So false makes more sense 75207 and makes the code simpler in the inspector. This function was added for the inspector, 75208 so this isn't a compatibility change. 75209 * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status. 75210 * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for 75211 style editing. 75212 * page/inspector/inspector.css: Style changes for propery editing and focus correctness. 75213 * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before 75214 trying to call a function based on the element's id. Call focused and blurred on the focused 75215 element when currentFocusElement is changed. Use the new listItemElement getter instead of 75216 the private property. 75217 * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented. 75218 Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call 75219 to allow generation of the title using the DOM element. Add listItemElement and 75220 childrenListElement getters. 75221 * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration. 75222 * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private 75223 property. Also expand the DOM node on double click now that the TreeOutline dosen't do it. 75224 * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters 75225 instead of the private properties. 75226 75227 2007-11-07 Simon Hausmann <hausmann (a] kde.org> 75228 75229 Reviewed by Alexey Proskuryakov. 75230 75231 Coding style fix, don't use inline explicitly. 75232 75233 * bridge/WindowFeatures.h: 75234 75235 2007-11-07 Simon Hausmann <hausmann (a] kde.org> 75236 75237 Reviewed by Maciej. 75238 75239 For safety provide a default constructor for WindowFeatures(). 75240 ContextMenuController.cpp: createNewWindow as well as QWebPage need to 75241 create a default initialized WindowFeatures object on the fly. 75242 75243 * bridge/WindowFeatures.h: 75244 (WebCore::WindowFeatures::WindowFeatures): 75245 75246 2007-11-07 Simon Hausmann <shausman (a] trolltech.com> 75247 75248 Reviewed by Lars. 75249 75250 Fix "nmake clean" for the Qt/Windows build by replacing tmp/ with a variable that ends with the correct type of slash/backslash depending on the choice of compiler/make tool. 75251 75252 * WebCore.pro: 75253 75254 2007-11-07 Simon Hausmann <hausmann (a] kde.org> 75255 75256 Reviewed by Lars. 75257 75258 Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway. 75259 75260 * platform/graphics/qt/ImageQt.cpp: 75261 (loadResourcePixmap): 75262 75263 2007-11-07 Simon Hausmann <hausmann (a] kde.org> 75264 75265 Reviewed by Lars. 75266 75267 Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static. 75268 75269 * platform/graphics/qt/ImageQt.cpp: 75270 (loadResourcePixmap): 75271 75272 2007-11-07 Simon Hausmann <hausmann (a] kde.org> 75273 75274 Reviewed by Lars. 75275 75276 Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store 75277 QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created 75278 in ContextMenu::populate(). 75279 For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu 75280 out of it. That menu is currently not functional anymore though. 75281 75282 * platform/ContextMenu.h: 75283 * platform/ContextMenuItem.h: 75284 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription): 75285 * platform/PlatformMenuDescription.h: 75286 * platform/qt/ContextMenuItemQt.cpp: 75287 (WebCore::ContextMenuItem::ContextMenuItem): 75288 (WebCore::ContextMenuItem::type): 75289 (WebCore::ContextMenuItem::setType): 75290 (WebCore::ContextMenuItem::action): 75291 (WebCore::ContextMenuItem::setAction): 75292 (WebCore::ContextMenuItem::title): 75293 (WebCore::ContextMenuItem::setTitle): 75294 (WebCore::ContextMenuItem::platformSubMenu): 75295 (WebCore::ContextMenuItem::setSubMenu): 75296 (WebCore::ContextMenuItem::setChecked): 75297 (WebCore::ContextMenuItem::setEnabled): 75298 * platform/qt/ContextMenuQt.cpp: 75299 (WebCore::ContextMenu::ContextMenu): 75300 (WebCore::ContextMenu::~ContextMenu): 75301 (WebCore::ContextMenu::appendItem): 75302 (WebCore::ContextMenu::itemCount): 75303 (WebCore::ContextMenu::insertItem): 75304 (WebCore::ContextMenu::setPlatformDescription): 75305 (WebCore::ContextMenu::platformDescription): 75306 75307 2007-11-07 Simon Hausmann <hausmann (a] kde.org> 75308 75309 Reviewed by Lars. 75310 75311 Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away 75312 but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu). 75313 Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec() 75314 on it. 75315 75316 * platform/qt/ContextMenuQt.cpp: 75317 75318 2007-11-07 Simon Hausmann <hausmann (a] kde.org> 75319 75320 Reviewed by Lars. 75321 75322 Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent. 75323 Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent. 75324 75325 * platform/PlatformMouseEvent.h: 75326 * platform/qt/PlatformMouseEventQt.cpp: 75327 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 75328 75329 2007-11-07 Lars Knoll <lars (a] trolltech.com> 75330 75331 Reviewed by Simon. 75332 75333 don't put nbsp's into the plan text paste 75334 75335 Fix both ClipboardQt and PasteboardQt to replace 75336 nbsp's with spaces before putting the text onto the 75337 native clipboard. This is consistent with Mac and Win 75338 and fixes at least editing/pasteboard/4076267-3.html 75339 75340 * platform/qt/ClipboardQt.cpp: 75341 (WebCore::ClipboardQt::writeRange): 75342 * platform/qt/PasteboardQt.cpp: 75343 (WebCore::Pasteboard::writeSelection): 75344 75345 2007-11-07 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 75346 75347 Reviewed by Lars Knoll <lars (a] trolltech.com>. 75348 75349 Implement Pasteboard::writeImage() 75350 75351 * Pasteboard is now fully implemented. Copying of Images into the Clipboard 75352 is now supported. 75353 * As with URLs we only copy into the Clipboard (and not additionally to the 75354 Selection) 75355 75356 * platform/qt/PasteboardQt.cpp: 75357 (WebCore::Pasteboard::writeImage): 75358 75359 2007-11-07 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 75360 75361 Reviewed by Lars Knoll <lars (a] trolltech.com>. 75362 75363 Apple CodingStyle fixes 75364 75365 * platform/qt/PasteboardQt.cpp: 75366 (WebCore::Pasteboard::documentFragment): 75367 75368 2007-11-07 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 75369 75370 Reviewed by Lars Knoll <lars (a] trolltech.com>. 75371 75372 Implement Pasteboard::writeURL() 75373 * The URL currently gets written as text/plain and text/uri-list. 75374 The win and mac port have some more types which we currently do 75375 not support. When supporting them we can use the 'titleString' 75376 as well. 75377 * As with writeSelection we only copy into the Clipboard. We could 75378 consider copying into the Selection as well. 75379 75380 * platform/qt/PasteboardQt.cpp: 75381 (WebCore::Pasteboard::writeURL): 75382 75383 2007-11-07 Holger Hans Peter Freyther <holger.freyther (a] trolltech.com> 75384 75385 Reviewed by Lars Knoll <lars (a] trolltech.com>. 75386 75387 Kill whitespace 75388 75389 * platform/qt/PasteboardQt.cpp: 75390 (WebCore::Pasteboard::documentFragment): 75391 75392 2007-11-07 Lars Knoll <lars (a] trolltech.com> 75393 75394 Reviewed by Simon. 75395 75396 Use the correct function calls to convert a selection to 75397 HTML or plain text. 75398 75399 * platform/qt/ClipboardQt.cpp: 75400 (WebCore::ClipboardQt::setData): 75401 (WebCore::ClipboardQt::writeRange): 75402 * platform/qt/PasteboardQt.cpp: 75403 (WebCore::Pasteboard::writeSelection): 75404 75405 2007-11-07 Lars Knoll <lars (a] trolltech.com> 75406 75407 Reviewed by Simon. 75408 75409 Some more clipboard fixes. 75410 75411 We have to set things immediately on the QClipBoard if the 75412 Clipboard object is not for dragging. 75413 75414 This is due to the fact that the Clipboard object might be 75415 rather long lived if accessed through javascript (it'll only 75416 get deleted by JS garbage collection). We have to transfer 75417 the data over to the QClipboard before that to make things work. 75418 75419 Fixes editing/execCommand/copy-without-selection.html 75420 75421 * platform/qt/ClipboardQt.cpp: 75422 (WebCore::ClipboardQt::ClipboardQt): 75423 (WebCore::ClipboardQt::~ClipboardQt): 75424 (WebCore::ClipboardQt::clearData): 75425 (WebCore::ClipboardQt::clearAllData): 75426 (WebCore::ClipboardQt::getData): 75427 (WebCore::ClipboardQt::setData): 75428 (WebCore::ClipboardQt::declareAndWriteDragImage): 75429 (WebCore::ClipboardQt::writeURL): 75430 (WebCore::ClipboardQt::writeRange): 75431 75432 2007-11-07 Simon Hausmann <hausmann (a] kde.org> 75433 75434 Reviewed by Mark. 75435 75436 Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is 75437 not supported due to implicit forks, use IPC::Open2 instead. 75438 75439 * bindings/scripts/IDLParser.pm: 75440 75441 2007-11-07 Dan Bernstein <mitz (a] apple.com> 75442 75443 Reviewed by Brady Eidson. 75444 75445 - fix http://bugs.webkit.org/show_bug.cgi?id=15877 75446 REGRESSION: r27486 caused a layout regression at my bank's website 75447 75448 Test: fast/block/float/overhanging-after-height-decrease-offsets.html 75449 75450 * rendering/RenderBlock.cpp: 75451 (WebCore::RenderBlock::layoutBlock): 75452 75453 2007-11-06 Beth Dakin <bdakin (a] apple.com> 75454 75455 Reviewed by Sam. 75456 75457 <rdar://problem/5575812> REGRESSION:When using absolute positioning 75458 with overflow:auto div, WebKit seems to add an additional 15px 75459 75460 * rendering/RenderBox.cpp: 75461 (WebCore::RenderBox::containingBlockWidthForPositioned): We need to 75462 subtract off the vertical scrollbar width too. 75463 75464 2007-11-06 Justin Garcia <justin.garcia (a] apple.com> 75465 75466 Reviewed by Dan Bernstein. 75467 75468 <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail 75469 <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail 75470 75471 * editing/markup.cpp: 75472 (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block 75473 that encloses the input context, unless that block is the body, which shouldn't 75474 be cloned. In that case, use regular divs, as we did before r27369. 75475 75476 2007-11-06 Christian Dywan <christian (a] twotoasts.de> 75477 75478 Reviewed by Darin. 75479 75480 Fix http://bugs.webkit.org/show_bug.cgi?id=15828 75481 Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory 75482 75483 * WebCore.pro: Use sane default install paths for the gtk port. 75484 75485 2007-11-06 Justin Garcia <justin.garcia (a] apple.com> 75486 75487 Reviewed by Darin Adler. 75488 75489 <rdar://problem/5576619> 75490 REGRESSION: Caret disappears after deleting the last character in inline hole (15714) 75491 75492 * editing/TypingCommand.cpp: 75493 (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including 75494 both of the other deletion commands, call typingAddedToOpenCommand(), which takes 75495 the command's endingSelection and sets it as selection. 75496 75497 2007-11-06 Dan Bernstein <mitz (a] apple.com> 75498 75499 Reviewed by Antti Koivisto and Dave Hyatt. 75500 75501 - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height 75502 75503 Test: fast/block/float/overhanging-after-height-decrease.html 75504 75505 * rendering/RenderBlock.cpp: 75506 (WebCore::RenderBlock::layoutBlock): If after calculating the height 75507 it turns out that there are overhanging floats that were not overhanging 75508 before, rescan children with overhanging floats and add them. 75509 (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that 75510 returns the lowest float bottom of any of the children. 75511 (WebCore::RenderBlock::addOverhangingFloats): Changed to return the 75512 lowest float bottom. 75513 * rendering/RenderBlock.h: 75514 75515 2007-11-06 Adele Peterson <adele (a] apple.com> 75516 75517 Reviewed by Darin. 75518 75519 Switched all uses of HTMLImageLoader to use OwnPtrs. 75520 75521 * html/HTMLInputElement.h: 75522 * html/HTMLInputElement.cpp: 75523 (WebCore::HTMLInputElement::init): 75524 (WebCore::HTMLInputElement::~HTMLInputElement): 75525 (WebCore::HTMLInputElement::setInputType): 75526 (WebCore::HTMLInputElement::parseMappedAttribute): 75527 (WebCore::HTMLInputElement::attach): 75528 * html/HTMLObjectElement.h: 75529 * html/HTMLObjectElement.cpp: 75530 (WebCore::HTMLObjectElement::HTMLObjectElement): 75531 (WebCore::HTMLObjectElement::~HTMLObjectElement): 75532 (WebCore::HTMLObjectElement::parseMappedAttribute): 75533 (WebCore::HTMLObjectElement::attach): 75534 * html/HTMLVideoElement.h: 75535 * html/HTMLVideoElement.cpp: 75536 (WebCore::HTMLVideoElement::HTMLVideoElement): 75537 (WebCore::HTMLVideoElement::attach): 75538 (WebCore::HTMLVideoElement::detach): 75539 (WebCore::HTMLVideoElement::parseMappedAttribute): 75540 75541 2007-11-06 Antti Koivisto <antti (a] apple.com> 75542 75543 Reviewed by Darin. 75544 75545 Trigger media load on on src attribute changes as specified in new HTML5 draft. 75546 75547 Tests: media/video-src-change.html 75548 media/video-src-remove.html 75549 media/video-src-set.html 75550 75551 * html/HTMLMediaElement.cpp: 75552 (WebCore::HTMLMediaElement::attributeChanged): 75553 * html/HTMLMediaElement.h: 75554 75555 2007-11-06 Dan Bernstein <mitz (a] apple.com> 75556 75557 Reviewed by Darin Adler. 75558 75559 - fix http://bugs.webkit.org/show_bug.cgi?id=15838 75560 Incomplete repaint toggling "How you know this person" on Facebook 75561 75562 Test: fast/repaint/make-children-non-inline.html 75563 75564 * rendering/RenderBlock.cpp: 75565 (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This 75566 is needed because the inline children may be repositioned as they move 75567 into new anonymous blocks, but those blocks have no knowledge of where 75568 their children used to be, so they cannot invalidate those areas. 75569 75570 2007-11-06 Alexey Proskuryakov <ap (a] webkit.org> 75571 75572 Reviewed by Darin. 75573 75574 http://bugs.webkit.org/show_bug.cgi?id=15847 75575 Some editing cleanup 75576 75577 No change in functionality. 75578 75579 * editing/TextIterator.cpp: 75580 (WebCore::plainText): 75581 * editing/TextIterator.h: 75582 Made WebCore::plainText() return String instead of DeprecatedString. 75583 75584 * bridge/mac/WebCoreAXObject.mm: 75585 (-[WebCoreAXObject textUnderElement]): 75586 (-[WebCoreAXObject value]): 75587 (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]): 75588 (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]): 75589 (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]): 75590 Updated for the above change. There is no need to explicitly convert to NSString now. 75591 75592 * editing/EditCommand.cpp: 75593 (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually 75594 initialized in constructor body, so the work done in initializer list was wasted. 75595 75596 (WebCore::EditCommand::apply): Moved some stars. 75597 (WebCore::EditCommand::unapply): Ditto. 75598 (WebCore::EditCommand::reapply): Ditto. 75599 (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice, 75600 removed one of the checks. 75601 75602 * editing/SelectionController.cpp: 75603 (WebCore::SelectionController::toString): plainText() result type now matches what we need here. 75604 75605 * page/mac/WebCoreFrameBridge.h: 75606 * page/mac/WebCoreFrameBridge.mm: 75607 Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and 75608 -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]. 75609 75610 2007-11-05 Mark Rowe <mrowe (a] apple.com> 75611 75612 Mac build fix. 75613 75614 * bindings/js/JSHTMLDocumentCustom.cpp: 75615 (WebCore::writeHelper): 75616 75617 2007-11-05 Adam Roben <aroben (a] apple.com> 75618 75619 Don't crash if SafariTheme can't be loaded 75620 75621 PlatformScrollBarSafari and RenderThemeSafari were not checking 75622 whether SafariTheme was successfully loaded. All other uses of 75623 SafariTheme already check this. 75624 75625 Reviewed by Steve. 75626 75627 * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme 75628 couldn't be loaded. 75629 (WebCore::PlatformScrollbar::paintButton): 75630 (WebCore::PlatformScrollbar::paintTrack): 75631 (WebCore::PlatformScrollbar::paintThumb): 75632 * rendering/RenderThemeSafari.cpp: 75633 (WebCore::RenderThemeSafari::isControlStyled): Always return true if 75634 we couldn't load SafariTheme. This way we should never try to paint 75635 themed controls (and we assert as such in the paint functions). 75636 (WebCore::RenderThemeSafari::paintCheckbox): 75637 (WebCore::RenderThemeSafari::paintRadio): 75638 (WebCore::RenderThemeSafari::paintButton): 75639 (WebCore::RenderThemeSafari::paintTextField): 75640 (WebCore::RenderThemeSafari::paintCapsLockIndicator): 75641 (WebCore::RenderThemeSafari::paintTextArea): 75642 (WebCore::RenderThemeSafari::paintMenuList): 75643 (WebCore::RenderThemeSafari::paintSliderThumb): 75644 (WebCore::RenderThemeSafari::paintSearchField): 75645 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): 75646 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): 75647 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): 75648 75649 2007-11-05 Kevin Ollivier <kevino (a] theolliviers.com> 75650 75651 Adding the rest of wx port's graphics impl. 75652 75653 Rubber-stamped by Maciej Stachowiak. 75654 75655 * platform/graphics/wx/AffineTransformWx.cpp: Added. 75656 * platform/graphics/wx/GraphicsContextWx.cpp: Added. 75657 * platform/graphics/wx/ImageBufferWx.cpp: Added. 75658 * platform/graphics/wx/ImageSourceWx.cpp: Added. 75659 * platform/graphics/wx/ImageWx.cpp: Added. 75660 * platform/graphics/wx/PathWx.cpp: Added. 75661 75662 2007-11-05 Kevin Ollivier <kevino (a] theolliviers.com> 75663 75664 wx port bug fixes and new files to get platform/wx building on trunk. 75665 75666 Rubber-stamped by Maciej Stachowiak. 75667 75668 * platform/wx/CursorWx.cpp: 75669 * platform/wx/FileSystemWx.cpp: Added. 75670 * platform/wx/FontCacheWx.cpp: 75671 * platform/wx/FontPlatformDataWx.cpp: 75672 * platform/wx/FontWx.cpp: 75673 * platform/wx/KeyboardEventWx.cpp: 75674 * platform/wx/LocalizedStringsWx.cpp: Added. 75675 * platform/wx/LoggingWx.cpp: Added. 75676 * platform/wx/RenderThemeWx.cpp: 75677 * platform/wx/ScrollViewWx.cpp: 75678 * platform/wx/SharedTimerWx.cpp: 75679 * platform/wx/StringWx.cpp: 75680 * platform/wx/ThreadingWx.cpp: Added. 75681 * platform/wx/WidgetWx.cpp: 75682 75683 2007-11-05 Adele Peterson <adele (a] apple.com> 75684 75685 Reviewed by Maciej. 75686 75687 Fix for <rdar://problem/5579999> Add poster attribute for video element 75688 75689 * html/HTMLAttributeNames.in: Added poster attribute. 75690 75691 * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement): 75692 Calls imageSourceAttributeName instead of having special cases for the different kinds of elements. 75693 * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added. 75694 * dom/Element.h: 75695 * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added. 75696 * html/HTMLObjectElement.h: 75697 75698 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged): 75699 Calls updatePosterImage when the network state is empty and when the first frame has been loaded. 75700 * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline. HTMLVideoElement now also implements this. 75701 75702 * html/HTMLVideoElement.idl: Added case for poster attribute. 75703 * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown. 75704 * html/HTMLVideoElement.cpp: 75705 (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage. 75706 (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default. 75707 (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown. 75708 (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary. 75709 (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed. 75710 (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute. 75711 (WebCore::HTMLVideoElement::poster): Added getter for poster attribute. 75712 (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute. 75713 (WebCore::HTMLVideoElement::isURLAttribute): Added. 75714 (WebCore::HTMLVideoElement::imageSourceAttributeName): Added. 75715 (WebCore::HTMLVideoElement::updatePosterImage): Added. Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct. 75716 75717 2007-11-05 Adam Roben <aroben (a] apple.com> 75718 75719 Fix <rdar://5563572> SVG image support is turned off 75720 75721 Turned on SVG images for all platforms. 75722 75723 Reviewed by Eric. 75724 75725 * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h} 75726 * loader/CachedImage.cpp: 75727 (WebCore::CachedImage::createImage): Removed platform checks for 75728 SVGImage. 75729 75730 2007-11-05 Antti Koivisto <antti (a] apple.com> 75731 75732 Reviewed by Darin. 75733 75734 QTMovieView can generate callbacks during paint. This can lead to crashes. 75735 75736 Delay callbacks so they get handled after painting is completed. No test case, 75737 I don't know how to reliably reproduce this. 75738 75739 * platform/graphics/mac/MoviePrivateQTKit.mm: 75740 (WebCore::MoviePrivate::MoviePrivate): 75741 (WebCore::MoviePrivate::~MoviePrivate): 75742 (WebCore::MoviePrivate::paint): 75743 (-[WebCoreMovieObserver initWithCallback:WebCore::]): 75744 (-[WebCoreMovieObserver disconnect]): 75745 (-[WebCoreMovieObserver loadStateChanged:]): 75746 (-[WebCoreMovieObserver rateChanged:]): 75747 (-[WebCoreMovieObserver sizeChanged:]): 75748 (-[WebCoreMovieObserver timeChanged:]): 75749 (-[WebCoreMovieObserver volumeChanged:]): 75750 (-[WebCoreMovieObserver didEnd:]): 75751 (-[WebCoreMovieObserver setDelayCallbacks:]): 75752 75753 2007-11-05 Antti Koivisto <antti (a] apple.com> 75754 75755 Reviewed by Adam. 75756 75757 Add some missing WebCore* prefixes to ObjC classes 75758 75759 * platform/mac/FileChooserMac.mm: 75760 (WebCore::FileChooser::FileChooser): 75761 * platform/mac/SharedBufferMac.mm: 75762 (WebCore::SharedBuffer::createNSData): 75763 (WebCore::SharedBuffer::createCFData): 75764 * platform/mac/SharedTimerMac.cpp: 75765 (WebCore::setSharedTimerFireTime): 75766 75767 2007-11-05 Ada Chan <adachan (a] apple.com> 75768 75769 <rdar://problem/5579772> Regression: AltGr does not work 75770 We now store the system key event info in PlatforkKeyboardEvent(). 75771 75772 Reviewed by Oliver. 75773 75774 * platform/PlatformKeyboardEvent.h: 75775 (WebCore::PlatformKeyboardEvent::isSystemKey): 75776 * platform/win/KeyEventWin.cpp: 75777 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 75778 75779 2007-11-02 Tristan O'Tierney <tristan (a] apple.com> 75780 75781 Reviewed by Darin Adler. 75782 75783 * WebCore.xcodeproj/project.pbxproj: 75784 Set WindowFeatures.h as a Private header. 75785 75786 * loader/FrameLoader.cpp: 75787 (WebCore::FrameLoader::createWindow): 75788 Revised to use a single createWindow function instead of 75789 two createWindow functions and one createModalDialog function. 75790 The logic for this is now addressed in WebKit in an effort 75791 to make this easier to follow. 75792 75793 * page/Chrome.cpp: 75794 (WebCore::Chrome::createWindow): 75795 * page/Chrome.h: 75796 * page/ChromeClient.h: 75797 * page/ContextMenuController.cpp: 75798 (WebCore::openNewWindow): 75799 * platform/graphics/svg/SVGImageEmptyClients.h: 75800 (WebCore::SVGEmptyChromeClient::createWindow): 75801 Revised to take new additional windowFeatures parameter. 75802 75803 2007-11-04 Geoffrey Garen <ggaren (a] apple.com> 75804 75805 Reviewed by Darin Adler. 75806 75807 http://bugs.webkit.org/show_bug.cgi?id=15835 75808 75809 Small adaptations to new KJS::List class. 75810 75811 * bindings/js/kjs_window.cpp: 75812 (KJS::WindowFunc::callAsFunction): 75813 (KJS::ScheduledAction::ScheduledAction): 75814 75815 2007-11-05 Adam Roben <aroben (a] apple.com> 75816 75817 Allow passing a base class pointer to COMPtr::copyRefTo 75818 75819 Reviewed by Sam. 75820 75821 * platform/win/COMPtr.h: 75822 75823 2007-11-05 Dan Bernstein <mitz (a] apple.com> 75824 75825 Reviewed by Oliver Hunt. 75826 75827 - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace 75828 75829 Test: fast/dom/class-all-whitespace.html 75830 75831 * dom/StyledElement.cpp: 75832 (WebCore::StyledElement::parseMappedAttribute): Check if there is any 75833 non-whitespace character in the class attribute. 75834 75835 2007-11-05 Brady Eidson <beidson (a] apple.com> 75836 75837 Reviewed by Sam 75838 75839 Add transaction blocking to the DatabaseAuthorizer in preparation for the new version 75840 of the sql storage API 75841 75842 * storage/DatabaseAuthorizer.cpp: 75843 (WebCore::DatabaseAuthorizer::allowTransaction): 75844 * storage/DatabaseAuthorizer.h: 75845 75846 2007-11-05 Mark Rowe <mrowe (a] apple.com> 75847 75848 Reviewed by Alp Toker. 75849 75850 Have getMIMETypeForExtension return a null string when no MIME type is known 75851 for the extension rather than returning "text/plain". This prevents plugin data 75852 being dumped into object elements when plugins are disabled. 75853 75854 * platform/gtk/MIMETypeRegistryGtk.cpp: 75855 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 75856 75857 2007-11-04 Sam Weinig <sam (a] webkit.org> 75858 75859 Rubber-stamped by Adam Roben. 75860 75861 Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to 75862 clear up ambiguity. 75863 75864 * bindings/js/kjs_window.cpp: 75865 (KJS::Window::isSafeScript): 75866 * platform/SecurityOrigin.cpp: 75867 (WebCore::SecurityOrigin::canAccess): 75868 * platform/SecurityOrigin.h: 75869 75870 2007-11-04 Timothy Hatcher <timothy (a] apple.com> 75871 75872 Reviewed by Adam. 75873 75874 Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector 75875 http://bugs.webkit.org/show_bug.cgi?id=15834 75876 75877 - Broke up DocumentPanel and added three SidebarPane sub-classes. 75878 - Fixed many Style pane bugs, including: 75879 * Poor handling of duplicate properties in the same rule. Some of this can't be 75880 fixed since we can't only get the "winning" value for duplicate properties. 75881 So we should only show one entry per unique property name. 75882 * Computed style does not show font shorthand sub-properties if 'font' was used. 75883 * Property priority was broken, the wrong properties were crossed out. 75884 * The 'border' shorthand shows null for the shorthand value. 75885 * Shorthands didn't show their priority (e.g. !important). 75886 * HSL and HTML hex colors didn't have preview swatch blocks. 75887 * Code refactoring, making it easier to reuse for console.log later. 75888 75889 * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate 75890 classes in new files. 75891 * page/inspector/MetricsSidebarPane.js: Added. 75892 * page/inspector/Panel.js: Remove an InspectorController.log() call. 75893 * page/inspector/PropertiesSection.js: Add the section to the TreeOutline. 75894 So TreeElements can access properties on their section. 75895 * page/inspector/PropertiesSidebarPane.js: Added. 75896 * page/inspector/SidebarPane.js: Remove the explicit asignment of the 75897 onexpand and oncollapse to null. These were hiding prototypes. 75898 * page/inspector/StylesSidebarPane.js: Added. 75899 * page/inspector/inspector.html: Include the new script files. 75900 * page/inspector/treeoutline.js: If a null representedObject is passed 75901 in just use a empty object. 75902 75903 2007-11-04 David D. Kilzer <ddkilzer (a] webkit.org> 75904 75905 Fix build when spaces appear in the WebKit source path. 75906 75907 Reviewed by Mark Rowe. 75908 75909 * bindings/scripts/IDLParser.pm: Use safer open() method which lists 75910 arguments individually and prevents the need to work around spaces 75911 in the path. 75912 75913 2007-11-04 Alp Toker <alp (a] atoker.com> 75914 75915 Reviewed by Alexey Proskuryakov. 75916 75917 Fix a crash when no clipboard text is available 75918 75919 * platform/gtk/PasteboardGtk.cpp: 75920 (WebCore::Pasteboard::plainText): 75921 75922 2007-11-03 Darin Adler <darin (a] apple.com> 75923 75924 Reviewed by Maciej. 75925 75926 - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821 75927 remove unused PCRE features for speed 75928 75929 * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement): 75930 * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement): 75931 Remove use of "[[:digit:]]" syntax. This hasn't worked for some time. 75932 Use "\d" instead. 75933 75934 * platform/RegularExpression.h: Remove the unused cap function. We can 75935 add it back later if we find we need it. 75936 * platform/RegularExpression.cpp: 75937 (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore 75938 regular expression entry point changes. 75939 (WebCore::RegularExpression::Private::~Private): Ditto. 75940 (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL. 75941 This means that regular expressions with metacharactesr like ^ in them 75942 won't work any more with non-whole-string searches, but we don't use 75943 any regular expressions like that. 75944 75945 2007-11-03 Kevin Ollivier <kevino (a] theolliviers.com> 75946 75947 Update the link stubs to match the current build, 75948 and fix coding style issues. 75949 75950 Reviewed by Mark Rowe. 75951 75952 * platform/wx/TemporaryLinkStubs.cpp: 75953 (loadResourceIntoArray): 75954 (findNextSentenceFromIndex): 75955 (findSentenceBoundary): 75956 (Frame::dashboardRegionsChanged): 75957 (WebCore::historyContains): 75958 (CachedPage::close): 75959 (Editor::showStylesPanel): 75960 (EventHandler::passSubframeEventToSubframe): 75961 (EventHandler::passWheelEventToWidget): 75962 (WebCore::currentTextBreakLocaleID): 75963 75964 2007-11-03 Kevin Ollivier <kevino (a] theolliviers.com> 75965 75966 wx <-> WebKit conversions for IntPoint, IntRect and FloatRect 75967 75968 Reviewed by Mark Rowe. 75969 75970 * platform/graphics/wx/FloatRectWx.cpp: Added. 75971 * platform/graphics/wx/IntPointWx.cpp: Added. 75972 * platform/graphics/wx/IntRectWx.cpp: Added. 75973 75974 2007-11-03 Kevin Ollivier <kevino (a] theolliviers.com> 75975 75976 wx <-> WebKit data type conversions for Pen and Color. 75977 75978 Reviewed by Darin Adler. 75979 75980 * platform/graphics/wx: Added. 75981 * platform/graphics/wx/ColorWx.cpp: Added. 75982 * platform/graphics/wx/PenWx.cpp: Added. 75983 75984 2007-11-03 Sam Weinig <sam (a] webkit.org> 75985 75986 Reviewed by Oliver. 75987 75988 Remove dummy variable from ClassInfo reducing the size of the struct by 1 word. 75989 The variable had been kept around for binary compatibility, but since nothing 75990 else is there is no point in continuing to keep it around. 75991 75992 * bindings/js/JSDOMExceptionConstructor.cpp: 75993 * bindings/js/JSHTMLInputElementBase.cpp: 75994 * bindings/js/JSNamedNodesCollection.cpp: 75995 * bindings/js/JSXMLHttpRequest.cpp: 75996 * bindings/js/JSXSLTProcessor.cpp: 75997 * bindings/js/kjs_css.cpp: 75998 * bindings/js/kjs_events.cpp: 75999 * bindings/js/kjs_navigator.cpp: 76000 * bindings/js/kjs_window.cpp: 76001 * bindings/scripts/CodeGeneratorJS.pm: 76002 76003 2007-11-03 Kevin Ollivier <kevino (a] theolliviers.com> 76004 76005 Build fixes to get wx impls. building on trunk. 76006 76007 Reviewed by Mark Rowe. 76008 76009 * platform/wx/DragDataWx.cpp: 76010 (WebCore::DragData::containsFiles): 76011 (WebCore::DragData::asFilenames): 76012 * platform/wx/DragImageWx.cpp: 76013 (WebCore::scaleDragImage): 76014 * platform/wx/MimeTypeRegistryWx.cpp: 76015 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 76016 * platform/wx/MouseEventWx.cpp: 76017 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 76018 * platform/wx/MouseWheelEventWx.cpp: 76019 * platform/wx/PasteboardWx.cpp: 76020 (WebCore::Pasteboard::writeImage): 76021 * platform/wx/WidgetWx.cpp: 76022 (WebCore::Widget::setCursor): 76023 76024 2007-11-03 David D. Kilzer <ddkilzer (a] webkit.org> 76025 76026 Sort files(...); sections of Xcode project files. 76027 76028 Rubber-stamped by Darin. 76029 76030 * WebCore.xcodeproj/project.pbxproj: 76031 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: 76032 76033 2007-11-03 Kevin Ollivier <kevino (a] theolliviers.com> 76034 76035 Coding style fixes for platform/wx files. 76036 76037 Reviewed by Mark Rowe. 76038 76039 * platform/wx/ClipboardWx.cpp: 76040 * platform/wx/GlyphMapWx.cpp: 76041 * platform/wx/ScreenWx.cpp: 76042 76043 2007-11-03 Alp Toker <alp (a] atoker.com> 76044 76045 Reviewed by Mark Rowe. 76046 76047 Implement platform scrollbar static width/height getters 76048 76049 * platform/gtk/PlatformScrollBar.h: 76050 * platform/gtk/PlatformScrollBarGtk.cpp: 76051 (scrollbarSize): 76052 (PlatformScrollbar::horizontalScrollbarHeight): 76053 76054 2007-11-03 Alp Toker <alp (a] atoker.com> 76055 76056 Reviewed by Mark Rowe. 76057 76058 Cast function pointers to gpointer. 76059 76060 * platform/gtk/PlatformScrollBarGtk.cpp: 76061 (PlatformScrollbar::~PlatformScrollbar): 76062 76063 2007-11-03 Alp Toker <alp (a] atoker.com> 76064 76065 Reviewed by Adam Roben. 76066 76067 RenderThemeGtk implementation based on Mozilla's GTK+ style code 76068 76069 There is still work needed to complete this feature. 76070 76071 * WebCore.pro: 76072 * platform/gtk/RenderThemeGtk.cpp: 76073 (WebCore::theme): 76074 (WebCore::RenderThemeGtk::RenderThemeGtk): 76075 (WebCore::supportsFocus): 76076 (WebCore::RenderThemeGtk::supportsFocusRing): 76077 (WebCore::RenderThemeGtk::controlSupportsTints): 76078 (WebCore::RenderThemeGtk::baselinePosition): 76079 (WebCore::adjustMozStyle): 76080 (WebCore::setMozState): 76081 (WebCore::paintMozWidget): 76082 (WebCore::setButtonPadding): 76083 (WebCore::setToggleSize): 76084 (WebCore::RenderThemeGtk::setCheckboxSize): 76085 (WebCore::RenderThemeGtk::paintCheckbox): 76086 (WebCore::RenderThemeGtk::setRadioSize): 76087 (WebCore::RenderThemeGtk::paintRadio): 76088 (WebCore::RenderThemeGtk::adjustButtonStyle): 76089 (WebCore::RenderThemeGtk::paintButton): 76090 (WebCore::RenderThemeGtk::adjustMenuListStyle): 76091 (WebCore::RenderThemeGtk::paintMenuList): 76092 (WebCore::RenderThemeGtk::adjustTextFieldStyle): 76093 (WebCore::RenderThemeGtk::paintTextField): 76094 (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle): 76095 (WebCore::RenderThemeGtk::paintSearchFieldResultsButton): 76096 (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle): 76097 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): 76098 (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle): 76099 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): 76100 (WebCore::RenderThemeGtk::adjustSearchFieldStyle): 76101 (WebCore::RenderThemeGtk::paintSearchField): 76102 (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): 76103 (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): 76104 (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): 76105 (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): 76106 (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor): 76107 (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor): 76108 (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor): 76109 (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor): 76110 (WebCore::RenderThemeGtk::caretBlinkFrequency): 76111 (WebCore::RenderThemeGtk::systemFont): 76112 (WebCore::gtkStyleSetCallback): 76113 (WebCore::RenderThemeGtk::gtkContainer): 76114 (WebCore::RenderThemeGtk::gtkEntry): 76115 (WebCore::RenderThemeGtk::gtkTreeView): 76116 * platform/gtk/RenderThemeGtk.h: 76117 * platform/gtk/gtk2drawing.c: Added. 76118 (moz_gtk_enable_style_props): 76119 (ensure_window_widget): 76120 (setup_widget_prototype): 76121 (ensure_button_widget): 76122 (ensure_checkbox_widget): 76123 (ensure_radiobutton_widget): 76124 (ensure_scrollbar_widget): 76125 (ensure_spin_widget): 76126 (ensure_scale_widget): 76127 (ensure_entry_widget): 76128 (ensure_option_menu_widget): 76129 (ensure_arrow_widget): 76130 (ensure_handlebox_widget): 76131 (ensure_toolbar_widget): 76132 (ensure_tooltip_widget): 76133 (ensure_tab_widget): 76134 (ensure_progress_widget): 76135 (ensure_frame_widget): 76136 (ensure_menu_bar_widget): 76137 (ensure_menu_bar_item_widget): 76138 (ensure_menu_popup_widget): 76139 (ensure_menu_item_widget): 76140 (ensure_check_menu_item_widget): 76141 (ConvertGtkState): 76142 (TSOffsetStyleGCArray): 76143 (TSOffsetStyleGCs): 76144 (moz_gtk_button_paint): 76145 (moz_gtk_init): 76146 (moz_gtk_checkbox_get_metrics): 76147 (moz_gtk_radio_get_metrics): 76148 (moz_gtk_checkbox_get_focus): 76149 (moz_gtk_radio_get_focus): 76150 (moz_gtk_button_get_focus): 76151 (moz_gtk_option_menu_get_metrics): 76152 (moz_gtk_toggle_paint): 76153 (calculate_arrow_dimensions): 76154 (moz_gtk_scrollbar_button_paint): 76155 (moz_gtk_scrollbar_trough_paint): 76156 (moz_gtk_scrollbar_thumb_paint): 76157 (moz_gtk_spin_paint): 76158 (moz_gtk_scale_paint): 76159 (moz_gtk_scale_thumb_paint): 76160 (moz_gtk_gripper_paint): 76161 (moz_gtk_entry_paint): 76162 (moz_gtk_option_menu_paint): 76163 (moz_gtk_dropdown_arrow_paint): 76164 (moz_gtk_container_paint): 76165 (moz_gtk_toggle_label_paint): 76166 (moz_gtk_toolbar_paint): 76167 (moz_gtk_tooltip_paint): 76168 (moz_gtk_frame_paint): 76169 (moz_gtk_progressbar_paint): 76170 (moz_gtk_progress_chunk_paint): 76171 (moz_gtk_tab_paint): 76172 (moz_gtk_tabpanels_paint): 76173 (moz_gtk_menu_bar_paint): 76174 (moz_gtk_menu_popup_paint): 76175 (moz_gtk_menu_item_paint): 76176 (moz_gtk_check_menu_item_paint): 76177 (moz_gtk_window_paint): 76178 (moz_gtk_get_widget_border): 76179 (moz_gtk_get_dropdown_arrow_size): 76180 (moz_gtk_get_scalethumb_metrics): 76181 (moz_gtk_get_scrollbar_metrics): 76182 (moz_gtk_widget_paint): 76183 (moz_gtk_get_scrollbar_widget): 76184 (moz_gtk_shutdown): 76185 * platform/gtk/gtkdrawing.h: Added. 76186 76187 2007-11-03 Alp Toker <alp (a] atoker.com> 76188 76189 Reviewed by Mark Rowe. 76190 76191 Do not allow scrollbars to handle wheel events 76192 76193 We bubble the wheel event up so the parent can handle it instead. 76194 76195 * platform/gtk/PlatformScrollBarGtk.cpp: 76196 (gtkScrollEventCallback): 76197 (PlatformScrollbar::PlatformScrollbar): 76198 (PlatformScrollbar::~PlatformScrollbar): 76199 76200 2007-11-03 Alp Toker <alp (a] atoker.com> 76201 76202 Reviewed by Mark Rowe. 76203 76204 Frame scrolling and invalidation fixes 76205 76206 Make upward scroll events have a positive delta to match other ports. 76207 76208 Fix the invalidation rect offset for frames so that scrolling works properly. 76209 76210 Avoid allocating negative sizes to widgets to avoid GTK+ warnings. 76211 76212 Allow tabbing to all widgets and links. 76213 76214 Fix event returns, improving the focus situation and correcting scroll wheel 76215 behavior. 76216 76217 * page/gtk/EventHandlerGtk.cpp: 76218 (WebCore::EventHandler::tabsToAllControls): 76219 (WebCore::EventHandler::passWheelEventToWidget): 76220 * platform/gtk/ScrollViewGtk.cpp: 76221 (WebCore::ScrollViewScrollbar::geometryChanged): 76222 (WebCore::ScrollView::updateContents): 76223 (WebCore::ScrollView::update): 76224 (WebCore::ScrollView::wheelEvent): 76225 (WebCore::ScrollView::updateScrollbars): 76226 * platform/gtk/WheelEventGtk.cpp: 76227 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 76228 76229 2007-11-03 David D. Kilzer <ddkilzer (a] webkit.org> 76230 76231 LGPL'ed files contain incorrect FSF address 76232 <http://bugs.webkit.org/show_bug.cgi?id=14885> 76233 76234 * bindings/js/JSSVGTransformListCustom.cpp: 76235 * ksvg2/svg/SVGException.idl: 76236 * ksvg2/svg/SVGTextPathElement.cpp: 76237 * ksvg2/svg/SVGTextPathElement.h: 76238 * ksvg2/svg/SVGViewSpec.cpp: 76239 * ksvg2/svg/SVGViewSpec.h: 76240 * platform/mac/FontCustomPlatformData.cpp: 76241 * platform/mac/FontCustomPlatformData.h: 76242 * platform/mac/FontPlatformDataMac.mm: 76243 * platform/win/FontCustomPlatformData.cpp: 76244 * platform/win/FontCustomPlatformData.h: 76245 * rendering/RenderSVGRoot.cpp: 76246 * rendering/RenderSVGRoot.h: 76247 * rendering/RenderSVGTextPath.cpp: 76248 * rendering/RenderSVGTextPath.h: 76249 * rendering/RenderSVGTransformableContainer.h: 76250 * rendering/RenderSVGViewportContainer.cpp: 76251 * rendering/RenderSVGViewportContainer.h: 76252 * rendering/SVGCharacterLayoutInfo.cpp: 76253 * rendering/SVGCharacterLayoutInfo.h: 76254 * rendering/SVGRenderSupport.cpp: 76255 * rendering/SVGRenderSupport.h: 76256 76257 2007-11-02 Antti Koivisto <antti (a] apple.com> 76258 76259 Reviewed by Adam. 76260 76261 Add video width/height DOM and content attributes from latest HTML5 draft. 76262 76263 Test: media/video-width-height.html 76264 76265 * html/HTMLVideoElement.cpp: 76266 (WebCore::HTMLVideoElement::parseMappedAttribute): 76267 (WebCore::HTMLVideoElement::width): 76268 (WebCore::HTMLVideoElement::setWidth): 76269 (WebCore::HTMLVideoElement::height): 76270 (WebCore::HTMLVideoElement::setHeight): 76271 * html/HTMLVideoElement.h: 76272 * html/HTMLVideoElement.idl: 76273 76274 2007-11-02 Darin Adler <darin (a] apple.com> 76275 76276 Reviewed by Maciej. 76277 76278 * DerivedSources.make: Remove a few explicit filenames from some rules by using 76279 make variables a little more. 76280 * WebCore.LP64.exp: Fix typo, grammar. 76281 76282 2007-11-02 Darin Adler <darin (a] apple.com> 76283 76284 Reviewed by Maciej. 76285 76286 - use the new HashMap::take function where appropriate 76287 76288 * bindings/js/kjs_binding.cpp: 76289 (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad. 76290 (KJS::removeWrapper): Ditto. 76291 (KJS::removeWrappers): Ditto. 76292 (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro. 76293 (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead 76294 of remove -- in theory ever so slightly less efficient, but I think it's fine. 76295 (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto. 76296 (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro. 76297 (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove. 76298 (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros. 76299 76300 * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove. 76301 * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto. 76302 * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto. 76303 * rendering/RenderBlock.cpp: 76304 (WebCore::RenderBlock::~RenderBlock): Ditto. 76305 (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto. 76306 * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto. 76307 76308 2007-11-02 Antti Koivisto <antti (a] apple.com> 76309 76310 Reviewed by Darin. 76311 76312 Enable video composition. 76313 76314 * WebCore.base.exp: 76315 * platform/graphics/mac/MoviePrivateQTKit.mm: 76316 (WebCore::MoviePrivate::createQTMovieView): 76317 * platform/mac/WebCoreSystemInterface.h: 76318 * platform/mac/WebCoreSystemInterface.mm: 76319 76320 2007-11-02 Darin Adler <darin (a] apple.com> 76321 76322 Reviewed by Mitz. 76323 76324 - fix http://bugs.webkit.org/show_bug.cgi?id=15806 76325 <rdar://problem/5561626> ASSERT(element->isRadioButton()) fires destroying form elements 76326 76327 Test: fast/forms/remove-radio-button-assert.html 76328 76329 * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::removeFromForm): 76330 Added protected function to be used by derived classes that need to do the same sort 76331 of removal from form that's automatically done by the base class in certain circumstances. 76332 * html/HTMLGenericFormElement.h: Added removeFromForm. 76333 76334 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement): 76335 Call removeFromForm here so the element is removed before we destroy the HTMLInputElement 76336 part of this object. By the time we get to the base class's destructor it's too late. 76337 The problem is specific to radio buttons so we don't have to worry about other classes 76338 derived from HTMLGenericFormElement. 76339 76340 2007-11-02 Darin Adler <darin (a] apple.com> 76341 76342 Reviewed by Mitz. 76343 76344 - speculative fix for http://bugs.webkit.org/show_bug.cgi?id=15805 76345 <rdar://problem/5510779> crashes in isLoadingMultipartContent 76346 76347 * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingMultipartContent): 76348 Instead of asserting the frame loader is non-0, return false if it is 0. 76349 76350 2007-11-02 Darin Adler <darin (a] apple.com> 76351 76352 Reviewed by Mitz. 76353 76354 - fix <rdar://problem/5530185> WebKit does not show <object> fallback content when both 76355 URL and MIME type is omitted 76356 76357 Already covered by existing tests (that had incorrect results). 76358 76359 * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Return false to indicate 76360 failure when both URL and MIME type are empty. The old code would not attempt a load, but 76361 it would indicate success. 76362 76363 * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Remove 76364 non-helpful early exit for the case where there is no URL and no type. Returning early 76365 prevents the fallback code from running. 76366 76367 2007-11-02 Alp Toker <alp (a] atoker.com> 76368 76369 Reviewed by Darin. 76370 76371 Include Cairo headers properly 76372 76373 * platform/graphics/AffineTransform.h: 76374 * platform/graphics/ImageBuffer.h: 76375 * platform/graphics/cairo/AffineTransformCairo.cpp: 76376 * platform/gtk/FontPlatformDataGtk.cpp: 76377 76378 2007-11-01 Oliver Hunt <oliver (a] apple.com> 76379 76380 Reviewed by Alexey. 76381 76382 Make sure we send the correct events for Capslock, Shift, Ctrl, Alt and the Windows key 76383 76384 * platform/win/KeyEventWin.cpp: 76385 (WebCore::keyIdentifierForWindowsKeyCode): 76386 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 76387 76388 2007-11-01 Geoffrey Garen <ggaren (a] apple.com> 76389 76390 Reviewed by Maciej Stachowiak. 76391 76392 In preparation for making List a simple stack-allocated Vector: 76393 76394 Removed all instances of List copying, assignment, and/or storage. 76395 76396 Layout tests and JS tests pass. 76397 76398 * bindings/js/kjs_window.cpp: 76399 (KJS::WindowFunc::callAsFunction): Stores a Vector of protected 76400 JSValue*'s instead of a List now. Converts to List on the fly when 76401 calling the timer function. This is slightly less efficient, but the 76402 common case is 0-2 arguments, so it's no biggie. 76403 76404 (HTML iBench shows no regression. PLT does not use JS timers.) 76405 76406 (KJS::ScheduledAction::execute): Uses the more efficient and non-copying 76407 List::slice now. 76408 (KJS::ScheduledAction::ScheduledAction): ditto 76409 76410 * bindings/objc/WebScriptObject.mm: 76411 (getListFromNSArray): Takes a List out parameter now, to avoid copying. 76412 76413 2007-11-01 Oliver Hunt <oliver (a] apple.com> 76414 76415 Reviewed by Geoff. 76416 76417 Correct event behaviour on certain control keys 76418 76419 Make sure we send the correct keyDown and keyUp events for the 76420 control keys CapsLock, Shift, Ctrl, Alt, and Meta/Command, and 76421 uses Windows key codes for the event keyCode. 76422 76423 * WebCore.base.exp: 76424 * page/EventHandler.cpp: 76425 (WebCore::EventHandler::keyEvent): 76426 * platform/PlatformKeyboardEvent.h: 76427 * platform/gtk/KeyEventGtk.cpp: 76428 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 76429 * platform/mac/KeyEventMac.mm: 76430 (WebCore::keyIdentifierForKeyEvent): 76431 (WebCore::WindowsKeyCodeForKeyEvent): 76432 (WebCore::isKeyUpEvent): 76433 (WebCore::textFromEvent): 76434 (WebCore::unmodifiedTextFromEvent): 76435 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 76436 * platform/win/KeyEventWin.cpp: 76437 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 76438 * platform/wx/KeyEventWin.cpp: 76439 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 76440 76441 2007-11-01 Timothy Hatcher <timothy (a] apple.com> 76442 76443 Reviewed by Sam. 76444 76445 * page/inspector/inspector.css: Use the white disclosure triangles 76446 when a parent DOM element is sepected. 76447 76448 2007-11-01 Justin Garcia <justin.garcia (a] apple.com> 76449 76450 Reviewed by Oliver Hunt. 76451 76452 <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply 76453 76454 * editing/ReplaceSelectionCommand.cpp: 76455 (WebCore::ReplaceSelectionCommand::doApply): No need to match style when pasting 76456 into a plaintext-only region, since when we build the fragment to insert from 76457 plain text, we don't put any style information on it, so it will automatically 76458 match style with no intervention. 76459 * editing/markup.cpp: 76460 (WebCore::createFragmentFromText): Place paragraphs into clones of the 76461 block being inserted into, instead of default paragraph elements, 76462 so that when inserted content will match the surrounding paragraph style. 76463 This was broken before, but I haven't added a layout test yet because 76464 there currently isn't a way to get only plain text onto the pasteboard 76465 in a layout test. 76466 76467 2007-11-01 Sam Weinig <sam (a] webkit.org> 76468 76469 Reviewed by Adam Roben. 76470 76471 Add a releaseRef method to COMPtr which matches the behavior 76472 of the method by the same name in PassRefPtr. This is in 76473 preparation of adding autogenerated COM DOM bindings. 76474 76475 * platform/win/COMPtr.h: 76476 (COMPtr::releaseRef): 76477 76478 2007-11-01 Kevin Ollivier <kevino (a] theolliviers.com> 76479 76480 wx impl. for DragController and EventHandler interfaces. 76481 76482 Reviewed by Adam Roben. 76483 76484 * page/wx: Added. 76485 * page/wx/DragControllerWx.cpp: Added. 76486 (WebCore::DragController::isCopyKeyDown): 76487 (WebCore::DragController::dragOperation): 76488 (WebCore::DragController::maxDragImageSize): 76489 * page/wx/EventHandlerWx.cpp: Added. 76490 (WebCore::EventHandler::passMousePressEventToSubframe): 76491 (WebCore::EventHandler::passMouseMoveEventToSubframe): 76492 (WebCore::EventHandler::passMouseReleaseEventToSubframe): 76493 (WebCore::EventHandler::passMousePressEventToScrollbar): 76494 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 76495 (WebCore::EventHandler::focusDocumentView): 76496 (WebCore::EventHandler::eventActivatedView): 76497 (WebCore::EventHandler::createDraggingClipboard): 76498 76499 2007-11-01 Kevin Ollivier <kevino (a] theolliviers.com> 76500 76501 Adding files for wx impl. of editing interfaces. 76502 76503 Reviewed by Adam Roben. 76504 76505 * editing/wx: Added. 76506 * editing/wx/EditorWx.cpp: Added. 76507 (WebCore::Editor::newGeneralClipboard): 76508 76509 2007-11-01 Sam Weinig <sam (a] webkit.org> 76510 76511 Reviewed by Adam Roben. 76512 76513 Make implicit conversions from LPCSTRs and BSTRs to WebCore string 76514 types possible in preparation of adding autogenerated COM DOM bindings. 76515 76516 * platform/AtomicString.cpp: 76517 (WebCore::AtomicString::add): 76518 * platform/AtomicString.h: 76519 (WebCore::AtomicString::AtomicString): 76520 * platform/PlatformString.h: 76521 * platform/win/BString.cpp: 76522 (WebCore::BString::BString): 76523 * platform/win/BString.h: 76524 76525 2007-11-01 Brady Eidson <beidson (a] apple.com> 76526 76527 Reviewed by Anders 76528 76529 Renamed a flag inside of SQLiteTransaction and added an accessor (for future work) 76530 76531 * platform/sql/SQLiteTransaction.cpp: 76532 (WebCore::SQLiteTransaction::SQLiteTransaction): 76533 (WebCore::SQLiteTransaction::~SQLiteTransaction): 76534 (WebCore::SQLiteTransaction::begin): 76535 (WebCore::SQLiteTransaction::commit): 76536 (WebCore::SQLiteTransaction::rollback): 76537 * platform/sql/SQLiteTransaction.h: 76538 (WebCore::SQLiteTransaction::inProgress): 76539 76540 2007-11-01 Adam Roben <aroben (a] apple.com> 76541 76542 Remove all duplicate xcopy commands from WebCore's post-build step 76543 76544 Also add the /d option to the copy of platform/sql. 76545 76546 Rubberstamped by Sam. 76547 76548 * WebCore.vcproj/WebCore.vcproj: 76549 76550 2007-11-01 Adele Peterson <adele (a] apple.com> 76551 76552 Reviewed by Maciej. 76553 76554 Add support for the animation of the -webkit-border-raduis properties. 76555 76556 * page/AnimationController.cpp: 76557 (WebCore::blendFunc): Added for IntSize. 76558 (WebCore::ImplicitAnimation::animate): Added cases for border radius properties. 76559 76560 2007-11-01 Alp Toker <alp (a] atoker.com> 76561 76562 Reviewed by Mitz Pettel. 76563 76564 Fix an unbalanced save/restore. 76565 76566 * platform/graphics/cg/ImageCG.cpp: 76567 (WebCore::BitmapImage::draw): 76568 76569 2007-11-01 David Hyatt <hyatt (a] apple.com> 76570 76571 Add support for the animation of the visibility property. 76572 76573 Reviewed by oliver, aroben 76574 76575 * page/AnimationController.cpp: 76576 (WebCore::blendFunc): 76577 (WebCore::ImplicitAnimation::animate): 76578 76579 2007-11-01 Kevin McCullough <kmccullough (a] apple.com> 76580 76581 Reviewed by Adam. 76582 76583 - Made COMPtr be able to be used by certain other templates, 76584 specifically HashSet. 76585 76586 * platform/win/COMPtr.h: 76587 (WTF::): 76588 76589 2007-11-01 Dan Bernstein <mitz (a] apple.com> 76590 76591 Reviewed by Dave Hyatt. 76592 76593 - fix http://bugs.webkit.org/show_bug.cgi?id=15015 76594 <rdar://problem/5420308> Most of www.aol.com redraws unnecessarily when headline/photo section changes 76595 76596 Test: fast/repaint/overflow-clip-subtree-layout.html 76597 76598 This patch does not address the bigger issue of doing a full relayout 76599 of inline flows containing floats, but it addresses the problem on 76600 aol.com, where the changes that trigger layout are confined to an 76601 overflow area inside the float. 76602 76603 * page/FrameView.cpp: 76604 (WebCore::FrameView::scheduleRelayoutOfSubtree): If the new and old 76605 layout roots are different but one descends from the other, make (or 76606 keep) the ancestor as the layout root. 76607 * rendering/RenderObject.cpp: 76608 (WebCore::objectIsRelayoutBoundary): Made boxes with overflow 76609 clipping and non-auto width and height relayout boundaries. 76610 76611 2007-11-01 Alexey Proskuryakov <ap (a] webkit.org> 76612 76613 Reviewed by Mark Rowe. 76614 76615 Fixed line endings that got confused in this file somehow. 76616 76617 * platform/network/ResourceResponse.cpp: 76618 (WebCore::ResourceResponse::isAttachment): 76619 76620 2007-11-01 Peter Kasting <pkasting (a] google.com> 76621 76622 Reviewed by Dave Hyatt. 76623 76624 http://bugs.webkit.org/show_bug.cgi?id=15778 76625 Malformed GIFs should not result in memory corruption. 76626 76627 * platform/image-decoders/gif/GIFImageDecoder.cpp: 76628 (WebCore::GIFImageDecoder::haveDecodedRow): 76629 * platform/image-decoders/gif/GIFImageReader.cpp: 76630 (GIFImageReader::output_row): 76631 (GIFImageReader::read): 76632 76633 2007-10-31 Adam Roben <aroben (a] apple.com> 76634 76635 Fix a crash when parsing a cubic-bezier function 76636 76637 Reviewed by Hyatt. 76638 76639 Test: fast/css/parse-timing-function-crash.html 76640 76641 * WebCore.vcproj/WebCore.vcproj: 76642 * css/CSSParser.cpp: 76643 (WebCore::CSSParser::parseTimingFunctionValue): Don't walk off the end 76644 of the ValueList. 76645 76646 2007-10-31 David Hyatt <hyatt (a] apple.com> 76647 76648 Fix a merge error from when I applied my patch to ToT. A couple of lines should be part of an if. 76649 76650 * rendering/RenderStyle.cpp: 76651 (WebCore::RenderStyle::adjustTransitions): 76652 76653 2007-10-31 Anders Carlsson <andersca (a] apple.com> 76654 76655 Reviewed by Sam. 76656 76657 Add new SQL callback interfaces and JS implementations of them. 76658 76659 * DerivedSources.make: 76660 * WebCore.xcodeproj/project.pbxproj: 76661 * bindings/js/JSCustomSQLStatementCallback.cpp: Added. 76662 (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback): 76663 (WebCore::JSCustomSQLStatementCallback::handleEvent): 76664 * bindings/js/JSCustomSQLStatementCallback.h: Added. 76665 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Added. 76666 (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback): 76667 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 76668 * bindings/js/JSCustomSQLStatementErrorCallback.h: Added. 76669 * bindings/js/JSCustomSQLTransactionCallback.cpp: Added. 76670 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): 76671 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 76672 * bindings/js/JSCustomSQLTransactionCallback.h: Added. 76673 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Added. 76674 (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback): 76675 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 76676 * bindings/js/JSCustomSQLTransactionErrorCallback.h: Added. 76677 * storage/JSCustomSQLStatementCallback.h: Added. 76678 * storage/JSCustomSQLStatementErrorCallback.h: Added. 76679 * storage/JSCustomSQLTransactionCallback.h: Added. 76680 * storage/JSCustomSQLTransactionErrorCallback.h: Added. 76681 * storage/SQLStatementCallback.h: Added. 76682 (WebCore::SQLStatementCallback::~SQLStatementCallback): 76683 * storage/SQLStatementCallback.idl: Added. 76684 * storage/SQLStatementErrorCallback.h: Added. 76685 (WebCore::SQLStatementErrorCallback::~SQLStatementErrorCallback): 76686 * storage/SQLStatementErrorCallback.idl: Added. 76687 * storage/SQLTransaction.h: Added. 76688 * storage/SQLTransaction.idl: Added. 76689 * storage/SQLTransactionCallback.h: Added. 76690 (WebCore::SQLTransactionCallback::~SQLTransactionCallback): 76691 * storage/SQLTransactionCallback.idl: Added. 76692 * storage/SQLTransactionErrorCallback.h: Added. 76693 (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback): 76694 * storage/SQLTransactionErrorCallback.idl: Added. 76695 76696 2007-10-31 Justin Garcia <justin.garcia (a] apple.com> 76697 76698 Reviewed by Dave Harrison. 76699 76700 <rdar://problem/5569741> Pasting content with a line break into a list can remove the list 76701 76702 * editing/htmlediting.cpp: 76703 (WebCore::enclosingEmptyListItem): A single list item can contain multiple 76704 paragraphs, so if the incoming VisiblePosition is in an empty paragraph in a 76705 list item, that list item isn't necessarily empty. 76706 76707 2007-10-31 David Hyatt <hyatt (a] apple.com> 76708 76709 Disable style sharing for animating styles. 76710 76711 Reviewed by mitzpettel 76712 76713 * css/CSSStyleSelector.cpp: 76714 (WebCore::CSSStyleSelector::canShareStyleWithElement): 76715 76716 2007-10-31 Dan Bernstein <mitz (a] apple.com> 76717 76718 Reviewed by Darin Adler. 76719 76720 - fix intermediate length calculation 76721 76722 * rendering/Length.h: 76723 (WebCore::Length::blend): 76724 76725 2007-10-31 Anders Carlsson <andersca (a] apple.com> 76726 76727 Reviewed by Darin. 76728 76729 Add new SQLError implementation. 76730 76731 * DerivedSources.make: 76732 * WebCore.vcproj/WebCore.vcproj: 76733 * WebCore.xcodeproj/project.pbxproj: 76734 * storage/SQLError.h: Added. 76735 (WebCore::SQLError::SQLError): 76736 (WebCore::SQLError::code): 76737 (WebCore::SQLError::message): 76738 * storage/SQLError.idl: Added. 76739 76740 2007-10-31 David Hyatt <hyatt (a] apple.com> 76741 76742 Change the initial value of transition-property to all. Change the initial value of 76743 transition-duration to 0. 76744 76745 Reviewed by antti 76746 76747 * rendering/RenderStyle.h: 76748 (WebCore::RenderStyle::initialTransitionDuration): 76749 (WebCore::RenderStyle::initialTransitionProperty): 76750 76751 2007-10-31 Alp Toker <alp (a] atoker.com> 76752 76753 Reviewed by Mark Rowe. 76754 76755 The new Color must be marked valid. 76756 76757 * platform/graphics/gtk/ColorGtk.cpp: 76758 76759 2007-10-31 Simon Hausmann <hausmann (a] kde.org> 76760 76761 Reviewed by Maciej; 76762 76763 Build fix for non-Qt builds. 76764 76765 * dom/XMLTokenizer.cpp: 76766 (WebCore::XMLTokenizer::XMLTokenizer): 76767 76768 2007-10-31 Simon Hausmann <hausmann (a] kde.org> 76769 76770 Reviewed by Lars. 76771 76772 Fix dependency path to header files of the public API of the Qt port. 76773 76774 * WebCore.pro: 76775 76776 2007-10-31 Holger Freyther <zecke (a] selfish.org> 76777 76778 Reviewed by Simon. 76779 76780 * QXmlStreamNamespaceDeclaration doesn't have the constructor we 76781 want to use for Qt4.3. Reenable the old code path which is likely 76782 to be dead as I have not checked if m_prefixToNamespaceMap is actually 76783 used. 76784 * Guard the entity resolver with the QT_VERSION as well. 76785 * Partially reverts 369506279abdaa863e15efed649ca19e062f2c30 and 76786 d2b54d0fc1b07a2480f4f7a1417abd7a636b0107 for Qt4.3. 76787 76788 * dom/XMLTokenizer.cpp: 76789 (WebCore::XMLTokenizer::XMLTokenizer): 76790 * dom/XMLTokenizer.h: 76791 76792 2007-10-31 Holger Freyther <zecke (a] selfish.org> 76793 76794 Reviewed by Lars Knoll <lars (a] trolltech.com>. 76795 76796 * QMimeData::removeData will be new in Qt4.4, don't use it for Qt4.3 76797 * Provide a bad fallback implementation to filter the format list. 76798 76799 * platform/qt/ClipboardQt.cpp: 76800 (WebCore::ClipboardQt::clearData): 76801 76802 2007-10-31 Lars Knoll <lars (a] trolltech.com> 76803 76804 Reviewed by Simon. 76805 76806 add an entitiy resolver to QXmlStream. 76807 Fixes fast/parser/entities-in-attributes.xhtml. 76808 76809 * dom/XMLTokenizer.cpp: 76810 (WebCore::EntityResolver::resolveUndeclaredEntity): 76811 (WebCore::XMLTokenizer::XMLTokenizer): 76812 (WebCore::XMLTokenizer::~XMLTokenizer): 76813 76814 2007-10-31 Lars Knoll <lars (a] trolltech.com> 76815 76816 Reviewed by Simon. 76817 76818 Fixes in the XML tokenizer when using QXmlStream. 76819 76820 Use new functionality of QXmlStream in Qt 4.4 to simplify 76821 the code (but keep the old code for now to still support Qt 4.3). 76822 76823 Add proper support for namespace handling when parsing into 76824 a document fragment. 76825 76826 * dom/XMLTokenizer.cpp: 76827 (WebCore::XMLTokenizer::XMLTokenizer): 76828 (WebCore::XMLTokenizer::write): 76829 (WebCore::XMLTokenizer::startElementNs): 76830 * dom/XMLTokenizer.h: 76831 76832 2007-10-31 Lars Knoll <lars (a] trolltech.com> 76833 76834 Reviewed by Simon. 76835 76836 add support for dragging images. 76837 76838 * platform/DragImage.h: 76839 * platform/qt/ClipboardQt.cpp: 76840 (WebCore::ClipboardQt::clearData): 76841 (WebCore::ClipboardQt::setDragImage): 76842 (WebCore::ClipboardQt::setDragImageElement): 76843 (WebCore::ClipboardQt::createDragImage): 76844 (WebCore::getCachedImage): 76845 (WebCore::ClipboardQt::declareAndWriteDragImage): 76846 * platform/qt/ClipboardQt.h: 76847 76848 2007-10-31 Lars Knoll <lars (a] trolltech.com> 76849 76850 Reviewed by Simon. 76851 76852 fix most of the issues I found with Clipboard and DnD. 76853 76854 * editing/qt/EditorQt.cpp: 76855 * platform/qt/ClipboardQt.cpp: 76856 (WebCore::ClipboardQt::ClipboardQt): 76857 (WebCore::ClipboardQt::~ClipboardQt): 76858 (WebCore::ClipboardQt::clearData): 76859 (WebCore::ClipboardQt::clearAllData): 76860 (WebCore::ClipboardQt::getData): 76861 (WebCore::ClipboardQt::setData): 76862 (WebCore::ClipboardQt::types): 76863 (WebCore::ClipboardQt::setDragImage): 76864 (WebCore::ClipboardQt::setDragImageElement): 76865 (WebCore::ClipboardQt::declareAndWriteDragImage): 76866 (WebCore::ClipboardQt::writeURL): 76867 (WebCore::ClipboardQt::writeRange): 76868 (WebCore::ClipboardQt::hasData): 76869 * platform/qt/ClipboardQt.h: 76870 * platform/qt/DragDataQt.cpp: 76871 (WebCore::DragData::asURL): 76872 76873 2007-10-30 Mark Rowe <mrowe (a] apple.com> 76874 76875 Fix the Gtk and Qt builds by stubbing out PlatformKeyboardEvent::currentCapsLockState. 76876 76877 * platform/gtk/KeyEventGtk.cpp: 76878 (WebCore::PlatformKeyboardEvent::currentCapsLockState): 76879 * platform/qt/PlatformKeyboardEventQt.cpp: 76880 (WebCore::PlatformKeyboardEvent::currentCapsLockState): 76881 76882 2007-10-31 Alexey Proskuryakov <ap (a] webkit.org> 76883 76884 Reviewed by Anders. 76885 76886 http://bugs.webkit.org/show_bug.cgi?id=15762 76887 XSLStylesheet loads subresources from a wrong URL 76888 76889 Covered by corrected existing tests. 76890 76891 * xml/XSLStyleSheet.cpp: 76892 (WebCore::XSLStyleSheet::parseString): Pass stylesheet URL, not 76893 the document one. 76894 76895 2007-10-31 Alexey Proskuryakov <ap (a] webkit.org> 76896 76897 Reviewed by Darin. 76898 76899 http://bugs.webkit.org/show_bug.cgi?id=10818 76900 String::append does 2 full copies instead of 1 (or zero!) 76901 76902 No change in functionality, thus no test. 76903 76904 * platform/String.cpp: 76905 (WebCore::String::append): Rewrote to copy once. Also removed an ancient 76906 FIXME that doesn't seem to make any sense. Note that append() behavior doesn't 76907 match documented String behavior ("modifications to one instance will 76908 also modify all others"), but there are a lot of methods that don't. 76909 76910 2007-10-31 Adam Roben <aroben (a] apple.com> 76911 76912 Windows build fix 76913 76914 * WebCore.vcproj/WebCore.vcproj: Add [JS]ProgressEvent.{cpp,h} files. 76915 76916 2007-10-30 Adam Roben <aroben (a] apple.com> 76917 76918 Windows build fixes 76919 76920 I'm not completely sure why these const issues weren't caught by GCC, 76921 but MSVC was certainly not happy with them. 76922 76923 * editing/IndentOutdentCommand.cpp: 76924 (WebCore::isIndentBlockquote): 76925 * editing/markup.cpp: 76926 (WebCore::styleFromMatchedRulesAndInlineDecl): 76927 76928 2007-10-30 David Hyatt <hyatt (a] apple.com> 76929 76930 transition-property was defaulting to all when it should default to none. 76931 76932 It was taking a string type. I figured out how to make it take an ident instead, so you can write: 76933 76934 transition-property: opacity 76935 76936 instead of 76937 76938 transition-property: "opacity" 76939 76940 Transition layers also weren't properly repeating patterns the way they were supposed to. I fixed that. 76941 76942 Finally, I fixed a bug in the code to fix up transition layers where something was misplaced that should have been inside a null check. 76943 76944 Reviewed by aroben 76945 76946 * css/CSSHelper.h: 76947 * css/CSSParser.cpp: 76948 (WebCore::CSSParser::parseTransitionProperty): 76949 * css/CSSStyleSelector.cpp: 76950 (WebCore::CSSStyleSelector::adjustRenderStyle): 76951 * page/AnimationController.cpp: 76952 (WebCore::ImplicitAnimation::animate): 76953 * rendering/RenderStyle.cpp: 76954 (WebCore::RenderStyle::adjustTransitions): 76955 * rendering/RenderStyle.h: 76956 (WebCore::RenderStyle::initialTransitionProperty): 76957 76958 2007-10-30 Antti Koivisto <antti (a] apple.com> 76959 76960 Reviewed by Geoff. 76961 76962 Leak fix 76963 76964 * platform/graphics/mac/MoviePrivateQTKit.mm: 76965 (WebCore::MoviePrivate::getSupportedTypes): 76966 76967 2007-10-30 Dan Bernstein <mitz (a] apple.com> 76968 76969 Reviewed by Stephanie Lewis. 76970 76971 - fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites) 76972 76973 * platform/win/FontDataWin.cpp: 76974 (WebCore::FontData::platformInit): Handle the case where the font has no 76975 glyphs on page zero. 76976 76977 2007-10-30 David Hyatt <hyatt (a] apple.com> 76978 76979 Make sure CSS transforms can be animated using the CSS transition property. 76980 76981 Reviewed by Dan and Antti 76982 76983 * css/CSSStyleSelector.cpp: 76984 (WebCore::CSSStyleSelector::applyProperty): 76985 * page/AnimationController.cpp: 76986 (WebCore::blendFunc): 76987 (WebCore::ImplicitAnimation::animate): 76988 * rendering/Length.h: 76989 (WebCore::Length::blend): 76990 * rendering/RenderStyle.cpp: 76991 (WebCore::StyleTransformData::operator==): 76992 (WebCore::TransformOperations::operator==): 76993 (WebCore::blendLengths): 76994 (WebCore::ScaleTransformOperation::blend): 76995 (WebCore::RotateTransformOperation::blend): 76996 (WebCore::SkewTransformOperation::blend): 76997 (WebCore::TranslateTransformOperation::blend): 76998 (WebCore::MatrixTransformOperation::blend): 76999 * rendering/RenderStyle.h: 77000 (WebCore::TransformOperations::operator!=): 77001 (WebCore::TransformOperations::isEmpty): 77002 (WebCore::TransformOperations::size): 77003 (WebCore::TransformOperations::operator[]): 77004 (WebCore::TransformOperations::append): 77005 (WebCore::RenderStyle::transform): 77006 (WebCore::RenderStyle::setTransform): 77007 (WebCore::RenderStyle::initialTransform): 77008 77009 2007-10-30 Antti Koivisto <antti (a] apple.com> 77010 77011 Another Qt/GTK build fix. 77012 77013 * bindings/js/JSHTMLElementWrapperFactory.cpp: 77014 77015 2007-10-30 Antti Koivisto <antti (a] apple.com> 77016 77017 Attempt to fix Qt/GTK build. 77018 77019 * WebCore.pro: 77020 77021 2007-10-30 Justin Garcia <justin.garcia (a] apple.com> 77022 77023 Reviewed by Darin Adler. 77024 77025 <rdar://problem/5549929> CrashTracer: [USER] 35 crashes at WebCore::CharacterData::insertData 77026 77027 We were trying to insert a tab into a br, after the br incorrectly ended up inside 77028 a tab span. 77029 77030 * editing/DeleteButtonController.cpp: 77031 (WebCore::isDeletableElement): Changed to take in a const Node* instead of a Node*. 77032 * editing/DeleteSelectionCommand.cpp: 77033 (WebCore::isTableRow): Ditto. 77034 * editing/IndentOutdentCommand.cpp: 77035 (WebCore::isIndentBlockquote): Ditto. 77036 (WebCore::isListOrIndentBlockquote): Ditto. 77037 * editing/InsertLineBreakCommand.cpp: 77038 (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Added, moved code from 77039 doApply here. 77040 (WebCore::InsertLineBreakCommand::doApply): 77041 Don't upstream() the insertion position. upstream()ing it will only have an effect 77042 when the insertion position is the first in its paragraph (since we canonicalize 77043 VisiblePositions to the upstream() candidate). In this start of paragraph case, 77044 upstream() can move outside inline elements like tab spans or elements that might 77045 have a different whitespace mode (added two test cases to cover these). 77046 Moved code to decide whether to insert a br or a '\n' to its own method. 77047 Removed special case code for inserting at a position inside a tab span. We instead 77048 adjust the insertion position before insertion if it is inside a tab span and 77049 handle insertion in the appropriate if-block. This fixes a bug where we would 77050 only insert one line break when two were needed (added a testcase). 77051 Removed special case code for inserting before and after tables and horizontal 77052 rules. We handle these insertions in the appropriate if-block. 77053 * editing/InsertLineBreakCommand.h: 77054 * editing/ReplaceSelectionCommand.cpp: 77055 (WebCore::isMailPasteAsQuotationNode): Change to take in a const Node*. 77056 * editing/htmlediting.cpp: 77057 (WebCore::isContentEditable): Ditto. 77058 (WebCore::isBlock): Ditto. 77059 (WebCore::enclosingNodeOfType): Changed to take a function pointer to a function 77060 that takes in a const Node*. 77061 (WebCore::isTabSpanTextNode): Check to see that the node actually a text node, 77062 and not, say, a br. 77063 * editing/htmlediting.h: 77064 * editing/markup.cpp: 77065 (WebCore::styleFromMatchedRulesAndInlineDecl): Changed to take in a const Node*. 77066 (WebCore::elementHasTextDecorationProperty): Ditto. 77067 77068 2007-10-30 Antti Koivisto <antti (a] apple.com> 77069 77070 Add missing files. 77071 77072 * html/VoidCallback.cpp: Added. 77073 (VoidCallback::VoidCallback): 77074 (VoidCallback::~VoidCallback): 77075 (VoidCallback::handleEvent): 77076 (VoidCallback::execute): 77077 (VoidCallback::operator==): 77078 (WebCore::toVoidCallback): 77079 * html/VoidCallback.h: Added. 77080 * html/VoidCallback.idl: Added. 77081 77082 2007-10-30 David Kilzer <ddkilzer (a] webkit.org> 77083 77084 Generated files missing from WebCore's Xcode project file 77085 <http://bugs.webkit.org/show_bug.cgi?id=15406> 77086 77087 Reviewed by Darin. 77088 77089 Added the following files to the Xcode project file (note that 77090 JSHTMLInputElementBaseTable.cpp is used as a header file): 77091 77092 - DOMCSSStyleSheetPrivate.h 77093 - DOMEventPrivate.h 77094 - DOMHTMLCollectionPrivate.h 77095 - DOMHTMLEmbedElementPrivate.h 77096 - DOMHTMLIFrameElementPrivate.h 77097 - DOMHTMLObjectElementPrivate.h 77098 - DOMHTMLSelectElementPrivate.h 77099 - DOMTextEventInternal.h 77100 - JSHTMLInputElementBaseTable.cpp 77101 77102 * DerivedSources.make: Removed DOMSVGException.h and JSSVGAnimatedPoints.h 77103 since their generated code was not used. 77104 * WebCore.xcodeproj/project.pbxproj: Added missing header files. 77105 77106 2007-10-29 Antti Koivisto <antti (a] apple.com> 77107 77108 Rubber stamped by Adele. 77109 77110 Initial media (<video> and <audio>) support from feature branch and 77111 QTKit based platform implementation. 77112 77113 This will need to be updated to match current draft specification. 77114 77115 * Configurations/WebCore.xcconfig: 77116 * DerivedSources.make: 77117 * WebCore.base.exp: 77118 * WebCore.xcodeproj/project.pbxproj: 77119 * bindings/js/JSEventCustom.cpp: 77120 (WebCore::toJS): 77121 * bindings/js/JSHTMLAudioElementConstructor.cpp: Added. 77122 (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor): 77123 (WebCore::JSHTMLAudioElementConstructor::implementsConstruct): 77124 (WebCore::JSHTMLAudioElementConstructor::construct): 77125 * bindings/js/JSHTMLAudioElementConstructor.h: Added. 77126 * bindings/js/JSHTMLElementWrapperFactory.cpp: 77127 (WebCore::createJSHTMLWrapper): 77128 * bindings/js/kjs_window.cpp: 77129 (KJS::Window::getValueProperty): 77130 * bindings/js/kjs_window.h: 77131 (KJS::Window::): 77132 * bindings/scripts/CodeGeneratorJS.pm: 77133 * dom/Document.cpp: 77134 (WebCore::Document::createEvent): 77135 (WebCore::Document::willSaveToCache): 77136 (WebCore::Document::didRestoreFromCache): 77137 (WebCore::Document::registerForCacheCallbacks): 77138 (WebCore::Document::unregisterForCacheCallbacks): 77139 * dom/Document.h: 77140 * dom/Element.cpp: 77141 (WebCore::Element::setBooleanAttribute): 77142 * dom/Element.h: 77143 (WebCore::Element::willSaveToCache): 77144 * dom/Event.cpp: 77145 (WebCore::Event::isProgressEvent): 77146 * dom/Event.h: 77147 * dom/EventNames.h: 77148 * dom/EventTargetNode.cpp: 77149 (WebCore::EventTargetNode::dispatchProgressEvent): 77150 * dom/EventTargetNode.h: 77151 * dom/ProgressEvent.cpp: Added. 77152 (WebCore::ProgressEvent::ProgressEvent): 77153 (WebCore::ProgressEvent::initProgressEvent): 77154 (WebCore::ProgressEvent::initProgressEventNS): 77155 * dom/ProgressEvent.h: Added. 77156 (WebCore::ProgressEvent::lengthComputable): 77157 (WebCore::ProgressEvent::loaded): 77158 (WebCore::ProgressEvent::total): 77159 (WebCore::ProgressEvent::isProgressEvent): 77160 * dom/ProgressEvent.idl: Added. 77161 * history/CachedPage.cpp: 77162 (WebCore::CachedPage::CachedPage): 77163 * html/HTMLAttributeNames.in: 77164 * html/HTMLAudioElement.cpp: Added. 77165 (WebCore::HTMLAudioElement::HTMLAudioElement): 77166 * html/HTMLAudioElement.h: Added. 77167 (WebCore::HTMLAudioElement::tagPriority): 77168 * html/HTMLAudioElement.idl: Added. 77169 * html/HTMLElement.cpp: 77170 (WebCore::inlineTagList): 77171 * html/HTMLElementFactory.cpp: 77172 (WebCore::audioConstructor): 77173 (WebCore::videoConstructor): 77174 (WebCore::sourceConstructor): 77175 (WebCore::createFunctionMap): 77176 * html/HTMLInputElement.cpp: 77177 (WebCore::HTMLInputElement::~HTMLInputElement): 77178 (WebCore::HTMLInputElement::setInputType): 77179 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): 77180 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument): 77181 * html/HTMLMediaElement.cpp: Added. 77182 (WebCore::HTMLMediaElement::HTMLMediaElement): 77183 (WebCore::HTMLMediaElement::~HTMLMediaElement): 77184 (WebCore::HTMLMediaElement::checkDTD): 77185 (WebCore::HTMLMediaElement::rendererIsNeeded): 77186 (WebCore::HTMLMediaElement::createRenderer): 77187 (WebCore::HTMLMediaElement::insertedIntoDocument): 77188 (WebCore::HTMLMediaElement::removedFromDocument): 77189 (WebCore::HTMLMediaElement::scheduleLoad): 77190 (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): 77191 (WebCore::HTMLMediaElement::dispatchEventAsync): 77192 (WebCore::HTMLMediaElement::loadTimerFired): 77193 (WebCore::HTMLMediaElement::asyncEventTimerFired): 77194 (WebCore::serializeTimeOffset): 77195 (WebCore::parseTimeOffset): 77196 (WebCore::HTMLMediaElement::getTimeOffsetAttribute): 77197 (WebCore::HTMLMediaElement::setTimeOffsetAttribute): 77198 (WebCore::HTMLMediaElement::error): 77199 (WebCore::HTMLMediaElement::src): 77200 (WebCore::HTMLMediaElement::HTMLMediaElement::setSrc): 77201 (WebCore::HTMLMediaElement::currentSrc): 77202 (WebCore::HTMLMediaElement::networkState): 77203 (WebCore::HTMLMediaElement::bufferingRate): 77204 (WebCore::HTMLMediaElement::load): 77205 (WebCore::HTMLMediaElement::movieNetworkStateChanged): 77206 (WebCore::HTMLMediaElement::movieReadyStateChanged): 77207 (WebCore::HTMLMediaElement::setReadyState): 77208 (WebCore::HTMLMediaElement::progressEventTimerFired): 77209 (WebCore::HTMLMediaElement::seek): 77210 (WebCore::HTMLMediaElement::readyState): 77211 (WebCore::HTMLMediaElement::seeking): 77212 (WebCore::HTMLMediaElement::currentTime): 77213 (WebCore::HTMLMediaElement::setCurrentTime): 77214 (WebCore::HTMLMediaElement::duration): 77215 (WebCore::HTMLMediaElement::paused): 77216 (WebCore::HTMLMediaElement::defaultPlaybackRate): 77217 (WebCore::HTMLMediaElement::setDefaultPlaybackRate): 77218 (WebCore::HTMLMediaElement::playbackRate): 77219 (WebCore::HTMLMediaElement::setPlaybackRate): 77220 (WebCore::HTMLMediaElement::ended): 77221 (WebCore::HTMLMediaElement::autoplay): 77222 (WebCore::HTMLMediaElement::setAutoplay): 77223 (WebCore::HTMLMediaElement::play): 77224 (WebCore::HTMLMediaElement::pause): 77225 (WebCore::HTMLMediaElement::loopCount): 77226 (WebCore::HTMLMediaElement::setLoopCount): 77227 (WebCore::HTMLMediaElement::start): 77228 (WebCore::HTMLMediaElement::setStart): 77229 (WebCore::HTMLMediaElement::end): 77230 (WebCore::HTMLMediaElement::setEnd): 77231 (WebCore::HTMLMediaElement::loopStart): 77232 (WebCore::HTMLMediaElement::setLoopStart): 77233 (WebCore::HTMLMediaElement::loopEnd): 77234 (WebCore::HTMLMediaElement::setLoopEnd): 77235 (WebCore::HTMLMediaElement::currentLoop): 77236 (WebCore::HTMLMediaElement::setCurrentLoop): 77237 (WebCore::HTMLMediaElement::controls): 77238 (WebCore::HTMLMediaElement::setControls): 77239 (WebCore::HTMLMediaElement::volume): 77240 (WebCore::HTMLMediaElement::setVolume): 77241 (WebCore::HTMLMediaElement::muted): 77242 (WebCore::HTMLMediaElement::setMuted): 77243 (WebCore::HTMLMediaElement::pickMedia): 77244 (WebCore::HTMLMediaElement::checkIfSeekNeeded): 77245 (WebCore::HTMLMediaElement::movieVolumeChanged): 77246 (WebCore::HTMLMediaElement::movieDidEnd): 77247 (WebCore::HTMLMediaElement::movieCuePointReached): 77248 (WebCore::HTMLMediaElement::addCuePoint): 77249 (WebCore::HTMLMediaElement::removeCuePoint): 77250 (WebCore::HTMLMediaElement::buffered): 77251 (WebCore::HTMLMediaElement::played): 77252 (WebCore::HTMLMediaElement::seekable): 77253 (WebCore::HTMLMediaElement::effectiveStart): 77254 (WebCore::HTMLMediaElement::effectiveEnd): 77255 (WebCore::HTMLMediaElement::effectiveLoopStart): 77256 (WebCore::HTMLMediaElement::effectiveLoopEnd): 77257 (WebCore::HTMLMediaElement::activelyPlaying): 77258 (WebCore::HTMLMediaElement::endedPlayback): 77259 (WebCore::HTMLMediaElement::willSaveToCache): 77260 (WebCore::HTMLMediaElement::didRestoreFromCache): 77261 * html/HTMLMediaElement.h: Added. 77262 (WebCore::HTMLMediaElement::movie): 77263 (WebCore::HTMLMediaElement::isVideo): 77264 (WebCore::HTMLMediaElement::): 77265 (WebCore::HTMLMediaElement::CallbackEntry::CallbackEntry): 77266 * html/HTMLMediaElement.idl: Added. 77267 * html/HTMLSourceElement.cpp: Added. 77268 (WebCore::HTMLSourceElement::HTMLSourceElement): 77269 (WebCore::HTMLSourceElement::~HTMLSourceElement): 77270 (WebCore::HTMLSourceElement::insertedIntoDocument): 77271 (WebCore::HTMLSourceElement::src): 77272 (WebCore::HTMLSourceElement::setSrc): 77273 (WebCore::HTMLSourceElement::media): 77274 (WebCore::HTMLSourceElement::setMedia): 77275 (WebCore::HTMLSourceElement::type): 77276 (WebCore::HTMLSourceElement::setType): 77277 * html/HTMLSourceElement.h: Added. 77278 (WebCore::HTMLSourceElement::endTagRequirement): 77279 (WebCore::HTMLSourceElement::tagPriority): 77280 * html/HTMLSourceElement.idl: Added. 77281 * html/HTMLTagNames.in: 77282 * html/HTMLVideoElement.cpp: Added. 77283 (WebCore::HTMLVideoElement::HTMLVideoElement): 77284 (WebCore::HTMLVideoElement::videoWidth): 77285 (WebCore::HTMLVideoElement::videoHeight): 77286 * html/HTMLVideoElement.h: Added. 77287 (WebCore::HTMLVideoElement::tagPriority): 77288 (WebCore::HTMLVideoElement::isVideo): 77289 * html/HTMLVideoElement.idl: Added. 77290 * html/MediaError.h: Added. 77291 (WebCore::MediaError::): 77292 (WebCore::MediaError::MediaError): 77293 (WebCore::MediaError::code): 77294 * html/MediaError.idl: Added. 77295 * html/TimeRanges.cpp: Added. 77296 (TimeRanges::TimeRanges): 77297 (TimeRanges::start): 77298 (TimeRanges::end): 77299 (TimeRanges::add): 77300 (TimeRanges::contain): 77301 * html/TimeRanges.h: Added. 77302 (WebCore::TimeRanges::TimeRanges): 77303 (WebCore::TimeRanges::length): 77304 (WebCore::TimeRanges::Range::Range): 77305 * html/TimeRanges.idl: Added. 77306 * page/DOMWindow.idl: 77307 * platform/MIMETypeRegistry.cpp: 77308 (WebCore::initialiseSupportedMovieMIMETypes): 77309 (WebCore::initialiseMIMETypeRegistry): 77310 (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType): 77311 (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes): 77312 * platform/MIMETypeRegistry.h: 77313 * platform/graphics/Movie.cpp: Added. 77314 (WebCore::Movie::Movie): 77315 (WebCore::Movie::~Movie): 77316 (WebCore::Movie::load): 77317 (WebCore::Movie::cancelLoad): 77318 (WebCore::Movie::play): 77319 (WebCore::Movie::pause): 77320 (WebCore::Movie::duration): 77321 (WebCore::Movie::currentTime): 77322 (WebCore::Movie::seek): 77323 (WebCore::Movie::paused): 77324 (WebCore::Movie::seeking): 77325 (WebCore::Movie::naturalSize): 77326 (WebCore::Movie::hasVideo): 77327 (WebCore::Movie::networkState): 77328 (WebCore::Movie::readyState): 77329 (WebCore::Movie::volume): 77330 (WebCore::Movie::setVolume): 77331 (WebCore::Movie::rate): 77332 (WebCore::Movie::setRate): 77333 (WebCore::Movie::muted): 77334 (WebCore::Movie::setMuted): 77335 (WebCore::Movie::dataRate): 77336 (WebCore::Movie::setEndTime): 77337 (WebCore::Movie::addCuePoint): 77338 (WebCore::Movie::removeCuePoint): 77339 (WebCore::Movie::clearCuePoints): 77340 (WebCore::Movie::maxTimeBuffered): 77341 (WebCore::Movie::maxTimeSeekable): 77342 (WebCore::Movie::bytesLoaded): 77343 (WebCore::Movie::totalBytesKnown): 77344 (WebCore::Movie::totalBytes): 77345 (WebCore::Movie::setRect): 77346 (WebCore::Movie::visible): 77347 (WebCore::Movie::setVisible): 77348 (WebCore::Movie::paint): 77349 (WebCore::Movie::getSupportedTypes): 77350 (WebCore::Movie::networkStateChanged): 77351 (WebCore::Movie::readyStateChanged): 77352 (WebCore::Movie::volumeChanged): 77353 (WebCore::Movie::didEnd): 77354 (WebCore::Movie::cuePointReached): 77355 * platform/graphics/Movie.h: Added. 77356 (WebCore::MovieClient::~MovieClient): 77357 (WebCore::MovieClient::movieNetworkStateChanged): 77358 (WebCore::MovieClient::movieReadyStateChanged): 77359 (WebCore::MovieClient::movieVolumeChanged): 77360 (WebCore::MovieClient::movieDidEnd): 77361 (WebCore::MovieClient::movieCuePointReached): 77362 (WebCore::Movie::parentWidget): 77363 (WebCore::Movie::setParentWidget): 77364 (WebCore::Movie::rect): 77365 (WebCore::Movie::): 77366 * platform/graphics/mac/MoviePrivateQTKit.h: Added. 77367 * platform/graphics/mac/MoviePrivateQTKit.mm: Added. 77368 (WebCore::MoviePrivate::MoviePrivate): 77369 (WebCore::MoviePrivate::~MoviePrivate): 77370 (WebCore::MoviePrivate::createQTMovie): 77371 (WebCore::MoviePrivate::createQTMovieView): 77372 (WebCore::MoviePrivate::createQTTime): 77373 (WebCore::MoviePrivate::load): 77374 (WebCore::MoviePrivate::play): 77375 (WebCore::MoviePrivate::pause): 77376 (WebCore::MoviePrivate::duration): 77377 (WebCore::MoviePrivate::currentTime): 77378 (WebCore::MoviePrivate::seek): 77379 (WebCore::MoviePrivate::setEndTime): 77380 (WebCore::MoviePrivate::addCuePoint): 77381 (WebCore::MoviePrivate::removeCuePoint): 77382 (WebCore::MoviePrivate::clearCuePoints): 77383 (WebCore::MoviePrivate::startCuePointTimerIfNeeded): 77384 (WebCore::MoviePrivate::cancelSeek): 77385 (WebCore::MoviePrivate::seekTimerFired): 77386 (WebCore::MoviePrivate::cuePointTimerFired): 77387 (WebCore::MoviePrivate::paused): 77388 (WebCore::MoviePrivate::seeking): 77389 (WebCore::MoviePrivate::naturalSize): 77390 (WebCore::MoviePrivate::hasVideo): 77391 (WebCore::MoviePrivate::setVolume): 77392 (WebCore::MoviePrivate::setMuted): 77393 (WebCore::MoviePrivate::setRate): 77394 (WebCore::MoviePrivate::dataRate): 77395 (WebCore::MoviePrivate::networkState): 77396 (WebCore::MoviePrivate::readyState): 77397 (WebCore::MoviePrivate::maxTimeBuffered): 77398 (WebCore::MoviePrivate::maxTimeSeekable): 77399 (WebCore::MoviePrivate::maxTimeLoaded): 77400 (WebCore::MoviePrivate::bytesLoaded): 77401 (WebCore::MoviePrivate::totalBytesKnown): 77402 (WebCore::MoviePrivate::totalBytes): 77403 (WebCore::MoviePrivate::cancelLoad): 77404 (WebCore::MoviePrivate::updateStates): 77405 (WebCore::MoviePrivate::loadStateChanged): 77406 (WebCore::MoviePrivate::rateChanged): 77407 (WebCore::MoviePrivate::sizeChanged): 77408 (WebCore::MoviePrivate::timeChanged): 77409 (WebCore::MoviePrivate::volumeChanged): 77410 (WebCore::MoviePrivate::didEnd): 77411 (WebCore::MoviePrivate::setRect): 77412 (WebCore::MoviePrivate::setVisible): 77413 (WebCore::MoviePrivate::paint): 77414 (WebCore::MoviePrivate::getSupportedTypes): 77415 (-[WebCoreMovieObserver loadStateChanged:]): 77416 (-[WebCoreMovieObserver rateChanged:]): 77417 (-[WebCoreMovieObserver sizeChanged:]): 77418 (-[WebCoreMovieObserver timeChanged:]): 77419 (-[WebCoreMovieObserver volumeChanged:]): 77420 (-[WebCoreMovieObserver didEnd:]): 77421 (-[WebCoreMovieObserver setCallback:WebCore::]): 77422 * platform/mac/WebCoreSystemInterface.h: 77423 * platform/mac/WebCoreSystemInterface.mm: 77424 * rendering/RenderLayer.cpp: 77425 (WebCore::RenderLayer::collectLayers): 77426 * rendering/RenderVideo.cpp: Added. 77427 (WebCore::RenderVideo::RenderVideo): 77428 (WebCore::RenderVideo::~RenderVideo): 77429 (WebCore::RenderVideo::movie): 77430 (WebCore::RenderVideo::videoSizeChanged): 77431 (WebCore::RenderVideo::paint): 77432 (WebCore::RenderVideo::layout): 77433 (WebCore::RenderVideo::updateFromElement): 77434 (WebCore::RenderVideo::updateMovie): 77435 (WebCore::RenderVideo::isWidthSpecified): 77436 (WebCore::RenderVideo::isHeightSpecified): 77437 (WebCore::RenderVideo::calcReplacedWidth): 77438 (WebCore::RenderVideo::calcReplacedHeight): 77439 (WebCore::RenderVideo::calcAspectRatioWidth): 77440 (WebCore::RenderVideo::calcAspectRatioHeight): 77441 (WebCore::RenderVideo::calcPrefWidths): 77442 * rendering/RenderVideo.h: Added. 77443 (WebCore::RenderVideo::renderName): 77444 77445 2007-10-30 Sam Weinig <sam (a] webkit.org> 77446 77447 Reviewed by Adam Roben. 77448 77449 Add Interface and Class UUIDs to the IDLs in preparation of adding 77450 autogeneration of the COM DOM bindings. 77451 77452 * bindings/scripts/IDLParser.pm: Relax parsing rules to allow newlines as whitespace. 77453 * css/CSSCharsetRule.idl: 77454 * css/CSSFontFaceRule.idl: 77455 * css/CSSImportRule.idl: 77456 * css/CSSMediaRule.idl: 77457 * css/CSSPageRule.idl: 77458 * css/CSSPrimitiveValue.idl: 77459 * css/CSSRule.idl: 77460 * css/CSSRuleList.idl: 77461 * css/CSSStyleDeclaration.idl: 77462 * css/CSSStyleRule.idl: 77463 * css/CSSStyleSheet.idl: 77464 * css/CSSUnknownRule.idl: 77465 * css/CSSValue.idl: 77466 * css/CSSValueList.idl: 77467 * css/Counter.idl: 77468 * css/MediaList.idl: 77469 * css/RGBColor.idl: 77470 * css/Rect.idl: 77471 * css/StyleSheet.idl: 77472 * css/StyleSheetList.idl: 77473 * dom/Attr.idl: 77474 * dom/CDATASection.idl: 77475 * dom/CharacterData.idl: 77476 * dom/Comment.idl: 77477 * dom/DOMImplementation.idl: 77478 * dom/Document.idl: 77479 * dom/DocumentFragment.idl: 77480 * dom/DocumentType.idl: 77481 * dom/Element.idl: 77482 * dom/Entity.idl: 77483 * dom/EntityReference.idl: 77484 * dom/Event.idl: 77485 * dom/EventListener.idl: 77486 * dom/EventTarget.idl: 77487 * dom/NamedNodeMap.idl: 77488 * dom/Node.idl: 77489 * dom/NodeList.idl: 77490 * dom/Notation.idl: 77491 * dom/ProcessingInstruction.idl: 77492 * dom/Text.idl: 77493 * html/CanvasGradient.idl: 77494 * html/CanvasPattern.idl: 77495 * html/CanvasRenderingContext2D.idl: 77496 * html/HTMLAnchorElement.idl: 77497 * html/HTMLAppletElement.idl: 77498 * html/HTMLAreaElement.idl: 77499 * html/HTMLBRElement.idl: 77500 * html/HTMLBaseElement.idl: 77501 * html/HTMLBaseFontElement.idl: 77502 * html/HTMLBlockquoteElement.idl: 77503 * html/HTMLBodyElement.idl: 77504 * html/HTMLButtonElement.idl: 77505 * html/HTMLCanvasElement.idl: 77506 * html/HTMLCollection.idl: 77507 * html/HTMLDListElement.idl: 77508 * html/HTMLDirectoryElement.idl: 77509 * html/HTMLDivElement.idl: 77510 * html/HTMLDocument.idl: 77511 * html/HTMLElement.idl: 77512 * html/HTMLEmbedElement.idl: 77513 * html/HTMLFieldSetElement.idl: 77514 * html/HTMLFontElement.idl: 77515 * html/HTMLFormElement.idl: 77516 * html/HTMLFrameElement.idl: 77517 * html/HTMLFrameSetElement.idl: 77518 * html/HTMLHRElement.idl: 77519 * html/HTMLHeadElement.idl: 77520 * html/HTMLHeadingElement.idl: 77521 * html/HTMLHtmlElement.idl: 77522 * html/HTMLIFrameElement.idl: 77523 * html/HTMLImageElement.idl: 77524 * html/HTMLInputElement.idl: 77525 * html/HTMLIsIndexElement.idl: 77526 * html/HTMLLIElement.idl: 77527 * html/HTMLLabelElement.idl: 77528 * html/HTMLLegendElement.idl: 77529 * html/HTMLLinkElement.idl: 77530 * html/HTMLMapElement.idl: 77531 * html/HTMLMarqueeElement.idl: 77532 * html/HTMLMenuElement.idl: 77533 * html/HTMLMetaElement.idl: 77534 * html/HTMLModElement.idl: 77535 * html/HTMLOListElement.idl: 77536 * html/HTMLObjectElement.idl: 77537 * html/HTMLOptGroupElement.idl: 77538 * html/HTMLOptionElement.idl: 77539 * html/HTMLOptionsCollection.idl: 77540 * html/HTMLParagraphElement.idl: 77541 * html/HTMLParamElement.idl: 77542 * html/HTMLPreElement.idl: 77543 * html/HTMLQuoteElement.idl: 77544 * html/HTMLScriptElement.idl: 77545 * html/HTMLSelectElement.idl: 77546 * html/HTMLStyleElement.idl: 77547 * html/HTMLTableCaptionElement.idl: 77548 * html/HTMLTableCellElement.idl: 77549 * html/HTMLTableColElement.idl: 77550 * html/HTMLTableElement.idl: 77551 * html/HTMLTableRowElement.idl: 77552 * html/HTMLTableSectionElement.idl: 77553 * html/HTMLTextAreaElement.idl: 77554 * html/HTMLTitleElement.idl: 77555 * html/HTMLUListElement.idl: 77556 77557 2007-10-30 Adele Peterson <adele (a] apple.com> 77558 77559 RS by Darin. 77560 77561 * page/AnimationController.cpp: (WebCore::blendFunc): Use lround instead of round. 77562 77563 2007-10-29 Timothy Hatcher <timothy (a] apple.com> 77564 77565 Reviewed by John Sullivan. 77566 77567 - Allow showing and closing the inspector programatically. 77568 - Add showConsole() and showTimeline() methods. 77569 77570 * WebCore.base.exp: Add exports for WebKit. 77571 * page/InspectorController.cpp: 77572 (WebCore::callSimpleFunction): Renamed from callClearFunction(). 77573 (WebCore::unloading): Renamed to close(). 77574 (WebCore::InspectorController::InspectorController): 77575 (WebCore::InspectorController::inspect): Moved showing code to show(). 77576 (WebCore::InspectorController::setWindowVisible): Show the timeline or console if needed. 77577 (WebCore::InspectorController::show): Code factored out of inspect(). 77578 (WebCore::InspectorController::showConsole): Call show() and the JS showConsole(). 77579 (WebCore::InspectorController::showTimeline): Call show() and the JS showTimeline(). 77580 (WebCore::InspectorController::close): 77581 (WebCore::InspectorController::clearScriptResources): Call the new callSimpleFunction. 77582 (WebCore::InspectorController::clearDatabaseScriptResources): Ditto. 77583 (WebCore::InspectorController::clearScriptConsoleMessages): Ditto. 77584 (WebCore::InspectorController::clearNetworkTimeline): Ditto. 77585 * page/InspectorController.h: Add and rename methods. 77586 * page/inspector/inspector.js: Add showConsole() and showTimeline(). 77587 77588 2007-10-30 Adele Peterson <adele (a] apple.com> 77589 77590 Reviewed by Sam. 77591 77592 Build fix. 77593 77594 * page/AnimationController.cpp: (WebCore::blendFunc): 77595 77596 2007-10-30 Adele Peterson <adele (a] apple.com> 77597 77598 Reviewed by Darin. 77599 77600 WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577 77601 <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields 77602 77603 Test: manual-tests/password-caps-lock.html 77604 77605 * WebCore.base.exp: Added symbol for capsLockStateMayHaveChanged. 77606 77607 * page/Frame.cpp: (WebCore::Frame::setIsActive): Calls capsLockStateMayHaveChanged. 77608 * page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged): Added. Tells the focused node's renderer that the capsLockStateMayHaveChanged. 77609 * page/EventHandler.h: 77610 77611 * platform/PlatformKeyboardEvent.h: 77612 * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added. 77613 * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added. 77614 77615 * rendering/RenderTextControl.cpp: 77616 (WebCore::RenderTextControl::RenderTextControl): 77617 (WebCore::RenderTextControl::paint): Added. If m_shouldDrawCapsLockIndicator is true, paints the caps lock indicator after the background. 77618 (WebCore::RenderTextControl::forwardEvent): When the control gets and loses focus, update the caps lock state. 77619 (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Added. Updates m_shouldDrawCapsLockIndicator, which is true if the field is a password field, 77620 and the frame is active, and the element is focused, and the caps lock is on. Causes a repaint when m_shouldDrawCapsLockIndicator changes state. 77621 * rendering/RenderTextControl.h: Added m_shouldDrawCapsLockIndicator. 77622 * rendering/RenderObject.h: (WebCore::RenderObject::capsLockStateMayHaveChanged): Added. 77623 77624 * rendering/RenderTheme.h: (WebCore::RenderTheme::paintCapsLockIndicator): Added. 77625 * rendering/RenderThemeMac.h: 77626 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintCapsLockIndicator): Added. Calls wkDrawCapsLockIndicator. 77627 * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintCapsLockIndicator): Added. Calls paintThemePart for the CapsLockPart. 77628 * rendering/RenderThemeSafari.h: 77629 77630 2007-10-30 David Hyatt <hyatt (a] apple.com> 77631 77632 Land support for implicit animation in CSS. 77633 77634 Reviewed by mitz, darin 77635 77636 * css/CSSParser.cpp: 77637 (WebCore::CSSParser::parseTimingFunctionValue): 77638 (WebCore::CSSParser::parseTransitionTimingFunction): 77639 (WebCore::CSSParser::parseTransitionProperty): 77640 * css/CSSStyleSelector.cpp: 77641 (WebCore::CSSStyleSelector::mapTransitionDuration): 77642 (WebCore::CSSStyleSelector::mapTransitionRepeatCount): 77643 (WebCore::CSSStyleSelector::mapTransitionTimingFunction): 77644 (WebCore::CSSStyleSelector::mapTransitionProperty): 77645 * css/CSSTimingFunctionValue.h: 77646 (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue): 77647 (WebCore::CSSTimingFunctionValue::x1): 77648 (WebCore::CSSTimingFunctionValue::y1): 77649 (WebCore::CSSTimingFunctionValue::x2): 77650 (WebCore::CSSTimingFunctionValue::y2): 77651 * dom/Element.cpp: 77652 (WebCore::Element::styleForRenderer): 77653 (WebCore::Element::createRenderer): 77654 * dom/Node.cpp: 77655 (WebCore::Node::createRendererIfNeeded): 77656 (WebCore::Node::setRenderStyle): 77657 * page/AnimationController.cpp: 77658 (WebCore::CurveData::CurveData): 77659 (WebCore::CurveData::sampleCurveX): 77660 (WebCore::CurveData::sampleCurveY): 77661 (WebCore::CurveData::sampleCurveDerivativeX): 77662 (WebCore::CurveData::solveCurveX): 77663 (WebCore::solveEpsilon): 77664 (WebCore::solveCubicBezierFunction): 77665 (WebCore::ImplicitAnimation::finished): 77666 (WebCore::CompositeImplicitAnimation::~CompositeImplicitAnimation): 77667 (WebCore::CompositeImplicitAnimation::hasAnimationForProperty): 77668 (WebCore::ImplicitAnimation::ImplicitAnimation): 77669 (WebCore::ImplicitAnimation::~ImplicitAnimation): 77670 (WebCore::ImplicitAnimation::reset): 77671 (WebCore::ImplicitAnimation::progress): 77672 (WebCore::blendFunc): 77673 (WebCore::ImplicitAnimation::animate): 77674 (WebCore::CompositeImplicitAnimation::animate): 77675 (WebCore::CompositeImplicitAnimation::animating): 77676 (WebCore::CompositeImplicitAnimation::reset): 77677 (WebCore::AnimationControllerPrivate::hasImplicitAnimations): 77678 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): 77679 (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate): 77680 (WebCore::AnimationControllerPrivate::get): 77681 (WebCore::AnimationControllerPrivate::clear): 77682 (WebCore::AnimationControllerPrivate::updateTimer): 77683 (WebCore::AnimationControllerPrivate::timerFired): 77684 (WebCore:::m_data): 77685 (WebCore::AnimationController::~AnimationController): 77686 (WebCore::AnimationController::cancelImplicitAnimations): 77687 (WebCore::AnimationController::updateImplicitAnimations): 77688 (WebCore::AnimationController::suspendAnimations): 77689 (WebCore::AnimationController::resumeAnimations): 77690 * page/AnimationController.h: 77691 * page/Frame.cpp: 77692 (WebCore::FramePrivate::FramePrivate): 77693 * rendering/RenderBox.cpp: 77694 (WebCore::RenderBox::setStyle): 77695 (WebCore::RenderBox::destroy): 77696 * rendering/RenderObject.cpp: 77697 (WebCore::RenderObject::setAnimatableStyle): 77698 (WebCore::RenderObject::destroy): 77699 * rendering/RenderObject.h: 77700 * rendering/RenderStyle.h: 77701 (WebCore::TimingFunction::TimingFunction): 77702 (WebCore::TimingFunction::operator==): 77703 (WebCore::TimingFunction::x1): 77704 (WebCore::TimingFunction::y1): 77705 (WebCore::TimingFunction::x2): 77706 (WebCore::TimingFunction::y2): 77707 (WebCore::TimingFunction::type): 77708 (WebCore::Transition::transitionProperty): 77709 (WebCore::Transition::setTransitionProperty): 77710 (WebCore::RenderStyle::initialTransitionProperty): 77711 * rendering/RenderWidget.cpp: 77712 (WebCore::RenderWidget::destroy): 77713 77714 2007-10-29 Beth Dakin <bdakin (a] apple.com> 77715 77716 Reviewed by Hyatt. 77717 77718 Fix for <rdar://problem/5399614> anchor tag is not rendered without 77719 text content, works in Firefox with CSS background-image (13237) 77720 77721 This patch allows empty inlines that have box decorations or width 77722 from border/padding/margin to have line boxes. 77723 77724 * rendering/bidi.cpp: 77725 (WebCore::inlineFlowAllowsLineBox): Convenience function that 77726 defines when we allow an inline flow to have a line box. 77727 (WebCore::requiresLineBox): Call inlineFlowAllowsLineBox. 77728 (WebCore::shouldSkipWhitespaceAfterStartObject): New function to 77729 merge some shared code between list markers and empty inline flows 77730 that fall at the beginning of a line. 77731 (WebCore::RenderBlock::findNextLineBreak): Make flows more like 77732 list markers. 77733 77734 One interesting side effect of this bug appeared in our xhtml/svg 77735 tests that generate parser error tags. The tag we generate was 77736 actually an empty inline with box decorations. This patch causes 77737 those inlines to draw now, and the parser errors looked strange. So 77738 I changed it so that the parsererror tag is display:block. This 77739 matches Firefox, and I think was the original intent of the tag 77740 since that causes its red background and border to show up. 77741 * dom/XMLTokenizer.cpp: 77742 (WebCore::createXHTMLParserErrorHeader): 77743 77744 2007-10-29 Dan Bernstein <mitz (a] apple.com> 77745 77746 Reviewed by Dave Hyatt. 77747 77748 - fix crashing tests fast/frames/inline-object-inside-frameset.html and 77749 fast/forms/form-hides-table.html 77750 77751 * rendering/RenderBox.cpp: 77752 (WebCore::RenderBox::destroy): 77753 * rendering/RenderWidget.cpp: 77754 (WebCore::RenderWidget::destroy): 77755 77756 2007-10-29 Dan Bernstein <mitz (a] apple.com> 77757 77758 Reviewed by Adam Roben. 77759 77760 - fix http://bugs.webkit.org/show_bug.cgi?id=15750 77761 REGRESSION(r27173): Web Inspector freezes beneath Image::drawPattern() 77762 77763 Test: fast/backgrounds/size/zero.html 77764 77765 * platform/graphics/cg/ImageCG.cpp: 77766 (WebCore::Image::drawPattern): Added an ASSERT and an early return 77767 to guard against singular pattern transforms. 77768 * rendering/RenderBox.cpp: 77769 (WebCore::cacluateBackgroundSize): Changed to ensure a minimum tile 77770 size of 1x1. 77771 77772 2007-10-29 Alp Toker <alp (a] atoker.com> 77773 77774 Reviewed by Maciej. 77775 77776 Add GTK+ convenience conversions for various primitives 77777 77778 * WebCore.pro: 77779 * platform/graphics/Color.h: 77780 * platform/graphics/IntPoint.h: 77781 * platform/graphics/IntRect.h: 77782 * platform/graphics/gtk/ColorGtk.cpp: Added. 77783 (WebCore::Color::Color): 77784 * platform/graphics/gtk/IntPointGtk.cpp: Added. 77785 (WebCore::IntPoint::IntPoint): 77786 (WebCore::IntPoint::operator GdkPoint): 77787 * platform/graphics/gtk/IntRectGtk.cpp: Added. 77788 (WebCore::IntRect::IntRect): 77789 (WebCore::IntRect::operator GdkRectangle): 77790 77791 2007-10-29 Jon Honeycutt <jhoneycutt (a] apple.com> 77792 77793 Reviewed by Anders. 77794 77795 Speculative fix for <rdar://5538489> Safari 3.0.4 seed hangs at 77796 http://tgmonline.futuregamer.it/ (works fine on Safari 2.0.4 and Safari 77797 Beta for Mac) 77798 77799 I cannot reproduce this hang, but it is likely due to our not limiting 77800 WM_USER+1 messages or InvalidateRect calls for a plugin with initially- 77801 unknown MIME type. The embed tag on the page is missing a type 77802 attribute, so as fallback, we choose to load the Flash plugin based on 77803 the file extension of "swf." However, we do not record this determined 77804 MIME type, and so our quirks cannot be established. 77805 77806 Changed findPlugin() so that, if it fails to find a plugin for the 77807 given MIME type, it will lookup the MIME type for the file extension - 77808 overwriting its passed MIME type parameter - and search for a plugin 77809 for that MIME type. 77810 77811 * plugins/win/PluginDatabaseWin.cpp: 77812 (WebCore::PluginDatabaseWin::pluginForMIMEType): Added an early return 77813 if the MIME type is empty 77814 (WebCore::PluginDatabaseWin::MIMETypeForExtension): Added to replace 77815 pluginForExtension. Returns a String with the MIME type for the file 77816 extension. Also, changed to use case-insensitive compares 77817 (WebCore::PluginDatabaseWin::findPlugin): If we fail to find a plugin 77818 for the given extension, overwrite the incoming MIME type parameter 77819 with the MIME type for the file extension, and search for a plugin for 77820 that MIME type. Also, changed the way that the extension is determined 77821 (WebCore::PluginDatabaseWin::createPluginView): Pass a mutable String 77822 to findPlugin() so that it can be updated if necessary 77823 * plugins/win/PluginDatabaseWin.h: Changed findPlugin() to take a non- 77824 const String, removed definition of pluginForExtension, added 77825 definition for MIMETypeForExtension 77826 * plugins/win/PluginPackageWin.cpp: 77827 (WebCore::PluginPackageWin::fetchInfo): Store the MIME type in 77828 lowercase for easier compares 77829 77830 2007-10-29 Andrew Wellington <proton (a] wiretapped.net> 77831 77832 Not reviewed - build fix 77833 77834 Fix Mac Build. 77835 77836 WebKit/WebCore/xml/XSLTProcessor.cpp:79: warning: 'level' may be used uninitialized 77837 in this function 77838 77839 * xml/XSLTProcessor.cpp: 77840 (WebCore::XSLTProcessor::parseErrorFunc): 77841 77842 2007-10-29 Alp Toker <alp (a] atoker.com> 77843 77844 Reviewed by Adam Roben. 77845 77846 http://bugs.webkit.org/show_bug.cgi?id=15725 77847 [GTK] WebCore.pro header dependencies are incorrect 77848 77849 Fix header dependencies in the build system 77850 77851 INCLUDEPATH and DEPENDPATH are now up to date. 77852 77853 * WebCore.pro: 77854 77855 2007-10-29 Beth Dakin <bdakin (a] apple.com> 77856 77857 Build fix. 77858 77859 * css/CSSParser.cpp: 77860 (WebCore::CSSParser::parseTimingFunctionValue): 77861 * css/CSSStyleSelector.cpp: 77862 (WebCore::CSSStyleSelector::mapTransitionTimingFunction): 77863 77864 2007-10-29 David Hyatt <hyatt (a] apple.com> 77865 77866 Land the back end for CSS animated property transitions. I am landing this in stages, so the AnimationController 77867 class is deliberately left empty. 77868 77869 Reviewed by darin/aroben 77870 77871 * WebCore.pro: 77872 * WebCore.vcproj/WebCore.vcproj: 77873 * WebCore.xcodeproj/project.pbxproj: 77874 * css/CSSComputedStyleDeclaration.cpp: 77875 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 77876 * css/CSSPropertyNames.in: 77877 * css/CSSTimingFunctionValue.cpp: Added. 77878 (WebCore::CSSTimingFunctionValue::cssText): 77879 * css/CSSTimingFunctionValue.h: Added. 77880 (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue): 77881 (WebCore::CSSTimingFunctionValue::firstPoint): 77882 (WebCore::CSSTimingFunctionValue::secondPoint): 77883 * css/CSSValueKeywords.in: 77884 * history/CachedPage.cpp: 77885 (WebCore::CachedPage::restore): 77886 * page/AnimationController.cpp: Added. 77887 (WebCore::AnimationController::AnimationController): 77888 (WebCore::AnimationController::~AnimationController): 77889 (WebCore::AnimationController::cancelTransitions): 77890 (WebCore::AnimationController::updateTransitions): 77891 (WebCore::AnimationController::suspendAnimations): 77892 (WebCore::AnimationController::resumeAnimations): 77893 * page/AnimationController.h: Added. 77894 * page/Frame.cpp: 77895 (WebCore::Frame::animationController): 77896 (WebCore::Frame::clearTimers): 77897 * page/Frame.h: 77898 * page/FramePrivate.h: 77899 * rendering/RenderBox.cpp: 77900 (WebCore::RenderBox::setStyle): 77901 (WebCore::RenderBox::destroy): 77902 * rendering/RenderObject.cpp: 77903 (WebCore::RenderObject::animationController): 77904 * rendering/RenderObject.h: 77905 * rendering/RenderStyle.cpp: 77906 (WebCore::Transition::Transition): 77907 (WebCore::Transition::~Transition): 77908 (WebCore::Transition::operator=): 77909 (WebCore::Transition::operator==): 77910 (WebCore::Transition::fillUnsetProperties): 77911 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 77912 (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData): 77913 (WebCore::StyleRareNonInheritedData::operator==): 77914 (WebCore::StyleRareNonInheritedData::transitionDataEquivalent): 77915 (WebCore::RenderStyle::diff): 77916 (WebCore::RenderStyle::adjustTransitions): 77917 (WebCore::RenderStyle::accessTransitions): 77918 * rendering/RenderStyle.h: 77919 (WebCore::BackgroundLayer::next): 77920 (WebCore::TimingFunction::TimingFunction): 77921 (WebCore::TimingFunction::operator==): 77922 (WebCore::Transition::next): 77923 (WebCore::Transition::isTransitionDurationSet): 77924 (WebCore::Transition::isTransitionRepeatCountSet): 77925 (WebCore::Transition::isTransitionTimingFunctionSet): 77926 (WebCore::Transition::isTransitionPropertySet): 77927 (WebCore::Transition::isEmpty): 77928 (WebCore::Transition::clearTransitionDuration): 77929 (WebCore::Transition::clearTransitionRepeatCount): 77930 (WebCore::Transition::clearTransitionTimingFunction): 77931 (WebCore::Transition::clearTransitionProperty): 77932 (WebCore::Transition::transitionDuration): 77933 (WebCore::Transition::transitionRepeatCount): 77934 (WebCore::Transition::transitionTimingFunction): 77935 (WebCore::Transition::transitionProperty): 77936 (WebCore::Transition::setTransitionDuration): 77937 (WebCore::Transition::setTransitionRepeatCount): 77938 (WebCore::Transition::setTransitionTimingFunction): 77939 (WebCore::Transition::setTransitionProperty): 77940 (WebCore::Transition::setNext): 77941 (WebCore::Transition::operator!=): 77942 (WebCore::RenderStyle::transitions): 77943 (WebCore::RenderStyle::clearTransitions): 77944 (WebCore::RenderStyle::inheritTransitions): 77945 (WebCore::RenderStyle::initialTransitionDuration): 77946 (WebCore::RenderStyle::initialTransitionRepeatCount): 77947 (WebCore::RenderStyle::initialTransitionTimingFunction): 77948 (WebCore::RenderStyle::initialTransitionProperty): 77949 * rendering/RenderWidget.cpp: 77950 (WebCore::RenderWidget::destroy): 77951 77952 2007-10-29 Alexey Proskuryakov <ap (a] webkit.org> 77953 77954 Reviewed by Darin. 77955 77956 http://bugs.webkit.org/show_bug.cgi?id=6040 77957 XSLT does not report errors to the user 77958 77959 Made parseErrorFunc a static member function of XSLTProcessor to be reusable from XSLStylesheet. 77960 Switched to xmlSetStructuredErrorFunc to get an error structure instead of pre-formatted console 77961 output. Got rid of DeprecatedString in XSLTProcessor. 77962 77963 * dom/Document.cpp: 77964 (WebCore::Document::applyXSLTransform): 77965 * xml/XSLStyleSheet.cpp: 77966 (WebCore::XSLStyleSheet::parseString): 77967 * xml/XSLTProcessor.cpp: 77968 (WebCore::XSLTProcessor::parseErrorFunc): 77969 (WebCore::docLoaderFunc): 77970 (WebCore::setXSLTLoadCallBack): 77971 (WebCore::writeToString): 77972 (WebCore::saveResultToString): 77973 (WebCore::transformTextStringToXHTMLDocumentString): 77974 (WebCore::xsltParamArrayFromParameterMap): 77975 (WebCore::freeXsltParamArray): 77976 (WebCore::XSLTProcessor::createDocumentFromSource): 77977 (WebCore::createFragmentFromSource): 77978 (WebCore::xsltStylesheetPointer): 77979 (WebCore::xmlDocPtrFromNode): 77980 (WebCore::resultMIMEType): 77981 (WebCore::XSLTProcessor::transformToString): 77982 (WebCore::XSLTProcessor::transformToDocument): 77983 (WebCore::XSLTProcessor::transformToFragment): 77984 * xml/XSLTProcessor.h: 77985 (WebCore::XSLTProcessor::setXSLStylesheet): 77986 (WebCore::XSLTProcessor::importStylesheet): 77987 (WebCore::XSLTProcessor::xslStylesheet): 77988 77989 2007-10-29 Dan Bernstein <mitz (a] apple.com> 77990 77991 Reviewed by John Sullivan. 77992 77993 - fix <rdar://problem/5424455> REGRESSION (r21168-r21193, Tiger only): Safari scrollbar is clipped at top when loading particular RSS page 77994 77995 Test: fast/repaint/layout-state-only-positioned.html 77996 77997 * rendering/RenderBlock.cpp: 77998 (WebCore::RenderBlock::layoutOnlyPositionedObjects): Pop layout state 77999 before updating scroll info, which possibly repaints us. 78000 78001 2007-10-29 David Kilzer <ddkilzer (a] webkit.org> 78002 78003 REGRESSION (r17701): Favicons should be viewable as image documents 78004 <http://bugs.webkit.org/show_bug.cgi?id=15640> 78005 78006 Reviewed by Darin. 78007 78008 On Tiger and Leopard, the image/x-icon MIME type is not returned from 78009 CGImageSourceCopyTypeIdentifiers(), so opening a URL to a favicon caused 78010 the icon to be downloaded instead being displayed in an image document. 78011 78012 Test: fast/images/favicon-as-image.html 78013 78014 * platform/MIMETypeRegistry.cpp: 78015 (WebCore::initialiseSupportedImageMIMETypes): Manually add image/x-icon to 78016 supportedImageMIMETypes and supportedImageResourceMIMETypes. Also fixed 78017 comment about the image/bmp MIME type since it applies to both Tiger and 78018 Leopard. 78019 78020 2007-10-29 Maciej Stachowiak <mjs (a] apple.com> 78021 78022 Reviewed by Mark. 78023 78024 - fixed assertion failures detected by the new assertions 78025 78026 * bindings/objc/DOMRGBColor.mm: 78027 (-[DOMRGBColor dealloc]): Clear _internal before calling [super dealloc] 78028 because it's not a pointer and shouldn't be in the normal wrapper cache. 78029 * dom/Document.cpp: 78030 (WebCore::Document::addImageMap): Don't access hashmap if name is null. 78031 (WebCore::Document::removeImageMap): ditto 78032 * dom/StyledElement.cpp: 78033 (WebCore::StyledElement::parseMappedAttribute): Don't claim we have a class 78034 when the class attribute is empty. 78035 * platform/TextCodecICU.cpp: 78036 (WebCore::gbkCallbackEscape): Don't look up 0 code points. 78037 78038 2007-10-28 Alexey Proskuryakov <ap (a] webkit.org> 78039 78040 Reviewed by Darin. 78041 78042 http://bugs.webkit.org/show_bug.cgi?id=10734 78043 Made HTMLOptionElement.index read-only, matching IE and DOM standard. 78044 78045 Test: fast/dom/HTMLOptionElement/set-option-index-text.html 78046 78047 * html/HTMLOptionElement.idl: Marked index as readonly. 78048 78049 * html/HTMLOptionElement.cpp: 78050 * html/HTMLOptionElement.h: 78051 Removed setIndex(). 78052 78053 2007-10-28 Eric Seidel <eric (a] webkit.org> 78054 78055 Reviewed by darin. 78056 78057 Fix leaks on TOT and prevent Path code from logging to console so frequently 78058 78059 * platform/graphics/svg/SVGResourceFilter.h: 78060 (WebCore::SVGResourceFilterPlatformData::SVGResourceFilterPlatformData): 78061 (WebCore::SVGResourceFilterPlatformData::~SVGResourceFilterPlatformData): 78062 * platform/graphics/svg/cg/CgSupport.cpp: 78063 (WebCore::strokeBoundingBox): 78064 * platform/graphics/svg/cg/SVGResourceFilterCg.mm: 78065 * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: 78066 78067 2007-10-28 Mark Rowe <mrowe (a] apple.com> 78068 78069 Reviewed by Maciej. 78070 78071 Replace uses of isNaN and isInf with isnan and isinf. 78072 78073 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 78074 (WebCore::JSHTMLOptionsCollection::setLength): 78075 78076 2007-10-28 Maciej Stachowiak <mjs (a] apple.com> 78077 78078 Reviewed by Mark. 78079 78080 - fixed REGRESSION(r27176): Reproducible crash while trying to order dinner makes bdash sad 78081 http://bugs.webkit.org/show_bug.cgi?id=15731 78082 78083 * bindings/js/kjs_window.cpp: 78084 (KJS::Window::installTimeout): Avoid putting in or accessing empty or deleted keys. 78085 (KJS::Window::clearTimeout): ditto 78086 * manual-tests/bad-clearTimeout-crash.html: Added. Automated test not possible. 78087 78088 2007-10-28 Kevin Ollivier <kevino (a] theolliviers.com> 78089 78090 wx port defines for graphics and network layers. 78091 78092 Reviewed by Darin Adler. 78093 78094 * platform/graphics/AffineTransform.h: 78095 * platform/graphics/BitmapImage.h: 78096 * platform/graphics/Color.h: 78097 * platform/graphics/FloatRect.h: 78098 * platform/graphics/GraphicsContext.h: 78099 * platform/graphics/ImageSource.h: 78100 * platform/graphics/IntPoint.h: 78101 * platform/graphics/IntRect.h: 78102 * platform/graphics/Path.h: 78103 * platform/graphics/Pen.h: 78104 * platform/network/ResourceHandle.h: 78105 78106 78107 2007-10-28 Alp Toker <alp (a] atoker.com> 78108 78109 Reviewed by Anders Carlsson. 78110 78111 http://bugs.webkit.org/show_bug.cgi?id=14124 78112 [CURL] Support data URLs 78113 78114 Add data URL support (both Base64 and percent-encoded formats). 78115 78116 Inspired by code from the Qt port. 78117 78118 * platform/Base64.cpp: 78119 (WebCore::base64Decode): 78120 * platform/Base64.h: 78121 * platform/network/curl/ResourceHandleManager.cpp: 78122 (WebCore::ResourceHandleManager::startScheduledJobs): 78123 (WebCore::parseDataUrl): 78124 78125 2007-10-28 Alp Toker <alp (a] atoker.com> 78126 78127 Reviewed by Adam Roben. 78128 78129 http://bugs.webkit.org/show_bug.cgi?id=15701 78130 The curl http backend does not deal properly with redirects 78131 78132 Implement http redirect support. 78133 78134 * platform/network/curl/ResourceHandleManager.cpp: 78135 (WebCore::headerCallback): 78136 78137 2007-10-28 Kevin Ollivier <kevino (a] theolliviers.com> 78138 78139 Define types and accessors needed for wx implementation 78140 of platform classes. Also, turn off DisallowCTypes.h because 78141 disallowed methods appear in wx headers. 78142 78143 Reviewed by Adam Roben. 78144 78145 * config.h: 78146 * platform/ContextMenuItem.h: 78147 * platform/Cursor.h: 78148 * platform/DeprecatedString.h: 78149 * platform/DragData.h: 78150 * platform/DragImage.h: 78151 * platform/FontData.h: 78152 (WebCore::FontData::getWxFont): 78153 * platform/GlyphBuffer.h: 78154 (WebCore::GlyphBuffer::glyphAt): 78155 (WebCore::GlyphBuffer::advanceAt): 78156 (WebCore::GlyphBuffer::add): 78157 * platform/PlatformKeyboardEvent.h: 78158 (WebCore::PlatformKeyboardEvent::isWxCharEvent): 78159 * platform/PlatformMenuDescription.h: 78160 * platform/PlatformMouseEvent.h: 78161 * platform/PlatformString.h: 78162 * platform/PlatformWheelEvent.h: 78163 * platform/ScrollView.h: 78164 * platform/Widget.h: 78165 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 78166 * platform/image-decoders/gif/GIFImageDecoder.cpp: 78167 * platform/image-decoders/gif/GIFImageReader.cpp: 78168 * platform/image-decoders/ico/ICOImageDecoder.cpp: 78169 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 78170 * platform/image-decoders/png/PNGImageDecoder.cpp: 78171 * platform/image-decoders/xbm/XBMImageDecoder.cpp: 78172 78173 2007-10-28 Mark Rowe <mrowe (a] apple.com> 78174 78175 We don't include "config.h" in headers. 78176 78177 * dom/XMLTokenizer.h: 78178 * platform/graphics/svg/SVGResourceFilter.h: 78179 * platform/image-decoders/ImageDecoder.h: 78180 * platform/wx/FontPlatformData.h: 78181 78182 2007-10-28 Darin Adler <darin (a] apple.com> 78183 78184 * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: 78185 We don't include "config.h" in headers. Hope this desn't break 78186 the non-SVG build again. 78187 78188 2007-10-28 Eric Seidel <eric (a] webkit.org> 78189 78190 Build fix for non-SVG build, no review. 78191 78192 * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: 78193 * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: 78194 78195 2007-10-28 Eric Seidel <eric (a] webkit.org> 78196 78197 Reviewed by Oliver. 78198 78199 Push SVGResourceFilter platform specific data down into m_platformData 78200 in preparation for implementing a non-mac filter solution. 78201 78202 Also update a very old email address in copyright headers 78203 78204 * WebCore.xcodeproj/project.pbxproj: 78205 * platform/graphics/FloatPoint3D.cpp: 78206 (WebCore::FloatPoint3D::FloatPoint3D): 78207 * platform/graphics/FloatPoint3D.h: 78208 * platform/graphics/svg/SVGResourceFilter.cpp: 78209 (WebCore::SVGResourceFilter::SVGResourceFilter): 78210 * platform/graphics/svg/SVGResourceFilter.h: 78211 (WebCore::SVGResourceFilter::platformData): 78212 (WebCore::SVGResourceFilter::effects): 78213 * platform/graphics/svg/cg/SVGResourceFilterCg.mm: 78214 (WebCore::SVGResourceFilter::createPlatformData):l 78215 (WebCore::SVGResourceFilter::prepareFilter): 78216 (WebCore::SVGResourceFilter::applyFilter): 78217 * platform/graphics/svg/filters/SVGDistantLightSource.h: 78218 * platform/graphics/svg/filters/SVGFEBlend.cpp: 78219 * platform/graphics/svg/filters/SVGFEBlend.h: 78220 * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: 78221 * platform/graphics/svg/filters/SVGFEColorMatrix.h: 78222 * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: 78223 * platform/graphics/svg/filters/SVGFEComponentTransfer.h: 78224 * platform/graphics/svg/filters/SVGFEComposite.cpp: 78225 * platform/graphics/svg/filters/SVGFEComposite.h: 78226 * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: 78227 * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: 78228 * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: 78229 * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: 78230 * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: 78231 * platform/graphics/svg/filters/SVGFEDisplacementMap.h: 78232 * platform/graphics/svg/filters/SVGFEFlood.cpp: 78233 * platform/graphics/svg/filters/SVGFEFlood.h: 78234 * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: 78235 * platform/graphics/svg/filters/SVGFEGaussianBlur.h: 78236 * platform/graphics/svg/filters/SVGFEImage.cpp: 78237 * platform/graphics/svg/filters/SVGFEImage.h: 78238 * platform/graphics/svg/filters/SVGFEMerge.cpp: 78239 * platform/graphics/svg/filters/SVGFEMerge.h: 78240 * platform/graphics/svg/filters/SVGFEMorphology.cpp: 78241 * platform/graphics/svg/filters/SVGFEMorphology.h: 78242 * platform/graphics/svg/filters/SVGFEOffset.cpp: 78243 * platform/graphics/svg/filters/SVGFEOffset.h: 78244 * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: 78245 * platform/graphics/svg/filters/SVGFESpecularLighting.h: 78246 * platform/graphics/svg/filters/SVGFETile.h: 78247 * platform/graphics/svg/filters/SVGFETurbulence.cpp: 78248 * platform/graphics/svg/filters/SVGFETurbulence.h: 78249 * platform/graphics/svg/filters/SVGFilterEffect.cpp: 78250 * platform/graphics/svg/filters/SVGFilterEffect.h: 78251 * platform/graphics/svg/filters/SVGLightSource.cpp: 78252 * platform/graphics/svg/filters/SVGLightSource.h: 78253 * platform/graphics/svg/filters/SVGPointLightSource.h: 78254 * platform/graphics/svg/filters/SVGSpotLightSource.h: 78255 * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: 78256 (WebCore::SVGFEBlend::getCIFilter): 78257 * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: 78258 (WebCore::SVGFEColorMatrix::getCIFilter): 78259 * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: 78260 (WebCore::SVGFEComponentTransfer::getCIFilter): 78261 * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: 78262 (WebCore::SVGFEComposite::getCIFilter): 78263 * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: 78264 (WebCore::SVGFEDiffuseLighting::getCIFilter): 78265 * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: 78266 (WebCore::SVGFEDisplacementMap::getCIFilter): 78267 * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: 78268 (WebCore::SVGFEFlood::getCIFilter): 78269 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: 78270 * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: 78271 (WebCore::SVGFEImage::getCIFilter): 78272 * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: 78273 (WebCore::SVGFEMerge::getCIFilter): 78274 * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: 78275 (WebCore::SVGFESpecularLighting::getCIFilter): 78276 * platform/graphics/svg/mac: Added. 78277 * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Added. 78278 * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Added. 78279 (WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac): 78280 (WebCore::SVGResourceFilterPlatformDataMac::~SVGResourceFilterPlatformDataMac): 78281 (WebCore::SVGResourceFilterPlatformDataMac::getCIFilterStack): 78282 (WebCore::alphaImageForImage): 78283 (WebCore::SVGResourceFilterPlatformDataMac::imageForName): 78284 (WebCore::SVGResourceFilterPlatformDataMac::setImageForName): 78285 (WebCore::SVGResourceFilterPlatformDataMac::setOutputImage): 78286 (WebCore::SVGResourceFilterPlatformDataMac::inputImage): 78287 78288 2007-10-28 Alexey Proskuryakov <ap (a] webkit.org> 78289 78290 Reviewed by Adam Roben. 78291 78292 http://bugs.webkit.org/show_bug.cgi?id=15217 78293 Plugin complains that xpcom_core.dll missing 78294 78295 * plugins/win/PluginDatabaseWin.cpp: 78296 (WebCore::PluginDatabaseWin::isPluginBlacklisted): Blacklist npmozax.dll. 78297 78298 2007-10-28 Timothy Hatcher <timothy (a] apple.com> 78299 78300 Reviewed by Adam. 78301 78302 Pass the Document's domain to InspectorController:didOpenDatabase. This matches 78303 what the Inspector shows for other resources. 78304 78305 * storage/Database.cpp: 78306 (WebCore::Database::openDatabase): 78307 78308 * dom/Document.h: Remove KURL.h, no longer needed. 78309 78310 2007-10-28 Timothy Hatcher <timothy (a] apple.com> 78311 78312 Reviewed by Adam. 78313 78314 Bug 15728: Selected Resource background image gradient has banding 78315 http://bugs.webkit.org/show_bug.cgi?id=15728 78316 78317 - Reduced images to 1px wide that are tiled horizontally in CSS. 78318 - Corrected the -webkit-background-size usage to specify auto for the width. 78319 78320 * page/inspector/Images/attachedShadow.png: 78321 * page/inspector/Images/bottomShadow.png: 78322 * page/inspector/Images/darkShadow.png: 78323 * page/inspector/Images/gradient.png: 78324 * page/inspector/Images/gradientHighlight.png: 78325 * page/inspector/Images/gradientHighlightBottom.png: 78326 * page/inspector/Images/sidebarSelection.png: 78327 * page/inspector/Images/sidebarSelectionBlurred.png: 78328 * page/inspector/Images/sidebarSelectionBlurredTall.png: 78329 * page/inspector/Images/sidebarSelectionGray.png: 78330 * page/inspector/Images/sidebarSelectionGrayTall.png: 78331 * page/inspector/Images/sidebarSelectionTall.png: 78332 * page/inspector/inspector.css: 78333 78334 2007-10-27 Timothy Hatcher <timothy (a] apple.com> 78335 78336 Reviewed by Adam. 78337 78338 Bug 15727: Resizing the resource sidebar doesn't scale the font preview or network timeline 78339 http://bugs.webkit.org/show_bug.cgi?id=15727 78340 78341 Add one window resize listener and call the new resize function on the currentPanel. 78342 Also call the currentPanel's resize function when resizing the sidebar. 78343 78344 * page/inspector/DocumentPanel.js: Implement resize and call updateTreeSelection() when 78345 the panel is shown and when resizing the DOM sidebar. 78346 * page/inspector/FontPanel.js: Implement resize. 78347 * page/inspector/NetworkPanel.js: Ditto. 78348 * page/inspector/inspector.js: Add a window resize listener. 78349 78350 2007-10-27 Maciej Stachowiak <mjs (a] apple.com> 78351 78352 Reviewed by Oliver. 78353 78354 - update for HashTable changes 78355 78356 * bindings/js/JSSVGPODTypeWrapper.h: 78357 * dom/Document.h: 78358 * dom/QualifiedName.cpp: 78359 * dom/StyledElement.cpp: 78360 * ksvg2/svg/SVGAnimatedTemplate.h: 78361 * platform/FontCache.cpp: 78362 * platform/StringHash.h: 78363 (WTF::): 78364 * platform/TextEncodingRegistry.cpp: 78365 * platform/graphics/IntSizeHash.h: 78366 (WTF::): 78367 * plugins/win/PluginPackageWin.h: 78368 78369 2007-10-28 Alp Toker <alp (a] atoker.com> 78370 78371 Reviewed by Adam Roben. 78372 78373 http://bugs.webkit.org/show_bug.cgi?id=15646 78374 [GTK] caretBlinkFrequency is hard-coded in Frame.cpp 78375 78376 Abstract caretBlinkFrequency to RenderTheme. 78377 78378 * page/Frame.cpp: 78379 (WebCore::Frame::selectionLayoutChanged): 78380 * platform/gtk/RenderThemeGtk.cpp: 78381 (WebCore::RenderThemeGtk::caretShouldBlink): 78382 (WebCore::RenderThemeGtk::caretBlinkFrequency): 78383 * platform/gtk/RenderThemeGtk.h: 78384 * rendering/RenderTheme.h: 78385 78386 2007-10-27 Timothy Hatcher <timothy (a] apple.com> 78387 78388 Reviewed by Adam. 78389 78390 Don't print the line number in the Inspector Console if it is Zero. 78391 78392 * page/inspector/ConsolePanel.js: 78393 78394 2007-10-27 Sam Weinig <sam (a] webkit.org> 78395 78396 Reviewed by Adam Roben. 78397 78398 Fix http://bugs.webkit.org/show_bug.cgi?id=14953 78399 Implement window.console in WebCore 78400 78401 - Adds a window.console object that has 4 methods (log, info, warn, and error) 78402 that send messages to the Chrome. This moves functionality that was in the 78403 app down into WebCore. 78404 78405 * DerivedSources.make: 78406 * WebCore.pro: 78407 * WebCore.vcproj/WebCore.vcproj: 78408 * WebCore.xcodeproj/project.pbxproj: 78409 * bindings/scripts/CodeGeneratorJS.pm: Add extended attribute 78410 to mark attributes as [Replacable] which indicates they can 78411 overridden when set. 78412 * page/Chrome.cpp: 78413 (WebCore::Chrome::addMessageToConsole): Allow all messages to go 78414 up to the ChromeClient. 78415 * page/Console.cpp: Added. 78416 (WebCore::Console::Console): 78417 (WebCore::Console::disconnectFrame): 78418 (WebCore::Console::error): 78419 (WebCore::Console::info): 78420 (WebCore::Console::log): 78421 (WebCore::Console::warn): 78422 * page/Console.h: Added. 78423 * page/Console.idl: Added. 78424 * page/DOMWindow.cpp: 78425 (WebCore::DOMWindow::clear): 78426 (WebCore::DOMWindow::console): 78427 * page/DOMWindow.h: 78428 * page/DOMWindow.idl: 78429 78430 2007-10-27 Eric Seidel <eric (a] webkit.org> 78431 78432 Reviewed by aroben. 78433 78434 Remove legacy createFilterEffect function (causing extra filter tests to fail on windows) 78435 78436 No functional changes, thus no tests. 78437 78438 * ksvg2/svg/SVGFEBlendElement.cpp: 78439 (WebCore::SVGFEBlendElement::filterEffect): 78440 * ksvg2/svg/SVGFEColorMatrixElement.cpp: 78441 (WebCore::SVGFEColorMatrixElement::filterEffect): 78442 * ksvg2/svg/SVGFEComponentTransferElement.cpp: 78443 (WebCore::SVGFEComponentTransferElement::filterEffect): 78444 * ksvg2/svg/SVGFECompositeElement.cpp: 78445 (WebCore::SVGFECompositeElement::filterEffect): 78446 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: 78447 (WebCore::SVGFEDiffuseLightingElement::filterEffect): 78448 * ksvg2/svg/SVGFEDisplacementMapElement.cpp: 78449 (WebCore::SVGFEDisplacementMapElement::filterEffect): 78450 * ksvg2/svg/SVGFEFloodElement.cpp: 78451 (WebCore::SVGFEFloodElement::filterEffect): 78452 * ksvg2/svg/SVGFEGaussianBlurElement.cpp: 78453 (WebCore::SVGFEGaussianBlurElement::filterEffect): 78454 * ksvg2/svg/SVGFEImageElement.cpp: 78455 (WebCore::SVGFEImageElement::filterEffect): 78456 * ksvg2/svg/SVGFEMergeElement.cpp: 78457 (WebCore::SVGFEMergeElement::filterEffect): 78458 * ksvg2/svg/SVGFEOffsetElement.cpp: 78459 (WebCore::SVGFEOffsetElement::filterEffect): 78460 * ksvg2/svg/SVGFESpecularLightingElement.cpp: 78461 (WebCore::SVGFESpecularLightingElement::filterEffect): 78462 * ksvg2/svg/SVGFETileElement.cpp: 78463 (WebCore::SVGFETileElement::filterEffect): 78464 * ksvg2/svg/SVGFETurbulenceElement.cpp: 78465 (WebCore::SVGFETurbulenceElement::filterEffect): 78466 * platform/graphics/svg/SVGResourceFilter.h: 78467 * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: 78468 * platform/graphics/svg/cg/SVGResourceFilterCg.mm: 78469 * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: 78470 78471 2007-10-27 Dan Bernstein <mitz (a] apple.com> 78472 78473 Reviewed by Darin Adler. 78474 78475 - fix a crash when opening Zenoss server history view 78476 <rdar://problem/5530657> 78477 78478 Test: fast/table/colgroup-relative.html 78479 78480 * rendering/LayoutState.cpp: 78481 (WebCore::LayoutState::LayoutState): Added a hasLayer() check before 78482 accessing layer(). 78483 78484 2007-10-27 Julien <julien.chaffraix (a] gmail.com> 78485 78486 Reviewed by Alexey. 78487 78488 http://bugs.webkit.org/show_bug.cgi?id=13141 78489 XMLHttpRequest should set readyState to 0 after abort() 78490 78491 Test: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState.html 78492 78493 * xml/XMLHttpRequest.cpp: 78494 (WebCore::XMLHttpRequest::open): 78495 (WebCore::XMLHttpRequest::abort): 78496 78497 2007-10-27 Dan Bernstein <mitz (a] apple.com> 78498 78499 Reviewed by Dave Hyatt. 78500 78501 - fix rotated border images by using a temporary subimage containing 78502 only the part we want to tile 78503 78504 Test: fast/borders/border-image-rotate-transform.html 78505 78506 * platform/graphics/cg/ImageCG.cpp: 78507 (WebCore::Image::drawPatternCallback): 78508 (WebCore::Image::drawPattern): 78509 78510 2007-10-27 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 78511 78512 Reviewed by Alp. 78513 78514 http://bugs.webkit.org/show_bug.cgi?id=15722 78515 [GTK] Refactor gtk/RenderThemeGtk and implement a few more methods 78516 78517 Refactor/enhance GTK RenderTheme 78518 78519 * platform/gtk/RenderThemeGtk.cpp: 78520 (WebCore::RenderThemeGtk::supportsFocus): added TextArea, Menulist, Radio, and Checkbox Appearances 78521 (WebCore::RenderThemeGtk::supportsFocusRing): call supportsFocus() to check if focus on appearance is supported 78522 (WebCore::RenderThemeGtk::controlSupportsTints): copied from Qt and Safari ports 78523 (WebCore::RenderThemeGtk::baselinePosition): copied from Qt and Safari ports 78524 (WebCore::RenderThemeGtk::paintCheckbox): moved painting in paintButton 78525 (WebCore::RenderThemeGtk::paintRadio): moved painting in paintButton 78526 (WebCore::RenderThemeGtk::paintButton): paint the different buttons here, checking for the right appearance before doing so 78527 (WebCore::RenderThemeGtk::paintMenuList): use 0 instead of NULLs 78528 (WebCore::RenderThemeGtk::adjustTextFieldStyle): 78529 (WebCore::RenderThemeGtk::getThemeData): 78530 * platform/gtk/RenderThemeGtk.h: 78531 (WebCore::RenderThemeGtk::supportsControlTints): 78532 78533 2007-10-27 Alexey Proskuryakov <ap (a] webkit.org> 78534 78535 Reviewed by Darin. 78536 78537 http://bugs.webkit.org/show_bug.cgi?id=15555 78538 XMLHttpRequest does not support charset "x-user-defined", which can 78539 facilitate loading of binary data 78540 78541 Test: http/tests/xmlhttprequest/binary-x-user-defined.html 78542 78543 * WebCore.pro: 78544 * WebCore.vcproj/WebCore.vcproj: 78545 * WebCore.xcodeproj/project.pbxproj: 78546 * platform/TextCodecUserDefined.cpp: Added. 78547 (WebCore::TextCodecUserDefined::registerEncodingNames): 78548 (WebCore::newStreamingTextDecoderUserDefined): 78549 (WebCore::TextCodecUserDefined::registerCodecs): 78550 (WebCore::TextCodecUserDefined::decode): 78551 (WebCore::encodeComplexUserDefined): 78552 (WebCore::TextCodecUserDefined::encode): 78553 * platform/TextCodecUserDefined.h: Added. 78554 * platform/TextEncodingRegistry.cpp: 78555 (WebCore::buildBaseTextCodecMaps): 78556 78557 2007-10-27 Alexey Proskuryakov <ap (a] webkit.org> 78558 78559 Reviewed by Darin. 78560 78561 http://bugs.webkit.org/show_bug.cgi?id=15467 78562 Setting innerHTML to blank string in application/xhtml+xml mode 78563 throws DOM Exception 7 78564 78565 Test: fast/dom/blank-innerHTML.xhtml 78566 78567 * dom/XMLTokenizer.cpp: 78568 (WebCore::parseXMLDocumentFragment): Bail out early if the input string is empty. 78569 78570 2007-10-26 Sam Weinig <sam (a] webkit.org> 78571 78572 Enable dragging the left sidebar using the separator. 78573 78574 Reviewed by Anders (unless Mitz says otherwise). 78575 78576 * page/inspector/DocumentPanel.js: 78577 * page/inspector/inspector.css: 78578 * page/inspector/inspector.html: 78579 * page/inspector/inspector.js: 78580 78581 2007-10-26 Sam Weinig <sam (a] webkit.org> 78582 78583 Fix an off by one error when resizing the Inspector find window. 78584 78585 Reviewed by Hyatt. 78586 78587 * page/inspector/inspector.js: 78588 78589 2007-10-26 Jon Honeycutt <jhoneycutt (a] apple.com> 78590 78591 Reviewed by Adam. 78592 78593 Fix fallout from r26072, which leads to all plugin streams for local 78594 resources being cancelled 78595 78596 * loader/win/NetscapePlugInStreamLoaderWin.cpp: 78597 (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Ensure this 78598 is an HTTP response before checking the HTTP response code 78599 78600 2007-10-26 David Hyatt <hyatt (a] apple.com> 78601 78602 Fix for http://bugs.webkit.org/show_bug.cgi?id=15719, transformed box doesn't repaint properly 78603 when only translation changes. 78604 78605 Move the updating of the transform to in between the old repaint and the new repaint. 78606 78607 Reviewed by mitz 78608 78609 fast/repaint/transform-translate.html 78610 78611 * rendering/RenderLayer.cpp: 78612 (WebCore::RenderLayer::updateLayerPositions): 78613 78614 2007-10-26 Jon Honeycutt <jhoneycutt (a] apple.com> 78615 78616 Reviewed by Darin. 78617 78618 <rdar://5557379> Crash in Silverlight when opening microsoft.com 78619 78620 The crash is within Silverlight, and the latest version of the plugin 78621 does not exhibit this crash, so just avoid loading this version of the 78622 plugin. 78623 78624 * plugins/win/PluginDatabaseWin.cpp: Added isPluginBlacklisted() and 78625 constants silverlightPluginMinRequiredVersionMSDWORD and 78626 silverlightPluginMinRequiredVersionLSDWORD. Their values are taken from 78627 the version info of Silverlight 1.0.20926.0, which is a version known 78628 not to exhibit this crash 78629 (WebCore::PluginDatabaseWin::isPluginBlacklisted): Determine whether 78630 this plugin is blacklisted 78631 * plugins/win/PluginDatabaseWin.h: 78632 * plugins/win/PluginPackageWin.cpp: 78633 (WebCore::PluginPackageWin::PluginPackageWin): Initialize m_fileVersion* 78634 (WebCore::PluginPackageWin::getFileVersion): 78635 (WebCore::PluginPackageWin::storeFileVersion): Read version info for 78636 the plugin, and store the file version 78637 (WebCore::PluginPackageWin::fetchInfo): After determining the name, 78638 description, and file version, determine whether this plug-in is 78639 blacklisted. If so, return false so this plug-in isn't loaded 78640 * plugins/win/PluginPackageWin.h: 78641 78642 2007-10-26 Sam Weinig <sam (a] webkit.org> 78643 78644 Reviewed by Adele Peterson. 78645 78646 Fix for <rdar://problem/5421754> 78647 m_frameName member variable in HTMLPlugInElement unnecessary 78648 78649 - Refactor the willRemove() method down into HTMLFrameOwnerElement now that 78650 we no longer need to use the m_frameName variable. 78651 78652 * html/HTMLFrameElementBase.cpp: 78653 * html/HTMLFrameElementBase.h: 78654 * html/HTMLFrameOwnerElement.cpp: 78655 (WebCore::HTMLFrameOwnerElement::willRemove): 78656 * html/HTMLFrameOwnerElement.h: 78657 * html/HTMLPlugInElement.cpp: 78658 * html/HTMLPlugInElement.h: 78659 * loader/FrameLoader.cpp: 78660 (WebCore::FrameLoader::requestObject): 78661 78662 2007-10-26 Adele Peterson <adele (a] apple.com> 78663 78664 Export _wkDrawCapsLockIndicator. 78665 78666 * WebCore.base.exp: 78667 78668 2007-10-26 Adele Peterson <adele (a] apple.com> 78669 78670 Reviewed by Oliver. 78671 78672 Adding WebKitSystemInterface support for the caps lock indicator 78673 78674 * platform/mac/WebCoreSystemInterface.h: 78675 * platform/mac/WebCoreSystemInterface.mm: 78676 78677 2007-10-26 Tristan O'Tierney <tristan (a] apple.com> 78678 78679 Reviewed by Darin Adler. 78680 78681 <rdar://problem/5555053> REGRESSION:9A581: Window disappears when opening http://research.microsoft.com/users/darkok/ 78682 The problem was caused by checkin r24654. This change moved explicit bounds checking into adjustWindowRect 78683 but failed to account for bounds checking (instead replaced with bounds clipping). This caused issues 78684 when NaN was used. This patch goes one step further and does NaN checking to prevent the possibility of 78685 setting window bounds to NaN before an update occurs. 78686 78687 Test: fast/dom/Window/window-resize-nan.html 78688 78689 * bindings/js/kjs_window.cpp: 78690 (KJS::adjustWindowRect): 78691 Added a new parameter, pendingChanges, which takes pending changes to the window 78692 rect, and if they are valid (not NaN) sets them on window. 78693 78694 (KJS::WindowFunc::callAsFunction): 78695 Adjusted uses of adjustWindowRect to take new update parameter. 78696 78697 2007-10-26 Sam Weinig <sam (a] webkit.org> 78698 78699 Reviewed by Tim Hatcher. 78700 78701 Fix for http://bugs.webkit.org/show_bug.cgi?id=15175 78702 Cannot copy text of errors from Web Inspector from Console view 78703 78704 * page/inspector/inspector.css: add -webkit-user-select: text for console messages. 78705 78706 2007-10-26 Sam Weinig <sam (a] webkit.org> 78707 78708 Reviewed by Tim Hatcher. 78709 78710 Fix for http://bugs.webkit.org/show_bug.cgi?id=15446 78711 Web Inspector find window is not resizable 78712 78713 - Adds ability to resize the find window. 78714 - Fixes bug that messed up the find window when resizing the left sidebar. 78715 78716 * page/inspector/inspector.css: 78717 * page/inspector/inspector.html: 78718 * page/inspector/inspector.js: 78719 78720 2007-10-26 Ada Chan <adachan (a] apple.com> 78721 78722 Update m_current index after we've removed an item: 78723 - if item removed is before m_current, decrement m_current 78724 - if the current item is removed, make sure m_current is within bounds. 78725 78726 Reviewed by Darin. 78727 78728 * history/BackForwardList.cpp: 78729 (WebCore::BackForwardList::removeItem): 78730 78731 2007-10-26 Mark Rowe <mrowe (a] apple.com> 78732 78733 Debug build fix. 78734 78735 * bindings/js/kjs_proxy.cpp: 78736 (WebCore::KJSProxy::~KJSProxy): 78737 78738 2007-10-26 Maciej Stachowiak <mjs (a] apple.com> 78739 78740 No review, build fix. 78741 78742 * bindings/objc/WebScriptObject.mm: 78743 (+[WebScriptObject throwException:]): 78744 (-[WebScriptObject setException:]): 78745 78746 2007-10-26 Maciej Stachowiak <mjs (a] apple.com> 78747 78748 Rubber Stamped by Mark. 78749 78750 - fix build 78751 78752 * bridge/mac/WebCoreScriptDebugger.mm: 78753 (-[WebCoreScriptCallFrame scopeChain]): 78754 (-[WebCoreScriptCallFrame functionName]): 78755 (-[WebCoreScriptCallFrame evaluateWebScript:]): 78756 78757 2007-10-26 Maciej Stachowiak <mjs (a] apple.com> 78758 78759 Reviewed by Oliver. 78760 78761 - update for JavaScriptCore header changes 78762 78763 * bindings/objc/WebScriptObject.mm: 78764 * bridge/mac/WebCoreScriptDebugger.mm: 78765 78766 2007-10-26 Alp Toker <alp (a] atoker.com> 78767 78768 Reviewed by Mark Rowe. 78769 78770 http://bugs.webkit.org/show_bug.cgi?id=15693 78771 [GTK] Paging does not work when widget is added to a GtkScrolledWindow 78772 78773 Eliminate MagicGtkScrollConstant in favour of the same calculations as 78774 GtkTextView for step and page increments. This also makes paging work, 78775 as the page increment was previously always 0. 78776 78777 * platform/gtk/ScrollViewGtk.cpp: 78778 (WebCore::ScrollView::updateScrollbars): 78779 78780 2007-10-25 Dan Bernstein <mitz (a] apple.com> 78781 78782 Reviewed by Dave Hyatt and Sam Weinig. 78783 78784 Build fix 78785 78786 * platform/graphics/cg/ImageCG.cpp: 78787 (WebCore::Image::drawPattern): 78788 78789 2007-10-23 Jan Michael Alonzo <jmalonzo (a] unpluggable.com> 78790 78791 Reviewed by Alp. 78792 78793 http://bugs.webkit.org/show_bug.cgi?id=15656 78794 [GTK] Implement WebCore::Widget::isEnabled/setEnabled 78795 78796 * platform/gtk/WidgetGtk.cpp: 78797 (WebCore::Widget::isEnabled): 78798 (WebCore::Widget::setEnabled): Implemented. 78799 78800 2007-10-25 David Hyatt <hyatt (a] apple.com> 78801 78802 Fix for bug 15672, background images don't tile properly inside transforms. This patch fixes background 78803 tiling to work in the presence of transforms and fixes bugs in both SVG and CSS transforms. 78804 78805 Reviewed by aroben and mitz 78806 78807 * WebCore.base.exp: 78808 * platform/graphics/Image.cpp: 78809 (WebCore::Image::setData): 78810 * platform/graphics/cg/ImageCG.cpp: 78811 (WebCore::ImageInfo::ImageInfo): 78812 (WebCore::Image::drawPatternCallback): 78813 (WebCore::Image::drawPattern): 78814 * platform/graphics/mac/GraphicsContextMac.mm: 78815 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 78816 * platform/mac/WebCoreSystemInterface.h: 78817 * platform/mac/WebCoreSystemInterface.mm: 78818 78819 2007-10-25 Brady Eidson <beidson (a] apple.com> 78820 78821 Blind build fix attempt 78822 78823 * WebCore.pro: 78824 78825 2007-10-25 Brady Eidson <beidson (a] apple.com> 78826 78827 Reviewed by Anders and Sam 78828 78829 Bulk rename of platform/sql/SQL* to platform/sql/SQLite* 78830 78831 This is more accurate in that there is no realistic "SQL" abstraction, the classes are obviously 78832 tied extremely close to SQLite, and is necessitated by the introduction of "SQLTransaction" in 78833 the HTML5 database API which we are adopting. 78834 78835 * WebCore.vcproj/WebCore.vcproj: 78836 * WebCore.xcodeproj/project.pbxproj: 78837 * loader/icon/IconDatabase.cpp: 78838 (WebCore::IconDatabase::iconDatabaseSyncThread): 78839 (WebCore::databaseVersionNumber): 78840 (WebCore::isValidDatabase): 78841 (WebCore::createDatabaseTables): 78842 (WebCore::IconDatabase::performOpenInitialization): 78843 (WebCore::IconDatabase::checkIntegrity): 78844 (WebCore::IconDatabase::performURLImport): 78845 (WebCore::IconDatabase::writeToDatabase): 78846 (WebCore::IconDatabase::pruneUnretainedIcons): 78847 (WebCore::IconDatabase::checkForDanglingPageURLs): 78848 (WebCore::IconDatabase::imported): 78849 (WebCore::IconDatabase::setImported): 78850 (WebCore::readySQLiteStatement): 78851 (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase): 78852 (WebCore::IconDatabase::removePageURLFromSQLDatabase): 78853 (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase): 78854 (WebCore::IconDatabase::addIconURLToSQLDatabase): 78855 (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase): 78856 (WebCore::IconDatabase::removeIconFromSQLDatabase): 78857 (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): 78858 * loader/icon/IconDatabase.h: 78859 * loader/icon/IconRecord.cpp: 78860 * platform/sql/SQLAuthorizer.cpp: Removed. 78861 * platform/sql/SQLAuthorizer.h: Removed. 78862 * platform/sql/SQLDatabase.cpp: Removed. 78863 * platform/sql/SQLDatabase.h: Removed. 78864 * platform/sql/SQLStatement.cpp: Removed. 78865 * platform/sql/SQLStatement.h: Removed. 78866 * platform/sql/SQLTransaction.cpp: Removed. 78867 * platform/sql/SQLTransaction.h: Removed. 78868 * platform/sql/SQLiteAuthorizer.cpp: Copied from platform/sql/SQLAuthorizer.cpp. 78869 * platform/sql/SQLiteAuthorizer.h: Copied from platform/sql/SQLAuthorizer.h. 78870 (WebCore::SQLiteAuthorizer::~SQLiteAuthorizer): 78871 * platform/sql/SQLiteDatabase.cpp: Copied from platform/sql/SQLDatabase.cpp. 78872 (WebCore::SQLiteDatabase::SQLiteDatabase): 78873 (WebCore::SQLiteDatabase::~SQLiteDatabase): 78874 (WebCore::SQLiteDatabase::open): 78875 (WebCore::SQLiteDatabase::close): 78876 (WebCore::SQLiteDatabase::setFullsync): 78877 (WebCore::SQLiteDatabase::setSynchronous): 78878 (WebCore::SQLiteDatabase::setBusyTimeout): 78879 (WebCore::SQLiteDatabase::setBusyHandler): 78880 (WebCore::SQLiteDatabase::executeCommand): 78881 (WebCore::SQLiteDatabase::returnsAtLeastOneResult): 78882 (WebCore::SQLiteDatabase::tableExists): 78883 (WebCore::SQLiteDatabase::clearAllTables): 78884 (WebCore::SQLiteDatabase::runVacuumCommand): 78885 (WebCore::SQLiteDatabase::lastInsertRowID): 78886 (WebCore::SQLiteDatabase::lastChanges): 78887 (WebCore::SQLiteDatabase::lastError): 78888 (WebCore::SQLiteDatabase::lastErrorMsg): 78889 (WebCore::SQLiteDatabase::authorizerFunction): 78890 (WebCore::SQLiteDatabase::setAuthorizer): 78891 (WebCore::SQLiteDatabase::lock): 78892 (WebCore::SQLiteDatabase::unlock): 78893 * platform/sql/SQLiteDatabase.h: Copied from platform/sql/SQLDatabase.h. 78894 * platform/sql/SQLiteStatement.cpp: Copied from platform/sql/SQLStatement.cpp. 78895 (WebCore::SQLiteStatement::SQLiteStatement): 78896 (WebCore::SQLiteStatement::~SQLiteStatement): 78897 (WebCore::SQLiteStatement::prepare): 78898 * platform/sql/SQLiteStatement.h: Copied from platform/sql/SQLStatement.h. 78899 (WebCore::SQLiteStatement::database): 78900 * platform/sql/SQLiteTransaction.cpp: Copied from platform/sql/SQLTransaction.cpp. 78901 (WebCore::SQLiteTransaction::SQLiteTransaction): 78902 (WebCore::SQLiteTransaction::~SQLiteTransaction): 78903 (WebCore::SQLiteTransaction::begin): 78904 (WebCore::SQLiteTransaction::commit): 78905 (WebCore::SQLiteTransaction::rollback): 78906 * platform/sql/SQLiteTransaction.h: Copied from platform/sql/SQLTransaction.h. 78907 * storage/Database.cpp: 78908 (WebCore::retrieveTextResultFromDatabase): 78909 (WebCore::setTextValueInDatabase): 78910 (WebCore::Database::performExecuteSql): 78911 (WebCore::Database::performGetTableNames): 78912 (WebCore::Database::executeSql): 78913 * storage/Database.h: 78914 * storage/DatabaseAuthorizer.h: 78915 * storage/DatabaseTracker.cpp: 78916 (WebCore::DatabaseTracker::fullPathForDatabase): 78917 (WebCore::DatabaseTracker::populateOrigins): 78918 (WebCore::DatabaseTracker::databaseNamesForOrigin): 78919 (WebCore::DatabaseTracker::addDatabase): 78920 * storage/DatabaseTracker.h: 78921 78922 2007-10-25 Alexey Proskuryakov <ap (a] webkit.org> 78923 78924 Reviewed by Darin. 78925 78926 http://bugs.webkit.org/show_bug.cgi?id=15650 78927 XML attribute nodes are not importable 78928 78929 Tests: fast/dom/import-attribute-node.html 78930 fast/dom/import-document-fragment.html 78931 78932 * dom/Document.cpp: 78933 (WebCore::Document::importNode): Implemented for Attribute and DocumentFragment nodes. 78934 78935 2007-10-25 Dan Bernstein <mitz (a] apple.com> 78936 78937 Reviewed by Dave Hyatt. 78938 78939 - fix http://bugs.webkit.org/show_bug.cgi?id=15362 78940 <rdar://problem/5558715> Safari Crashes when opening a JS TreeGrid widget 78941 78942 Test: fast/dynamic/insert-before-table-part-in-continuation.html 78943 78944 * rendering/RenderFlow.cpp: 78945 (WebCore::RenderFlow::addChildWithContinuation): If beforeChild's 78946 parent is an anonymous table part, let the table figure out where to 78947 insert the new child. 78948 78949 2007-10-25 Alp Toker <alp (a] atoker.com> 78950 78951 Reviewed by Brady. 78952 78953 http://bugs.webkit.org/show_bug.cgi?id=15686 78954 GtkLauncher aborts on launch due to uninitialized threading subsystem 78955 78956 Re-enable database support in the GTK+ port, with a fix. 78957 78958 * WebCore.pro: 78959 78960 2007-10-25 Jon Honeycutt <jhoneycutt (a] apple.com> 78961 78962 Reviewed by Steve. 78963 78964 <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 78965 java page 78966 78967 Previous patch erroneously compared a path and a 78968 path-including-filename. This corrects that. It also caches the result 78969 of safariPluginsPath() and uses shell API funcs for determining filename 78970 and parent directory from a full path. 78971 78972 * plugins/win/PluginDatabaseWin.cpp: 78973 (WebCore::safariPluginsPath): Cache return value. Use API functions to 78974 build the path 78975 (WebCore::PluginDatabaseWin::pluginForMIMEType): Compare again plugin's 78976 parent directory, not full path 78977 (WebCore::PluginDatabaseWin::pluginForExtension): Same 78978 * plugins/win/PluginPackageWin.cpp: 78979 (WebCore::PluginPackageWin::PluginPackageWin): Store parent directory 78980 * plugins/win/PluginPackageWin.h: 78981 (WebCore::PluginPackageWin::parentDirectory): 78982 * plugins/win/PluginStreamWin.cpp: 78983 (WebCore::PluginStreamWin::didReceiveData): 78984 78985 2007-10-25 Alp Toker <alp (a] atoker.com> 78986 78987 Unreviewed fix to make the GTK+ port run. 78988 78989 http://bugs.webkit.org/show_bug.cgi?id=15686 78990 GtkLauncher aborts on launch due to uninitialized threading subsystem 78991 78992 Disable database support until #15686 is fixed. 78993 78994 * WebCore.pro: 78995 78996 2007-10-25 Simon Hausmann <hausmann (a] kde.org> 78997 78998 Reviewed by Lars. 78999 79000 Fixed a crash in the Qt 4.4 based text iterators when they're called with a null string. 79001 79002 * platform/qt/TextBreakIteratorQt.cpp: 79003 (WebCore::wordBreakIterator): 79004 (WebCore::characterBreakIterator): 79005 (WebCore::lineBreakIterator): 79006 (WebCore::sentenceBreakIterator): 79007 79008 2007-10-25 Holger Freyther <zecke (a] selfish.org> 79009 79010 Reviewed by Simon Hausmann <hausmann (a] kde.org>. 79011 79012 * We need to set a != 0 status code for the fast/loader/xmlhttprequest-missing-file-exception.html 79013 * libxml2 has the semantic that when writing an empty string and finishing it will report an error. For QXmlStreamReader this is valid. 79014 * This is causing some regressions... 79015 79016 79017 * dom/XMLTokenizer.cpp: 79018 (WebCore::XMLTokenizer::XMLTokenizer): 79019 (WebCore::XMLTokenizer::write): 79020 (WebCore::XMLTokenizer::end): 79021 * dom/XMLTokenizer.h: 79022 79023 2007-10-25 Holger Freyther <zecke (a] selfish.org> 79024 79025 Reviewed by Simon Hausmann <hausmann (a] kde.org>. 79026 79027 * fast/dom/onerror-img.html regressed due checking the JobStates because in case of error (e.g. not being able to connect) the job will no be started. 79028 * Use the error message from Qt. It might or might not be translated. 79029 79030 * platform/network/qt/ResourceHandleQt.cpp: 79031 (WebCore::WebCoreSynchronousLoader::didFail): 79032 79033 2007-10-25 Holger Freyther <zecke (a] selfish.org> 79034 79035 Reviewed by Simon Hausmann <hausmann (a] kde.org>. 79036 79037 * Implement our own queuing of network jobs to allow special handling of synchronous jobs. This makes us pass the fast/dom/xmlhttprequest-html-response-encoding.html test without a crash. Sync jobs will get a special treatment over the normals ones and in theory more than one sync job is supported. 79038 * This should be thread-safe besides QWebNetworkJob::{ref,deref} 79039 79040 79041 * platform/network/qt/ResourceHandleQt.cpp: 79042 (WebCore::ResourceHandle::loadResourceSynchronously): 79043 79044 2007-10-25 Alp Toker <alp (a] atoker.com> 79045 79046 Reviewed by Mark Rowe. 79047 79048 Add support for list box theme colors and styled menu list buttons. 79049 79050 Remove obsolete FIXMEs. 79051 79052 * platform/gtk/RenderThemeGtk.cpp: 79053 (WebCore::RenderThemeGtk::RenderThemeGtk): 79054 (WebCore::RenderThemeGtk::paintCheckbox): 79055 (WebCore::RenderThemeGtk::paintRadio): 79056 (WebCore::RenderThemeGtk::paintButton): 79057 (WebCore::RenderThemeGtk::adjustMenuListStyle): 79058 (WebCore::RenderThemeGtk::paintMenuList): 79059 (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor): 79060 (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor): 79061 (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor): 79062 (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor): 79063 (WebCore::RenderThemeGtk::gtkTreeView): 79064 * platform/gtk/RenderThemeGtk.h: 79065 79066 2007-10-25 Eric Seidel <eric (a] webkit.org> 79067 79068 Reviewed by Geoff. 79069 79070 * bindings/js/kjs_window.h: fix bogus comment, s/DOMNode/DOMObject/ 79071 79072 2007-10-24 Eric Seidel <eric (a] webkit.org> 79073 79074 Reviewed by Maciej. 79075 79076 Make Window subclass from JSGlobalObject (for a .5% win in Sunspider) 79077 http://bugs.webkit.org/show_bug.cgi?id=15681 79078 79079 No test cases necessary, no functional changes. 79080 79081 * WebCore.xcodeproj/project.pbxproj: 79082 * bindings/js/kjs_binding.cpp: 79083 (KJS::ScriptInterpreter::ScriptInterpreter): 79084 * bindings/js/kjs_binding.h: 79085 * bindings/js/kjs_proxy.cpp: 79086 (WebCore::KJSProxy::initScriptIfNeeded): 79087 * bindings/js/kjs_window.cpp: 79088 (KJS::Window::Window): 79089 * bindings/js/kjs_window.h: 79090 * bindings/objc/WebScriptObject.mm: 79091 (_didExecute): 79092 * bridge/mac/WebCoreScriptDebugger.mm: 79093 79094 2007-10-24 Adam Roben <aroben (a] apple.com> 79095 79096 Add font database initialization code to WebCore 79097 79098 Reviewed by Ada. 79099 79100 * WebCore.vcproj/WebCore.vcproj: Added FontDatabase.{cpp,h}. 79101 * platform/win/FontDatabase.cpp: Added. 79102 (WebCore::systemFontsDirectory): 79103 (WebCore::fontsPlistPath): 79104 (WebCore::systemHasFontsNewerThanFontsPlist): 79105 (WebCore::readFontPlist): 79106 (WebCore::populateFontDatabaseFromPlist): 79107 (WebCore::populateFontDatabaseFromFileSystem): 79108 (WebCore::writeFontDatabaseToPlist): 79109 (WebCore::populateFontDatabase): This is the only function callable 79110 from outside this file. It populates the font database once, either 79111 from the fonts plist, or from the filesystem (and then saves a new 79112 fonts plist). 79113 * platform/win/FontDatabase.h: Added. 79114 79115 2007-10-24 Justin Garcia <justin.garcia (a] apple.com> 79116 79117 Reviewed by Darin Adler. 79118 79119 Correcting the fix for: 79120 <rdar://problem/5544856> 79121 REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time 79122 79123 Made removal of the previous composition part of the current Undo step in the 79124 case where the new composition is the empty string, too. 79125 79126 * editing/Editor.cpp: 79127 (WebCore::Editor::confirmComposition): Call the new TypingCommand::deleteSelection, 79128 which either has the currently open typing command delete the current selection, or 79129 opens a new typing command (of type DeleteSelection) if one is not already open. 79130 (WebCore::Editor::setComposition): Ditto. 79131 * editing/TypingCommand.cpp: 79132 (WebCore::TypingCommand::deleteSelection): Added. 79133 (WebCore::TypingCommand::doApply): Handle DeleteSelection. 79134 (WebCore::TypingCommand::deleteKeyPressed): Clarified which deleteSelection 79135 is called. 79136 (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto. 79137 (WebCore::TypingCommand::preservesTypingStyle): Handle DeleteSelection. 79138 * editing/TypingCommand.h: 79139 79140 2007-10-24 Sam Weinig <sam (a] webkit.org> 79141 79142 Build fix. 79143 79144 * WebCore.vcproj/WebCore.vcproj: 79145 79146 2007-10-24 Alice Liu <alice.liu (a] apple.com> 79147 79148 Reviewed by Oliver. 79149 79150 Fix <rdar://5410959> editing/selection/drag-to-contenteditable-iframe.html fails on Windows 79151 79152 * page/win/EventHandlerWin.cpp: 79153 (WebCore::EventHandler::passMouseMoveEventToSubframe): 79154 Some mouse move events are actually drags, which on mac return early from this function. 79155 Adding the same logic to its Windows equivalent. 79156 79157 2007-10-24 Brady Eidson <beidson (a] apple.com> 79158 79159 Reviewed by Anders 79160 79161 <rdar://5554130> DatabaseTracker.o has a global initializer 79162 79163 Since DatabaseTracker is a singleton, it makes much more sense to keep the database path as a member variable. 79164 Now constructing the shared DatabaseTracker no longer implicitly opens it - It is only opened when the databases 79165 path is set. 79166 79167 * WebCore.vcproj/WebCore.vcproj: Copy WebCore/storage headers for WebKit build 79168 79169 * storage/Database.cpp: 79170 (WebCore::Database::~Database): Remove bogus assertion 79171 79172 * storage/DatabaseTracker.cpp: 79173 (WebCore::DatabaseTracker::DatabaseTracker): Does nothing now! Move this code to openTrackerDatabase 79174 (WebCore::DatabaseTracker::setDatabasePath): Set the member variable, also closing/opening the database if needed 79175 (WebCore::DatabaseTracker::databasePath): 79176 (WebCore::DatabaseTracker::openTrackerDatabase): To open and validate the Databases db, moved from the c'tor 79177 (WebCore::DatabaseTracker::fullPathForDatabase): Return the member variable 79178 * storage/DatabaseTracker.h: 79179 79180 2007-10-24 David Hyatt <hyatt (a] apple.com> 79181 79182 Don't try to gap fill transformed selections. Fix the invalidation of selection to use the clip to visible content 79183 code path so that it works with multi-column layouts and transforms. 79184 79185 Reviewed by aroben 79186 79187 * rendering/RenderBlock.cpp: 79188 (WebCore::RenderBlock::isSelectionRoot): 79189 (WebCore::RenderBlock::fillSelectionGaps): 79190 * rendering/RenderView.cpp: 79191 (WebCore::RenderView::setSelection): 79192 79193 2007-10-24 Eric Seidel <eric (a] webkit.org> 79194 79195 No review, I want to tickle the CIA bot to test changes, 79196 and took this as an opportunity to clean up some old change logs. 79197 79198 * ChangeLog-2005-08-23: update email address 79199 * ChangeLog-2006-12-31: fix spelling mistakes 79200 79201 2007-10-24 Dan Bernstein <mitz (a] apple.com> 79202 79203 Reviewed by Oliver Hunt. 79204 79205 - add "(anonymous)" to the renderName of anonymous table cells, rows and sections 79206 79207 * rendering/RenderTableCell.h: 79208 (WebCore::RenderTableCell::renderName): 79209 * rendering/RenderTableRow.h: 79210 (WebCore::RenderTableRow::renderName): 79211 * rendering/RenderTableSection.h: 79212 (WebCore::RenderTableSection::renderName): 79213 79214 2007-10-24 Timothy Hatcher <timothy (a] apple.com> 79215 79216 Reviewed by Adam. 79217 79218 Bug 15476: DOM tree fully expands some elements when arrowing up 79219 http://bugs.webkit.org/show_bug.cgi?id=15476 79220 79221 Add a new expandTreeElementsWhenArrowing option to TreeOutline. This option 79222 is used only for the sidebar and search results. 79223 79224 * page/inspector/inspector.js: Opt-in for the sidebar and search results. 79225 * page/inspector/treeoutline.js: Add expandTreeElementsWhenArrowing and pass 79226 this option to traverseNextTreeElement and traversePreviousTreeElement. 79227 79228 2007-10-24 Anders Carlsson <andersca (a] apple.com> 79229 79230 Reviewed by Geoff and Mitz. 79231 79232 <rdar://problem/5493833> 79233 REGRESSION: ~5MB of image data leaked @ cuteoverload.com (often seen while browsing other sites, too) 79234 79235 * bindings/js/kjs_binding.cpp: 79236 (KJS::ScriptInterpreter::markDOMNodesForDocument): 79237 If an image element that is currently loading an image is not in the document, 79238 it should still be marked. 79239 79240 * bindings/js/kjs_html.cpp: 79241 (WebCore::ImageConstructorImp::construct): 79242 Force the document wrapper to be created. 79243 79244 * html/HTMLImageElement.h: 79245 (WebCore::HTMLImageElement::haveFiredLoadEvent): 79246 New method which calls down to the image loader. 79247 79248 * html/HTMLImageLoader.cpp: 79249 (WebCore::HTMLImageLoader::HTMLImageLoader): 79250 (WebCore::HTMLImageLoader::~HTMLImageLoader): 79251 (WebCore::HTMLImageLoader::setLoadingImage): 79252 (WebCore::HTMLImageLoader::dispatchLoadEvent): 79253 Remove code that's not needed anymore. 79254 79255 * html/HTMLImageLoader.h: 79256 (WebCore::HTMLImageLoader::haveFiredLoadEvent): 79257 Make this public. 79258 79259 2007-10-23 Adam Roben <aroben (a] apple.com> 79260 79261 Move Windows safe file creation code into WebCore from WebPreferences 79262 79263 Reviewed by Brady. 79264 79265 * platform/FileSystem.h: 79266 * platform/win/FileSystemWin.cpp: 79267 (WebCore::safeCreateFile): Moved here from WebKit/win/WebPreferences.cpp. 79268 79269 2007-10-23 Adam Roben <aroben (a] apple.com> 79270 79271 Add methods to FileSystemWin to get some user profile directories 79272 79273 These directories are used to hold things like preferences, caches, 79274 etc. 79275 79276 Reviewed by Brady. 79277 79278 * platform/FileSystem.h: Added new method declarations for Windows 79279 only. 79280 * platform/win/FileSystemWin.cpp: 79281 (WebCore::bundleName): Added. 79282 (WebCore::storageDirectory): Added. 79283 (WebCore::cachedStorageDirectory): Added. 79284 (WebCore::localUserSpecificStorageDirectory): Added. Returns the 79285 directory where WebKit should store any user-specific data that should 79286 stay local to the current machine (i.e., shouldn't be stored in a 79287 roaming profile). 79288 (WebCore::roamingUserSpecificStorageDirectory): Added. Returns the 79289 directory where WebKit should store any user-specific data that should 79290 move with the user from machine to machine (i.e., should be stored in 79291 a roaming profile). 79292 79293 2007-10-24 Alp Toker <alp (a] atoker.com> 79294 79295 Reviewed by Mark Rowe. 79296 79297 http://bugs.webkit.org/show_bug.cgi?id=15659 79298 InlineTextBox does not setStrokeStyle() as needed 79299 79300 GraphicsContextCairo workaround to support a GraphicsContextCG quirk: 79301 79302 Save and restore the StrokeStyle manually. 79303 79304 * platform/graphics/cairo/GraphicsContextCairo.cpp: 79305 (WebCore::GraphicsContext::drawLineForText): 79306 79307 2007-10-24 Julien Chaffraix <julien.chaffraix (a] gmail.com> 79308 79309 Reviewed by Darin. 79310 79311 Patch for http://bugs.webkit.org/show_bug.cgi?id=15356 79312 Bug 15356: getResponseHeader and getAllResponseHeaders do not throw exceptions 79313 79314 - getAllResponseHeaders and getResponseHeader throws INVALID_STATE_ERR exception as specified in the specification 79315 79316 - Add the check to field-name production in getResponseHeader (call to isValidToken) and returns an empty string if the header is not valid (Opera and IE behaviour) 79317 79318 - Updated XMLHttpRequest::responseMIMEType() to keep its behaviour 79319 79320 Tests: http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getAllRequestHeaders.html 79321 http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getRequestHeader.html 79322 http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader.html 79323 79324 * bindings/js/JSXMLHttpRequest.cpp: 79325 (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction): 79326 * xml/XMLHttpRequest.cpp: 79327 (WebCore::XMLHttpRequest::getAllResponseHeaders): 79328 (WebCore::XMLHttpRequest::getResponseHeader): 79329 (WebCore::XMLHttpRequest::responseMIMEType): 79330 * xml/XMLHttpRequest.h: 79331 79332 2007-10-24 Lars Knoll <lars (a] trolltech.com> 79333 79334 Reviewed by Simon. 79335 79336 implement most of DragData. 79337 79338 * platform/qt/DragDataQt.cpp: 79339 (WebCore::DragData::containsColor): 79340 (WebCore::DragData::containsFiles): 79341 (WebCore::DragData::asFilenames): 79342 (WebCore::DragData::containsPlainText): 79343 (WebCore::DragData::asPlainText): 79344 (WebCore::DragData::asColor): 79345 (WebCore::DragData::containsCompatibleContent): 79346 (WebCore::DragData::containsURL): 79347 79348 2007-10-24 Lars Knoll <lars (a] trolltech.com> 79349 79350 Reviewed by Simon. 79351 79352 remove a stupid notImplemented() warning and implement PasteBoad::clear(). 79353 79354 * platform/qt/PasteboardQt.cpp: 79355 79356 2007-10-24 Lars Knoll <lars (a] trolltech.com> 79357 79358 Reviewed by Simon. 79359 79360 implement Pasteboard::documentFragment(), and fix a mem leak. 79361 79362 * platform/qt/PasteboardQt.cpp: 79363 (WebCore::Pasteboard::generalPasteboard): 79364 (WebCore::Pasteboard::documentFragment): 79365 79366 2007-10-24 Lars Knoll <lars (a] trolltech.com> 79367 79368 Reviewed by Simon. 79369 79370 Simplify the PlatformKeyEvent constructor. No need to have an extra boolean for isKeyUp in there, as the QKeyEvent has the information. 79371 79372 * platform/PlatformKeyboardEvent.h: 79373 * platform/qt/PlatformKeyboardEventQt.cpp: 79374 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 79375 79376 2007-10-24 Lars Knoll <lars (a] trolltech.com> 79377 79378 Reviewed by Simon. 79379 79380 use the new QTextBoundaryFinder class in Qt. 79381 79382 * platform/qt/TextBoundaries.cpp: 79383 (WebCore::findNextWordFromIndex): 79384 (WebCore::findWordBoundary): 79385 * platform/qt/TextBreakIteratorQt.cpp: 79386 (WebCore::wordBreakIterator): 79387 (WebCore::characterBreakIterator): 79388 (WebCore::lineBreakIterator): 79389 (WebCore::sentenceBreakIterator): 79390 (WebCore::textBreakFirst): 79391 (WebCore::textBreakNext): 79392 (WebCore::textBreakPreceding): 79393 (WebCore::textBreakFollowing): 79394 (WebCore::textBreakCurrent): 79395 (WebCore::isTextBreak): 79396 79397 2007-10-24 Darin Adler <darin (a] apple.com> 79398 79399 Reviewed by Maciej. 79400 79401 - http://bugs.webkit.org/show_bug.cgi?id=15657 79402 change static hash tables to use powers of two for speed 79403 79404 * bindings/scripts/CodeGeneratorJS.pm: Updated to generate new format. 79405 79406 2007-10-24 Simon Hausmann <hausmann (a] kde.org> 79407 79408 Reviewed by Lars. 79409 79410 Make the implementation of pathByAppendingComponent use QDir. 79411 79412 * platform/qt/FileSystemQt.cpp: 79413 79414 2007-10-24 David Hyatt <hyatt (a] apple.com> 79415 79416 Make repainting work with transforms. 79417 79418 Reviewed by John Sullivan 79419 79420 * rendering/RenderBox.cpp: 79421 (WebCore::RenderBox::computeAbsoluteRepaintRect): 79422 79423 2007-10-23 Alp Toker <alp (a] atoker.com> 79424 79425 Reviewed by Maciej. 79426 79427 http://bugs.webkit.org/show_bug.cgi?id=14412 79428 [GDK] Clipboard support 79429 79430 Initial clipboard implementation for the GTK+ port. 79431 79432 * platform/gtk/ClipboardGtk.cpp: 79433 (WebCore::Editor::newGeneralClipboard): 79434 * platform/gtk/PasteboardGtk.cpp: 79435 (WebCore::Pasteboard::generalPasteboard): 79436 (WebCore::Pasteboard::Pasteboard): 79437 (WebCore::Pasteboard::~Pasteboard): 79438 (WebCore::Pasteboard::writeSelection): 79439 (WebCore::Pasteboard::writeImage): 79440 (WebCore::Pasteboard::clear): 79441 (WebCore::Pasteboard::plainText): 79442 * platform/gtk/TemporaryLinkStubs.cpp: 79443 79444 2007-10-23 Timothy Hatcher <timothy (a] apple.com> 79445 79446 Reviewed by Adam. 79447 79448 Fixes the Network panel so that it refreshes as needed. 79449 79450 * page/inspector/ConsolePanel.js: Call the base class show() and hide() first. 79451 * page/inspector/NetworkPanel.js: Add refreshNeeded and refreshIfNeeded back. Ditto. 79452 79453 2007-10-23 Justin Garcia <justin.garcia (a] apple.com> 79454 79455 Reviewed by Oliver Hunt. 79456 79457 <rdar://problem/5544856> 79458 REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time 79459 79460 No layout test for now because I'm having trouble getting Undo during a layout 79461 test to only undo the last Undo step, and I want to write a test that fails 79462 without the code change. 79463 79464 * editing/Editor.cpp: 79465 (WebCore::Editor::confirmComposition): When we replace the previous composition, 79466 delete it with a sub-command of the command used to insert the new composition, 79467 instead of with a separate command. No new code was added because insertText 79468 already deletes the current selection. 79469 (WebCore::Editor::setComposition): Ditto. 79470 79471 2007-10-23 Adam Roben <aroben (a] apple.com> 79472 79473 Fix the behavior of pathByAppendingComponent when path is empty 79474 79475 We now use the Windows Shell API function PathAppendW instead of 79476 rolling our own broken implementation. 79477 79478 Reviewed by Anders. 79479 79480 * platform/win/FileSystemWin.cpp: 79481 (WebCore::pathByAppendingComponent): 79482 79483 2007-10-23 Adele Peterson <adele (a] apple.com> 79484 79485 Reviewed by Darin. 79486 79487 Fix for <rdar://problem/5543228> CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::HTMLInputElement::defaultEventHandler + 872 79488 79489 Test: fast/forms/textfield-onchange-deletion.html 79490 79491 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): 79492 Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it. 79493 79494 2007-10-23 Timothy Hatcher <timothy (a] apple.com> 79495 79496 Reviewed by Sam Weinig. 79497 79498 - Made seperate files for the various classes in ResourcePanel.js. 79499 - Broke up ResourcePanel.js and created seperate panel classes for different resource types. 79500 - Moved View code down to the Panel base-class. 79501 - Reduced code duplication in DatabasePanel.js by sub-classing from the new ResourcePanel. 79502 79503 * page/inspector/DatabasePanel.js: 79504 * page/inspector/DocumentPanel.js: Added. 79505 * page/inspector/FontPanel.js: Added. 79506 * page/inspector/ImagePanel.js: Added. 79507 * page/inspector/Panel.js: Added. 79508 * page/inspector/PropertiesSection.js: Added. 79509 * page/inspector/Resource.js: 79510 * page/inspector/ResourcePanel.js: 79511 * page/inspector/SidebarPane.js: Added. 79512 * page/inspector/SourcePanel.js: Added. 79513 * page/inspector/inspector.css: 79514 * page/inspector/inspector.html: 79515 * page/inspector/inspector.js: 79516 79517 2007-10-23 Anders Carlsson <andersca (a] apple.com> 79518 79519 Correct the version #if check. 79520 79521 * platform/sql/SQLDatabase.cpp: 79522 (WebCore::SQLDatabase::authorizerFunction): 79523 79524 2007-10-23 Jon Honeycutt <jhoneycutt (a] apple.com> 79525 79526 Reviewed by Anders. 79527 79528 <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 79529 java page 79530 79531 It is possible to load Mozilla's Java plugin instead of our own, which 79532 can lead to a crash. The fix is to prefer plugins in our own Plugins 79533 directory when searching for a plugin. 79534 79535 * plugins/win/PluginDatabaseWin.cpp: 79536 (WebCore::safariPluginsPath): Return the path to our own Plugins 79537 directory 79538 (WebCore::PluginDatabaseWin::defaultPluginPaths): Use new method 79539 safariPluginsPath() 79540 (WebCore::PluginDatabaseWin::pluginForMIMEType): If the plugin's path is 79541 our Plugins path, return this plugin. Otherwise, continue scanning the 79542 list of plugins 79543 (WebCore::PluginDatabaseWin::pluginForExtension): Same 79544 * plugins/win/PluginPackageWin.h: 79545 (WebCore::PluginPackageWin::path): Return this plugin's path 79546 79547 2007-10-23 Jasper Bryant-Greene <m (a] ni.ac.nz> 79548 79549 Reviewed by Darin. 79550 79551 http://bugs.webkit.org/show_bug.cgi?id=15058 79552 Precedence fault in KeyEventGdk causes shift, control, alt etc to work incorrectly 79553 79554 Corrected precendence fault which was causing Shift, Alt, Control and 79555 Meta to behave incorrectly on GTK. 79556 79557 Coding style fix by Alp. 79558 79559 * platform/gtk/KeyEventGtk.cpp: 79560 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 79561 79562 2007-10-23 Sam Weinig <sam (a] webkit.org> 79563 79564 Reviewed by Tim Hatcher. 79565 79566 Add resizing of the DOM view right sidebar. This allows us to actually see the values now. 79567 79568 * page/inspector/ResourcePanel.js: 79569 * page/inspector/inspector.css: 79570 * page/inspector/inspector.js: 79571 * page/inspector/utilities.js: 79572 79573 2007-10-23 David Hyatt <hyatt (a] apple.com> 79574 79575 Get basic hit testing right for transforms. 79576 79577 Reviewed by ollliej 79578 79579 * platform/graphics/AffineTransform.cpp: 79580 (WebCore::AffineTransform::mapPoint): 79581 * platform/graphics/AffineTransform.h: 79582 * rendering/InlineBox.cpp: 79583 (WebCore::InlineBox::nodeAtPoint): 79584 * rendering/RenderBlock.cpp: 79585 (WebCore::RenderBlock::nodeAtPoint): 79586 * rendering/RenderLayer.cpp: 79587 (WebCore::RenderLayer::paintLayer): 79588 (WebCore::RenderLayer::hitTest): 79589 (WebCore::RenderLayer::hitTestLayer): 79590 * rendering/RenderLayer.h: 79591 * rendering/RenderObject.cpp: 79592 (WebCore::RenderObject::hitTest): 79593 * rendering/RenderObject.h: 79594 79595 2007-10-23 Eric Seidel <eric (a] webkit.org> 79596 79597 Reviewed by Mark Rowe. 79598 79599 Fix leaks seen on TOT from new font-face code. 79600 79601 * ksvg2/svg/SVGFontFaceElement.cpp: 79602 (WebCore::SVGFontFaceElement::rebuildFontFace): use a stack allocated CSSProperty instead of mallocing 79603 79604 2007-10-23 Eric Seidel <eric (a] webkit.org> 79605 79606 Build fix only, no review. 79607 79608 Sacrifice three virgin hours upon the altar of the heathen XCode gods 79609 and pray that our build troubles are finally over. :( 79610 79611 * DerivedSources.make: add DOMSVGException.h 79612 * WebCore.xcodeproj/project.pbxproj: Remove DOMSVG*Interal.h files from "Copy Generated Headers" phase. Why? Who knows. 79613 79614 2007-10-22 Steve Falkenburg <sfalken (a] apple.com> 79615 79616 Fix build. 79617 79618 * plugins/win/PluginViewWin.cpp: 79619 79620 2007-10-22 Eric Seidel <eric (a] webkit.org> 79621 79622 Build fix only, no review. 79623 79624 * WebCore.xcodeproj/project.pbxproj: re-add all DOMSVG headers to copy-files phase to make sure. 79625 79626 2007-10-22 Eric Seidel <eric (a] webkit.org> 79627 79628 Build fix only, no review. 79629 79630 * WebCore.xcodeproj/project.pbxproj: make sure DOMSVGAnimateElement.h is copied into headers. 79631 79632 2007-10-22 Eric Seidel <eric (a] webkit.org> 79633 79634 Reviewed by Maciej. 79635 79636 Fix build by properly exposing SVG font-face dom bindings. 79637 79638 * DerivedSources.make: 79639 * WebCore.vcproj/WebCore.vcproj: add font-face files to build 79640 * WebCore.xcodeproj/project.pbxproj: add missing DOM bindings files 79641 * bindings/js/JSSVGElementWrapperFactory.cpp: 79642 * bindings/objc/DOM.mm: 79643 (WebCore::createElementClassMap): 79644 * bindings/objc/DOMSVG.h: 79645 * ksvg2/svg/SVGDefinitionSrcElement.idl: inherit from SVGElement 79646 79647 2007-10-22 Mark Rowe <mrowe (a] apple.com> 79648 79649 Gtk build fix. 79650 79651 * WebCore.pro: 79652 79653 2007-10-22 Darin Adler <darin (a] apple.com> 79654 79655 - a first cut at fixing the Qt and GTK builds 79656 79657 * WebCore.pro: Add new .idl and .cpp files. 79658 * DerivedSources.make: Re-sorted. 79659 79660 2007-10-22 Eric Seidel <eric (a] webkit.org> 79661 79662 Reviewed by hyatt. 79663 79664 Implement <font-face> and friends for SVG. 79665 http://bugs.webkit.org/show_bug.cgi?id=10652 79666 79667 * DerivedSources.make: 79668 * WebCore.xcodeproj/project.pbxproj: 79669 * bindings/js/JSSVGElementWrapperFactory.cpp: 79670 * dom/Document.cpp: 79671 (WebCore::Document::mappedElementSheet): 79672 (WebCore::Document::recalcStyleSelector): 79673 * dom/Document.h: 79674 * ksvg2/scripts/make_names.pl: 79675 * ksvg2/svg/SVGDefinitionSrcElement.cpp: Added. 79676 (WebCore::SVGDefinitionSrcElement::SVGDefinitionSrcElement): 79677 (WebCore::SVGDefinitionSrcElement::~SVGDefinitionSrcElement): 79678 (WebCore::SVGDefinitionSrcElement::childrenChanged): 79679 * ksvg2/svg/SVGDefinitionSrcElement.h: Added. 79680 * ksvg2/svg/SVGDefinitionSrcElement.idl: Added. 79681 * ksvg2/svg/SVGFontFaceElement.cpp: Added. 79682 (WebCore::SVGFontFaceElement::SVGFontFaceElement): 79683 (WebCore::SVGFontFaceElement::~SVGFontFaceElement): 79684 (WebCore::cssPropertyIdForName): 79685 (WebCore::mapAttributeToCSSProperty): 79686 (WebCore::cssPropertyIdForSVGAttributeName): 79687 (WebCore::SVGFontFaceElement::parseMappedAttribute): 79688 (WebCore::SVGFontFaceElement::rebuildFontFace): 79689 (WebCore::SVGFontFaceElement::childrenChanged): 79690 * ksvg2/svg/SVGFontFaceElement.h: Added. 79691 * ksvg2/svg/SVGFontFaceElement.idl: Added. 79692 * ksvg2/svg/SVGFontFaceFormatElement.cpp: Added. 79693 (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement): 79694 (WebCore::SVGFontFaceFormatElement::~SVGFontFaceFormatElement): 79695 (WebCore::SVGFontFaceFormatElement::childrenChanged): 79696 * ksvg2/svg/SVGFontFaceFormatElement.h: Added. 79697 * ksvg2/svg/SVGFontFaceFormatElement.idl: Added. 79698 * ksvg2/svg/SVGFontFaceNameElement.cpp: Added. 79699 (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement): 79700 (WebCore::SVGFontFaceNameElement::~SVGFontFaceNameElement): 79701 (WebCore::SVGFontFaceNameElement::srcValue): 79702 * ksvg2/svg/SVGFontFaceNameElement.h: Added. 79703 * ksvg2/svg/SVGFontFaceNameElement.idl: Added. 79704 * ksvg2/svg/SVGFontFaceSrcElement.cpp: Added. 79705 (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement): 79706 (WebCore::SVGFontFaceSrcElement::~SVGFontFaceSrcElement): 79707 (WebCore::SVGFontFaceSrcElement::srcValue): 79708 (WebCore::SVGFontFaceSrcElement::childrenChanged): 79709 * ksvg2/svg/SVGFontFaceSrcElement.h: Added. 79710 * ksvg2/svg/SVGFontFaceSrcElement.idl: Added. 79711 * ksvg2/svg/SVGFontFaceUriElement.cpp: Added. 79712 (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement): 79713 (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement): 79714 (WebCore::SVGFontFaceUriElement::srcValue): 79715 (WebCore::SVGFontFaceUriElement::childrenChanged): 79716 * ksvg2/svg/SVGFontFaceUriElement.h: Added. 79717 * ksvg2/svg/SVGFontFaceUriElement.idl: Added. 79718 * ksvg2/svg/svgtags.in: 79719 79720 2007-10-22 Jon Honeycutt <jhoneycutt (a] apple.com> 79721 79722 Reviewed by Anders. 79723 79724 <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 79725 java page 79726 79727 We purposefully do not destroy our Java VM when its reference count 79728 reaches 0, but we were unloading our JavaPlugin.dll when its reference 79729 count reached 0, which lost the reference to the VM. This led to our 79730 process trying to create a new VM the next time a page using Java was 79731 loaded, and the JNI spec states that a single process is not allowed to 79732 create more than one VM. The fix is to avoid unloading the Java plugin 79733 via our PluginQuirkDontUnloadPlugin. 79734 79735 * plugins/win/PluginViewWin.cpp: 79736 (WebCore::PluginViewWin::determineQuirks): 79737 79738 2007-10-22 David Hyatt <hyatt (a] apple.com> 79739 79740 Fix for bug 15624, make transforms work properly with opacity. 79741 79742 Make sure a unitless 0 is allowed as an angle argument to rotation/skew. 79743 79744 Reviewed by Mitz Pettel 79745 79746 fast/transforms/transforms-with-opacity.html 79747 fast/transforms/skew-with-unitless-zero.html 79748 79749 * css/CSSParser.cpp: 79750 (WebCore::CSSParser::validUnit): 79751 * rendering/RenderLayer.cpp: 79752 (WebCore::transparencyClipBox): 79753 (WebCore::RenderLayer::beginTransparencyLayers): 79754 (WebCore::RenderLayer::paintLayer): 79755 (WebCore::RenderLayer::calculateClipRects): 79756 * rendering/RenderLayer.h: 79757 (WebCore::RenderLayer::transform): 79758 79759 2007-10-22 Adam Roben <aroben (a] apple.com> 79760 79761 Windows build fix 79762 79763 * WebCore.vcproj/WebCore.vcproj: Copy header files from platform/sql. 79764 * page/Page.cpp: Touched to force the header files to be copied. 79765 79766 2007-10-22 Nikolas Zimmermann <zimmermann (a] kde.org> 79767 79768 Reviewed by Simon. 79769 79770 Move textPath related SVGChar data in it's own structure SVGCharOnPath. 79771 Store a pointer to that datastructure inside SVGChar, instead of 4 floats & one bool. 79772 79773 Saves space for the common case. And allows me to add more data (another float) to support 79774 glyph-orientation-* on textPath later on... 79775 79776 * rendering/SVGCharacterLayoutInfo.cpp: 79777 (WebCore::SVGChar::characterTransform): 79778 * rendering/SVGCharacterLayoutInfo.h: 79779 * rendering/SVGRootInlineBox.cpp: 79780 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): 79781 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 79782 79783 2007-10-22 Alp Toker <alp (a] atoker.com> 79784 79785 Reviewed by Nikolas Zimmermann. 79786 79787 Implement more GraphicsContextCairo stubs. 79788 79789 Remove a hack "to work around no current point bug" that was breaking 79790 canvas tests. 79791 79792 Fix warnings. 79793 79794 * platform/graphics/cairo/CairoPath.h: 79795 (WebCore::CairoPath::CairoPath): 79796 * platform/graphics/cairo/GraphicsContextCairo.cpp: 79797 (WebCore::GraphicsContext::addInnerRoundedRectClip): 79798 (WebCore::GraphicsContext::strokeRect): 79799 * platform/graphics/cairo/PathCairo.cpp: 79800 (WebCore::Path::isEmpty): 79801 * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: 79802 (WebCore::SVGPaintServerGradient::setup): 79803 * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: 79804 (WebCore::SVGPaintServerSolid::setup): 79805 79806 2007-10-22 Simon Hausmann <hausmann (a] kde.org> 79807 79808 Reviewed by Nikolas. 79809 79810 Fix compilation from a clean build with the database feature disabled. 79811 JSCustomVersionChangeCallback.cpp doesn't actually need the SQL header file, just ScriptInterpreter. 79812 79813 * bindings/js/JSCustomVersionChangeCallback.cpp: 79814 * page/InspectorController.cpp: 79815 79816 2007-10-22 Andrew Wellington <proton (a] wiretapped.net> 79817 79818 Reviewed by Mark Rowe. 79819 79820 Fix for local database support after r26879 79821 Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set 79822 79823 * Configurations/WebCore.xcconfig: 79824 * WebCore.pro: 79825 * WebCore.vcproj/build-generated-files.sh: 79826 79827 2007-10-22 Simon Hausmann <hausmann (a] kde.org> 79828 79829 Reviewed by Lars. 79830 79831 Disable the Database feature for the qmake build for now. 79832 79833 * WebCore.pro: 79834 79835 2007-10-22 Simon Hausmann <hausmann (a] kde.org> 79836 79837 Reviewed by Lars. 79838 79839 Make disabling the database feature (ENABLE_DATABASE=0) work by 79840 placing various #ifdefs into the code and making the compilation of 79841 some files optional. 79842 79843 * WebCore.pro: 79844 * dom/Document.cpp: 79845 (WebCore::Document::~Document): 79846 (WebCore::Document::defaultEventHandler): 79847 * dom/Document.h: 79848 * page/DOMWindow.cpp: 79849 * page/DOMWindow.h: 79850 * page/DOMWindow.idl: 79851 * page/InspectorController.cpp: 79852 (WebCore::InspectorController::windowScriptObjectAvailable): 79853 (WebCore::InspectorController::populateScriptResources): 79854 (WebCore::InspectorController::clearDatabaseScriptResources): 79855 (WebCore::InspectorController::didCommitLoad): 79856 * page/InspectorController.h: 79857 79858 2007-10-22 Alp Toker <alp (a] atoker.com> 79859 79860 Reviewed by Mark Rowe. 79861 79862 http://bugs.webkit.org/show_bug.cgi?id=15611 79863 [GTK] Text selection behaviour different in Debug and Release builds 79864 79865 http://bugs.webkit.org/show_bug.cgi?id=15578 79866 [GTK] Text editor caret does not blink 79867 79868 Never allow control to reach the end of non-void functions. 79869 79870 Return more sensible values, or in some cases, nulls. 79871 79872 * page/gtk/EventHandlerGtk.cpp: 79873 (WebCore::isKeyboardOptionTab): 79874 (WebCore::EventHandler::tabsToAllControls): 79875 (WebCore::EventHandler::eventActivatedView): 79876 79877 2007-10-22 Holger Freyther <zecke (a] selfish.org> 79878 79879 Reviewed by Simon Hausmann <hausmann (a] kde.org>. 79880 79881 Implement ResourceHandle::loadResourceSynchronously using ResourceHandle and a special ResourceHandleClient. This approach has the possible danger of reentrancy. 79882 79883 * platform/network/qt/ResourceHandleQt.cpp: 79884 (WebCore::WebCoreSynchronousLoader::resourceResponse): 79885 (WebCore::WebCoreSynchronousLoader::resourceError): 79886 (WebCore::WebCoreSynchronousLoader::data): 79887 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): 79888 (WebCore::WebCoreSynchronousLoader::didReceiveResponse): 79889 (WebCore::WebCoreSynchronousLoader::didReceiveData): 79890 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 79891 (WebCore::WebCoreSynchronousLoader::didFail): 79892 (WebCore::WebCoreSynchronousLoader::waitForCompletion): 79893 (WebCore::ResourceHandle::loadResourceSynchronously): 79894 79895 2007-10-22 Holger Hans Peter Freyther <zecke (a] selfish.org> 79896 79897 Reviewed by Lars Knoll <lars (a] trolltech.com>. 79898 79899 Style fix. It is allowed to attempt to delete 0. 79900 79901 * platform/qt/ClipboardQt.cpp: 79902 79903 2007-10-22 Holger Hans Peter Freyther <zecke (a] selfish.org> 79904 79905 Reviewed by Lars Knoll <lars (a] trolltech.com>. 79906 79907 Make it actually localizable.... 79908 79909 * platform/qt/Localizations.cpp: 79910 (WebCore::submitButtonDefaultLabel): 79911 (WebCore::inputElementAltText): 79912 (WebCore::searchableIndexIntroduction): 79913 (WebCore::fileButtonChooseFileLabel): 79914 (WebCore::fileButtonNoFileSelectedLabel): 79915 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 79916 (WebCore::contextMenuItemTagDownloadLinkToDisk): 79917 (WebCore::contextMenuItemTagCopyLinkToClipboard): 79918 (WebCore::contextMenuItemTagOpenImageInNewWindow): 79919 (WebCore::contextMenuItemTagDownloadImageToDisk): 79920 (WebCore::contextMenuItemTagCopyImageToClipboard): 79921 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 79922 (WebCore::contextMenuItemTagCopy): 79923 (WebCore::contextMenuItemTagGoBack): 79924 (WebCore::contextMenuItemTagGoForward): 79925 (WebCore::contextMenuItemTagStop): 79926 (WebCore::contextMenuItemTagReload): 79927 (WebCore::contextMenuItemTagCut): 79928 (WebCore::contextMenuItemTagPaste): 79929 (WebCore::contextMenuItemTagNoGuessesFound): 79930 (WebCore::contextMenuItemTagIgnoreSpelling): 79931 (WebCore::contextMenuItemTagLearnSpelling): 79932 (WebCore::contextMenuItemTagSearchWeb): 79933 (WebCore::contextMenuItemTagLookUpInDictionary): 79934 (WebCore::contextMenuItemTagOpenLink): 79935 (WebCore::contextMenuItemTagIgnoreGrammar): 79936 (WebCore::contextMenuItemTagSpellingMenu): 79937 (WebCore::contextMenuItemTagShowSpellingPanel): 79938 (WebCore::contextMenuItemTagCheckSpelling): 79939 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 79940 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 79941 (WebCore::contextMenuItemTagFontMenu): 79942 (WebCore::contextMenuItemTagBold): 79943 (WebCore::contextMenuItemTagItalic): 79944 (WebCore::contextMenuItemTagUnderline): 79945 (WebCore::contextMenuItemTagOutline): 79946 (WebCore::contextMenuItemTagWritingDirectionMenu): 79947 (WebCore::contextMenuItemTagDefaultDirection): 79948 (WebCore::contextMenuItemTagLeftToRight): 79949 (WebCore::contextMenuItemTagRightToLeft): 79950 (WebCore::contextMenuItemTagInspectElement): 79951 (WebCore::searchMenuNoRecentSearchesText): 79952 (WebCore::searchMenuRecentSearchesText): 79953 79954 2007-10-22 Holger Hans Peter Freyther <zecke (a] selfish.org> 79955 79956 Reviewed by Lars Knoll <lars (a] trolltech.com>. 79957 79958 Adjust the code to obey the Coding Style. 79959 79960 * platform/qt/Localizations.cpp: 79961 (WebCore::submitButtonDefaultLabel): 79962 (WebCore::inputElementAltText): 79963 (WebCore::resetButtonDefaultLabel): 79964 (WebCore::defaultLanguage): 79965 (WebCore::searchableIndexIntroduction): 79966 (WebCore::fileButtonChooseFileLabel): 79967 (WebCore::fileButtonNoFileSelectedLabel): 79968 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 79969 (WebCore::contextMenuItemTagDownloadLinkToDisk): 79970 (WebCore::contextMenuItemTagCopyLinkToClipboard): 79971 (WebCore::contextMenuItemTagOpenImageInNewWindow): 79972 (WebCore::contextMenuItemTagDownloadImageToDisk): 79973 (WebCore::contextMenuItemTagCopyImageToClipboard): 79974 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 79975 (WebCore::contextMenuItemTagCopy): 79976 (WebCore::contextMenuItemTagGoBack): 79977 (WebCore::contextMenuItemTagGoForward): 79978 (WebCore::contextMenuItemTagStop): 79979 (WebCore::contextMenuItemTagReload): 79980 (WebCore::contextMenuItemTagCut): 79981 (WebCore::contextMenuItemTagPaste): 79982 (WebCore::contextMenuItemTagNoGuessesFound): 79983 (WebCore::contextMenuItemTagIgnoreSpelling): 79984 (WebCore::contextMenuItemTagLearnSpelling): 79985 (WebCore::contextMenuItemTagSearchWeb): 79986 (WebCore::contextMenuItemTagLookUpInDictionary): 79987 (WebCore::contextMenuItemTagOpenLink): 79988 (WebCore::contextMenuItemTagIgnoreGrammar): 79989 (WebCore::contextMenuItemTagSpellingMenu): 79990 (WebCore::contextMenuItemTagShowSpellingPanel): 79991 (WebCore::contextMenuItemTagCheckSpelling): 79992 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 79993 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 79994 (WebCore::contextMenuItemTagFontMenu): 79995 (WebCore::contextMenuItemTagBold): 79996 (WebCore::contextMenuItemTagItalic): 79997 (WebCore::contextMenuItemTagUnderline): 79998 (WebCore::contextMenuItemTagOutline): 79999 (WebCore::contextMenuItemTagWritingDirectionMenu): 80000 (WebCore::contextMenuItemTagDefaultDirection): 80001 (WebCore::contextMenuItemTagLeftToRight): 80002 (WebCore::contextMenuItemTagRightToLeft): 80003 (WebCore::contextMenuItemTagInspectElement): 80004 (WebCore::searchMenuNoRecentSearchesText): 80005 (WebCore::searchMenuRecentSearchesText): 80006 (WebCore::searchMenuClearRecentSearchesText): 80007 (WebCore::AXWebAreaText): 80008 (WebCore::AXLinkText): 80009 (WebCore::AXListMarkerText): 80010 (WebCore::AXImageMapText): 80011 (WebCore::AXHeadingText): 80012 (WebCore::unknownFileSizeText): 80013 80014 2007-10-22 Holger Hans Peter Freyther <zecke (a] selfish.org> 80015 80016 Reviewed by Lars Knoll <lars (a] trolltech.com>. 80017 80018 Return a non empty string in more functions. 80019 80020 * platform/qt/Localizations.cpp: 80021 (WebCore::contextMenuItemTagShowSpellingPanel): 80022 80023 2007-10-22 Holger Hans Peter Freyther <zecke (a] selfish.org> 80024 80025 Reviewed by Lars Knoll <lars (a] trolltech.com>. 80026 80027 Shrink the TemporaryLinkStubs and move the 80028 Frame::setNeedsReapplyStyles stub to FrameQt.cpp 80029 80030 * page/qt/FrameQt.cpp: 80031 (WebCore::Frame::setNeedsReapplyStyles): 80032 * platform/qt/TemporaryLinkStubs.cpp: 80033 80034 2007-10-22 Holger Freyther <zecke (a] selfish.org> 80035 80036 Reviewed by Lars Knoll <lars (a] trolltech.com>. 80037 80038 Implement the WebCore::fileSize function. The 80039 implementation assumes that QFileInfo will cache 80040 the result of the stat so that info.size() and 80041 info.exists() use the same stat result. 80042 80043 * platform/qt/FileSystemQt.cpp: 80044 (WebCore::deleteFile): 80045 * platform/qt/TemporaryLinkStubs.cpp: 80046 80047 2007-10-21 Alp Toker <alp (a] atoker.com> 80048 80049 Reviewed by Mark Rowe. 80050 80051 Use the portable GLib time function. 80052 80053 Use event timestamps rather than the current time where available. 80054 80055 Rename SharedTimerLinux.cpp since it isn't Linux-specific. 80056 80057 * WebCore.pro: 80058 * platform/gtk/MouseEventGtk.cpp: 80059 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 80060 * platform/gtk/SystemTimeGtk.cpp: Added. 80061 (WebCore::currentTime): 80062 * platform/gtk/SharedTimerGtk.cpp: Copied from platform/gtk/SharedTimerLinux.cpp. 80063 * platform/gtk/SharedTimerLinux.cpp: Removed. 80064 80065 2007-10-22 David Hyatt <hyatt (a] apple.com> 80066 80067 Fix for 15596, regression from my transform changes. Preserve null checks on the clip rects calls for parent(), 80068 since the method is called on orphaned layers. This is not very well understood. 80069 80070 Reviewed by eric 80071 80072 * rendering/RenderLayer.cpp: 80073 (WebCore::RenderLayer::calculateClipRects): 80074 (WebCore::RenderLayer::calculateRects): 80075 80076 2007-10-21 Mark Rowe <mrowe (a] apple.com> 80077 80078 Reviewed by Alp. 80079 80080 http://bugs.webkit.org/show_bug.cgi?id=15575 80081 Bug 15575: [GTK] Implement threading using GThread 80082 80083 * WebCore.pro: Remove ThreadingPthreads.cpp from the Gtk build and link against libgthreads. 80084 * loader/icon/IconDatabase.cpp: Initialize threading before the mutex is created to be compatible with gthreads. 80085 (WebCore::iconDatabase): 80086 (WebCore::IconDatabase::open): 80087 * platform/Threading.h: 80088 * platform/gtk/ThreadingGtk.cpp: Threading implementation in terms of GThread, based heavily on the pthreads implementation. 80089 (WebCore::initializeThreading): 80090 (WebCore::threadMapMutex): 80091 (WebCore::threadMap): 80092 (WebCore::establishIdentifierForThread): 80093 (WebCore::threadForIdentifier): 80094 (WebCore::clearThreadForIdentifier): 80095 (WebCore::createThread): 80096 (WebCore::waitForThreadCompletion): 80097 (WebCore::detachThread): 80098 (WebCore::Mutex::Mutex): 80099 (WebCore::Mutex::~Mutex): 80100 (WebCore::Mutex::lock): 80101 (WebCore::Mutex::tryLock): 80102 (WebCore::Mutex::unlock): 80103 (WebCore::ThreadCondition::ThreadCondition): 80104 (WebCore::ThreadCondition::~ThreadCondition): 80105 (WebCore::ThreadCondition::wait): 80106 (WebCore::ThreadCondition::signal): 80107 (WebCore::ThreadCondition::broadcast): 80108 * storage/Database.cpp: 80109 (WebCore::Database::Database): Initialize threading when Database is used so that it will be initialized even 80110 if the icon database is compiled out 80111 80112 2007-10-21 Mark Rowe <mrowe (a] apple.com> 80113 80114 Build fix. 80115 80116 * ksvg2/css/SVGCSSStyleSelector.cpp: Use fabsf when dealing with a float to prevent the 80117 implicit conversion warning. 80118 80119 2007-10-21 Alp Toker <alp (a] atoker.com> 80120 80121 Reviewed by Mark Rowe. 80122 80123 Implement spelling and grammar mistake underlining with Pango/Cairo. 80124 80125 This change does not add any actual support for spelling or grammar 80126 checking to any port. 80127 80128 * platform/graphics/cairo/GraphicsContextCairo.cpp: 80129 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 80130 80131 2007-10-21 Alp Toker <alp (a] atoker.com> 80132 80133 Reviewed by Mark Rowe. 80134 80135 Cairo canvas fixes: 80136 80137 Fix a refcounting issue leading to leaks and crashes on canvas 80138 content. 80139 80140 Delegate memory management of canvas images to Cairo. 80141 80142 Mark unhandled conditions with notImplemented() instead of silently 80143 ignoring them. 80144 80145 * html/CanvasRenderingContext2D.cpp: 80146 (WebCore::CanvasRenderingContext2D::drawImage): 80147 * html/CanvasStyle.cpp: 80148 (WebCore::CanvasStyle::applyStrokeColor): 80149 * html/CanvasStyle.h: 80150 * html/HTMLCanvasElement.cpp: 80151 (WebCore::HTMLCanvasElement::HTMLCanvasElement): 80152 (WebCore::HTMLCanvasElement::~HTMLCanvasElement): 80153 (WebCore::HTMLCanvasElement::reset): 80154 (WebCore::HTMLCanvasElement::paint): 80155 (WebCore::HTMLCanvasElement::createDrawingContext): 80156 (WebCore::HTMLCanvasElement::createPlatformImage): 80157 80158 2007-10-21 Nikolas Zimmermann <zimmermann (a] kde.org> 80159 80160 Reviewed by Eric. 80161 80162 Handle glyph-orientation-vertical / glyph-orientation-horizontal SVG CSS properties. 80163 80164 The SVG layouting code itself doesn't handle these properties yet, 80165 it's just about recognizing them in the SVG CSS engine. 80166 80167 * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp: 80168 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): 80169 * ksvg2/css/SVGCSSParser.cpp: 80170 (WebCore::CSSParser::parseSVGValue): 80171 * ksvg2/css/SVGCSSStyleSelector.cpp: 80172 (WebCore::CSSStyleSelector::applySVGProperty): 80173 * ksvg2/css/SVGRenderStyle.h: 80174 (WebCore::SVGRenderStyle::InheritedFlags::operator==): 80175 (WebCore::SVGRenderStyle::InheritedFlags::operator!=): 80176 (WebCore::SVGRenderStyle::setBitDefaults): 80177 * ksvg2/css/SVGRenderStyleDefs.h: 80178 80179 2007-10-21 Christian Dywan <christian (a] twotoasts.de> 80180 80181 Reviewed by Alp. 80182 80183 http://bugs.webkit.org/show_bug.cgi?id=15589 80184 Use glib's path separator on gtk 80185 80186 * platform/gtk/FileSystemGtk.cpp: 80187 (WebCore::pathByAppendingComponent): 80188 80189 2007-10-21 Dan Bernstein <mitz (a] apple.com> 80190 80191 Reviewed by Dave Hyatt. 80192 80193 - fix http://bugs.webkit.org/show_bug.cgi?id=15259 80194 <rdar://problem/5499902> REGRESSION: Text overflows when using word spacing and centering (affects myspace.com music videos page) 80195 80196 Test: fast/text/word-space.html 80197 80198 * rendering/RenderBlock.cpp: 80199 (WebCore::stripTrailingSpace): Added word-spacing to the width of the 80200 space being stripped out. 80201 * rendering/RenderText.cpp: 80202 (WebCore::RenderText::trimmedPrefWidths): Changed handling of 80203 leading space. Since Font::width includes leading space width but not 80204 leading word spacing, this method needs to either remove the width of a 80205 space character or add word spacing, 80206 depending on stripFrontSpaces. 80207 (WebCore::RenderText::calcPrefWidths): Corrected the check for adding 80208 trailing word spacing so that it would work in the case where the last 80209 space is ignored. 80210 * rendering/bidi.cpp: 80211 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to 80212 actually add word spacing to the total width. 80213 80214 2007-10-20 David Hyatt <hyatt (a] apple.com> 80215 80216 Land support for the transform CSS property. Basic painting now works properly. There are many open issues 80217 that will have to be covered by individual bugs. 80218 80219 Reviewed by olliej 80220 80221 * css/CSSParser.cpp: 80222 (WebCore::CSSParser::validUnit): 80223 (WebCore::CSSParser::parseTransform): 80224 * rendering/RenderLayer.cpp: 80225 (WebCore::RenderLayer::RenderLayer): 80226 (WebCore::RenderLayer::~RenderLayer): 80227 (WebCore::RenderLayer::updateLayerPositions): 80228 (WebCore::RenderLayer::updateTransform): 80229 (WebCore::transparencyClipBox): 80230 (WebCore::RenderLayer::beginTransparencyLayers): 80231 (WebCore::RenderLayer::paintLayer): 80232 (WebCore::RenderLayer::calculateClipRects): 80233 (WebCore::RenderLayer::calculateRects): 80234 (WebCore::RenderLayer::childrenClipRect): 80235 (WebCore::RenderLayer::selfClipRect): 80236 (WebCore::RenderLayer::intersectsDamageRect): 80237 (WebCore::RenderLayer::boundingBox): 80238 * rendering/RenderLayer.h: 80239 * rendering/RenderObject.cpp: 80240 (WebCore::RenderObject::containingBlock): 80241 (WebCore::RenderObject::container): 80242 * rendering/RenderStyle.cpp: 80243 (WebCore::RenderStyle::applyTransform): 80244 * rendering/RenderStyle.h: 80245 (WebCore::TransformOperation::isScaleOperation): 80246 (WebCore::TransformOperation::isRotateOperation): 80247 (WebCore::TransformOperation::isSkewOperation): 80248 (WebCore::TransformOperation::isTranslateOperation): 80249 (WebCore::TransformOperation::isMatrixOperation): 80250 (WebCore::ScaleTransformOperation::isScaleOperation): 80251 (WebCore::RotateTransformOperation::isRotateOperation): 80252 (WebCore::SkewTransformOperation::isSkewOperation): 80253 (WebCore::TranslateTransformOperation::isTranslateOperation): 80254 (WebCore::MatrixTransformOperation::isMatrixOperation): 80255 * rendering/RenderTableRow.h: 80256 (WebCore::RenderTableRow::requiresLayer): 80257 * rendering/RenderTreeAsText.cpp: 80258 (WebCore::writeLayers): 80259 80260 2007-10-20 Timothy Hatcher <timothy (a] apple.com> 80261 80262 Reviewed by Adam. 80263 80264 Add basic @font-face to the Web Inspector. 80265 80266 * page/InspectorController.cpp: 80267 (WebCore::InspectorResource::type): Check for CachedResource::FontResource. 80268 * page/inspector/Resource.js: Add support for Font types and font preview in the icon. 80269 * page/inspector/ResourcePanel.js: Show a font preview for font resources. 80270 * page/inspector/inspector.css: Style for the font preview and font icon. 80271 * page/inspector/inspector.js: Add font mime types. 80272 80273 2007-10-20 Sam Weinig <sam (a] webkit.org> 80274 80275 Reviewed by Mark Rowe. 80276 80277 Fixes: 80278 - http://bugs.webkit.org/show_bug.cgi?id=14393 80279 Column on the left side of the Web Inspector should have a smaller minimum width for resizing 80280 - http://bugs.webkit.org/show_bug.cgi?id=14394 80281 Left pane of the Web Inspector "shakes" when resizing it to maximum width 80282 80283 * page/inspector/inspector.js: Change the constraint logic to only enforce a 100px min-width 80284 and window.innerWidth - 100 max-width for the sidebar. The change also makes the viewbuttons 80285 move with the sidebar. 80286 80287 2007-10-20 Dan Bernstein <mitz (a] apple.com> 80288 80289 Reviewed by Dave Hyatt. 80290 80291 - fix http://bugs.webkit.org/show_bug.cgi?id=15208 80292 display:table causes the collapsed text to show at a different position when expanded 80293 80294 Test: fast/table/insert-before-anonymous-ancestors.html 80295 80296 * rendering/RenderTable.cpp: 80297 (WebCore::RenderTable::addChild): Rolled out r11579. I think whatever 80298 that change was supposed to accomplish has since been done in other 80299 places in the code. 80300 80301 2007-10-20 Mark Rowe <mrowe (a] apple.com> 80302 80303 Reviewed by Dave Hyatt. 80304 80305 Fix http://bugs.webkit.org/show_bug.cgi?id=15584 80306 Bug 15584: REGRESSION(r26696): GtkLauncher segfaults on WebCore::WidthIterator::advance 80307 80308 * platform/Font.cpp: 80309 (WebCore::Font::glyphDataForCharacter): If the fallback page exists but does not have a 80310 glyph for the character, fall back to the missing glyph data rather than returning an 80311 invalid GlyphData. 80312 80313 2007-10-20 Jasper Bryant-Greene <m (a] ni.ac.nz> 80314 80315 Reviewed by Maciej. 80316 80317 Changed the hard-coded scroll delta in WheelEventGtk from 120 to 0.25, 80318 as suggested by George Wright in #15108 (which this patch will 80319 resolve). 80320 80321 This gives a more sane scrolling behaviour, rather than the 80322 jumping to the end or start of the document as occurred previously. 80323 80324 * platform/gtk/WheelEventGtk.cpp: 80325 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 80326 80327 2007-10-20 Alp Toker <alp (a] atoker.com> 80328 80329 Reviewed by Eric. 80330 80331 Support text boundary detection. 80332 Move TextBoundariesWin.cpp to platform/ since it's portable and useful. 80333 Split out and implement some TemporaryLinkStubs. 80334 80335 * WebCore.pro: 80336 * WebCore.vcproj/WebCore.vcproj: 80337 * platform/TextBoundariesICU.cpp: Copied from WebCore/platform/win/TextBoundariesWin.cpp. 80338 * platform/gtk/Language.cpp: Added. 80339 (WebCore::defaultLanguage): 80340 * platform/gtk/TemporaryLinkStubs.cpp: 80341 * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Added. 80342 (WebCore::currentTextBreakLocaleID): 80343 * platform/win/TextBoundariesWin.cpp: Removed. 80344 80345 2007-10-20 Mark Rowe <mrowe (a] apple.com> 80346 80347 Reviewed by Tim Hatcher. 80348 80349 Workaround for http://bugs.webkit.org/show_bug.cgi?id=15574 80350 Bug 15574: Web Inspector doesn't work with the new Database feature 80351 80352 The executeSql callback is executed in the security domain of the web page that owns the database, 80353 while the inspector's window object is in the callback functions scope chain. This is leading to a 80354 security violation when the callback attempts to access "document". We can work around this by 80355 ensuring that "document" can be found in the scope chain before the window object. 80356 80357 * page/inspector/DatabasePanel.js: 80358 80359 2007-10-20 Darin Adler <darin (a] apple.com> 80360 80361 Reviewed by Maciej. 80362 80363 - http://bugs.webkit.org/show_bug.cgi?id=15567 80364 speed up hashing const char* by removing call to strlen 80365 80366 This includes one other fix as well. Both were from a day where I did some 80367 profiling to find hot spots when running the page load test. 80368 80369 * platform/StringImpl.cpp: 80370 (WebCore::StringImpl::computeHash): Compute the hash without calling strlen. 80371 Also change the argument names to not confusingly use m_ prefixes. 80372 (WebCore::StringImpl::createStrippingNull): Added a faster case for strings that 80373 don't have null. 80374 80375 2007-10-20 Mark Rowe <mrowe (a] apple.com> 80376 80377 Reviewed by Alp. 80378 80379 Gtk changes needed to enable HTML 5 client-side database storage. 80380 80381 * WebCore.pro: Have Gtk use ThreadingPthreads.cpp. 80382 * platform/pthreads/ThreadingPthreads.cpp: Include errno so that EDEADLK and EBUSY are available. 80383 80384 2007-10-20 Mark Rowe <mrowe (a] apple.com> 80385 80386 Reviewed by Alp. 80387 80388 Implement callOnMainThread for Gtk+ via a one-shot zero-delay timer that will be dispatched 80389 from the main event loop. 80390 80391 * WebCore.pro: 80392 * platform/gtk/TemporaryLinkStubs.cpp: 80393 * platform/gtk/ThreadingGtk.cpp: Added. 80394 (WebCore::callFunctionOnMainThread): 80395 (WebCore::callOnMainThread): 80396 80397 2007-10-20 Nikolas Zimmermann <zimmermann (a] kde.org> 80398 80399 Reviewed by Eric. 80400 80401 Fix non-functional display="inline" / display="none" for SVG text. 80402 80403 Fixes: svg/W3C-SVG-1.1/animate-elem-39-t.svg (display="inline" support) 80404 Fixes: svg/batik/text/textProperties2.svg (display="inline/none" support) 80405 Fixes: svg/carto.net/tabgroup.svg (display="none" support, stray content before layouting) 80406 80407 * css/svg.css: Remove "important" flag on text/foreignObject display: block property 80408 * rendering/RenderSVGBlock.cpp: 80409 (WebCore::RenderSVGBlock::setStyle): 80410 80411 2007-10-20 Mark Rowe <mrowe (a] apple.com> 80412 80413 Reviewed by Alp. 80414 80415 Replace #ifdef'd code with the appropriate use of a forwarding header. 80416 80417 * ForwardingHeaders/kjs/array_instance.h: Added. 80418 * bindings/js/JSDatabaseCustom.cpp: 80419 80420 2007-10-20 Nikolas Zimmermann <zimmermann (a] kde.org> 80421 80422 Reviewed by Oliver. 80423 80424 Add support for 'kerning' property in SVG text layout code. 80425 Support all textLength/lengthAdjust modes on normal text & textPaths. 80426 80427 Support letter & word spacing on textPath. 80428 Fix text selection when any spacing (letter/word/kerning) is involved. 80429 80430 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15571 80431 Fixes: svg/batik/text/textOnPathSpaces.svg (spacing) 80432 svg/batik/text/textLayout.svg (kerning support) 80433 svg/text/text-spacing-01-b.svg (text selection) 80434 80435 * platform/Font.cpp: 80436 (WebCore::WidthIterator::advance): 80437 * platform/TextStyle.h: 80438 (WebCore::TextStyle::TextStyle): 80439 (WebCore::TextStyle::spacingDisabled): 80440 (WebCore::TextStyle::disableSpacing): 80441 * rendering/SVGCharacterLayoutInfo.cpp: 80442 (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo): 80443 (WebCore::SVGCharacterLayoutInfo::nextPathLayoutPointAndAngle): 80444 (WebCore::SVGCharacterLayoutInfo::setInPathLayout): 80445 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): 80446 (WebCore::SVGChar::characterTransform): 80447 * rendering/SVGCharacterLayoutInfo.h: 80448 (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo): 80449 * rendering/SVGRootInlineBox.cpp: 80450 (WebCore::closeTextChunk): 80451 (WebCore::calculateKerning): 80452 (WebCore::SVGRootInlineBox::placeBoxesHorizontally): 80453 (WebCore::svgTextStyleForInlineTextBox): 80454 (WebCore::calculateTextAnchorShiftForTextChunk): 80455 (WebCore::applyTextAnchorToTextChunk): 80456 (WebCore::calculateTextLengthCorrectionForTextChunk): 80457 (WebCore::applyTextLengthCorrectionToTextChunk): 80458 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): 80459 (WebCore::SVGRootInlineBox::buildLayoutInformation): 80460 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 80461 (WebCore::SVGRootInlineBox::buildTextChunks): 80462 (WebCore::SVGRootInlineBox::layoutTextChunks): 80463 * rendering/SVGRootInlineBox.h: 80464 80465 2007-10-20 Rodney Dawes <dobey (a] wayofthemonkey.com> 80466 80467 Reviewd by Darin. 80468 80469 http://bugs.webkit.org/show_bug.cgi?id=15563 80470 Fix conflict with X11 Window type in WebCore 80471 80472 * WebCore/bindings/js/JSDocumentCustom.cpp: 80473 * WebCore/bindings/js/JSHTMLDocumentCustom.cpp: 80474 * WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp: 80475 * WebCore/bindings/js/kjs_dom.cpp: 80476 * WebCore/bindings/js/kjs_events.cpp: 80477 * WebCore/bindings/js/kjs_proxy.cpp: 80478 * WebCore/history/CachedPage.cpp: 80479 * WebCore/page/Chrome.cpp: 80480 * WebCore/page/Frame.cpp: 80481 80482 2007-10-20 Simon Hausmann <hausmann (a] kde.org> 80483 80484 Build fix, not reviewed. 80485 80486 Fix the Qt build by adding the two missing FileSystem functions. 80487 80488 * platform/qt/FileSystemQt.cpp: 80489 (WebCore::makeAllDirectories): 80490 (WebCore::pathByAppendingComponent): 80491 80492 2007-10-19 Alp Toker <alp (a] atoker.com> 80493 80494 Reviewed by Oliver. 80495 80496 GTK+ build fix enabling the new local database storage feature. 80497 There is also a prospective Qt build fix. 80498 80499 * WebCore.pro: 80500 * bindings/js/JSDatabaseCustom.cpp: 80501 * platform/gtk/FileSystemGtk.cpp: 80502 (WebCore::pathByAppendingComponent): 80503 (WebCore::makeAllDirectories): 80504 80505 2007-10-19 Andrew Wellington <proton (a] wiretapped.net> 80506 80507 Reviewed by Brady Eidson. 80508 80509 Mac build fix. 80510 80511 * WebCore.xcodeproj/project.pbxproj: 80512 80513 2007-10-19 Alp Toker <alp (a] atoker.com> 80514 80515 Reviewed by Oliver. 80516 80517 Use platform colors for text selection. 80518 Update the cache when the GTK style is changed. 80519 80520 * platform/gtk/RenderThemeGtk.cpp: 80521 (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): 80522 (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): 80523 (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): 80524 (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): 80525 (WebCore::RenderThemeGtk::gtkStyleSet): 80526 (WebCore::RenderThemeGtk::gtkEntry): 80527 * platform/gtk/RenderThemeGtk.h: 80528 80529 2007-10-19 Adele Peterson <adele (a] apple.com> 80530 80531 Reviewed by Beth. 80532 80533 Fix for: <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com 80534 80535 Test: fast/forms/menulist-no-overflow.html 80536 80537 * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle): Don't allow overflow on menu lists. 80538 80539 2007-10-19 Anders Carlsson <andersca (a] apple.com> 80540 80541 Reviewed by Brady. 80542 80543 Move some SQL-related classes to platform/sql. 80544 80545 * WebCore.vcproj/WebCore.vcproj: 80546 * WebCore.xcodeproj/project.pbxproj: 80547 * loader/icon/SQLDatabase.cpp: Removed. 80548 * loader/icon/SQLDatabase.h: Removed. 80549 * loader/icon/SQLStatement.cpp: Removed. 80550 * loader/icon/SQLStatement.h: Removed. 80551 * loader/icon/SQLTransaction.cpp: Removed. 80552 * loader/icon/SQLTransaction.h: Removed. 80553 * platform/sql/SQLDatabase.cpp: Copied from loader/icon/SQLDatabase.cpp. 80554 * platform/sql/SQLDatabase.h: Copied from loader/icon/SQLDatabase.h. 80555 * platform/sql/SQLStatement.cpp: Copied from loader/icon/SQLStatement.cpp. 80556 * platform/sql/SQLStatement.h: Copied from loader/icon/SQLStatement.h. 80557 * platform/sql/SQLTransaction.cpp: Copied from loader/icon/SQLTransaction.cpp. 80558 * platform/sql/SQLTransaction.h: Copied from loader/icon/SQLTransaction.h. 80559 80560 2007-10-19 Anders Carlsson <andersca (a] apple.com> 80561 80562 Reviewed by Adam. 80563 80564 Update to match the latest version of the spec. Now, executeSQL takes an array 80565 of SQL parameters instead of them being passed as arguments. 80566 80567 * bindings/js/JSDatabaseCustom.cpp: 80568 (WebCore::JSDatabase::executeSql): 80569 * page/inspector/DatabasePanel.js: 80570 * storage/Database.idl: 80571 80572 2007-10-19 Brady Eidson <beidson (a] apple.com> 80573 80574 Reviewed by Tim 80575 80576 Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :( 80577 80578 * storage/Database.cpp: 80579 (WebCore::Database::performOpenAndVerify): 80580 * storage/DatabaseTracker.cpp: 80581 (WebCore::DatabaseTracker::DatabaseTracker): 80582 80583 2007-10-19 Anders Carlsson <andersca (a] apple.com> 80584 80585 Release build fix. 80586 80587 * WebCore.vcproj/WebCore.vcproj: 80588 80589 2007-10-19 Brady Eidson <beidson (a] apple.com> 80590 80591 Remove stray printfs 80592 80593 * dom/Document.cpp: 80594 (WebCore::Document::Document): 80595 (WebCore::Document::~Document): 80596 80597 2007-10-19 Anders Carlsson <andersca (a] apple.com> 80598 80599 Reviewed by Brady. 80600 80601 Apparently the Win32 pthreads impl we use does not allow unlocking a mutex that has not 80602 already been locked, so lock the mutex first. 80603 80604 * storage/DatabaseThread.cpp: 80605 (WebCore::DatabaseThread::databaseThread): 80606 80607 2007-10-19 Brady Eidson <beidson (a] apple.com> 80608 80609 Better build fix 80610 80611 * loader/icon/SQLDatabase.cpp: 80612 (WebCore::SQLDatabase::authorizerFunction): Definite works by 3.3.13 80613 80614 2007-10-19 Brady Eidson <beidson (a] apple.com> 80615 80616 Build fix 80617 80618 * loader/icon/SQLDatabase.cpp: 80619 (WebCore::SQLDatabase::authorizerFunction): I don't know *when* these constants were 80620 added to SQLite, but I know they were by 3.4.0 80621 80622 2007-10-19 Brady Eidson <beidson (a] apple.com> 80623 Reviewed by Anders 80624 80625 Windows specific changes, as well as renaming Queue -> Deque 80626 80627 * ForwardingHeaders/wtf/Deque.h: Added. 80628 * ForwardingHeaders/wtf/Queue.h: Removed. 80629 * platform/win/FileSystemWin.cpp: 80630 (WebCore::fileSize): 80631 (WebCore::fileExists): 80632 (WebCore::deleteFile): 80633 (WebCore::pathByAppendingComponent): 80634 (WebCore::fileSystemRepresentation): 80635 (WebCore::makeAllDirectories): 80636 (WebCore::homeDirectoryPath): 80637 * storage/Database.h: 80638 * storage/DatabaseThread.cpp: 80639 (WebCore::DatabaseThread::documentGoingAway): 80640 (WebCore::DatabaseThread::databaseGoingAway): 80641 (WebCore::DatabaseThread::dispatchNextTaskIdentifier): 80642 (WebCore::DatabaseThread::scheduleTask): 80643 (WebCore::DatabaseThread::scheduleImmediateTask): 80644 * storage/DatabaseThread.h: 80645 80646 2007-10-19 Brady Eidson <beidson (a] apple.com> 80647 80648 Reviewed by Tim and Anders 80649 80650 Preliminary support for HTML5 local database storage (http://www.whatwg.org/specs/web-apps/current-work/) 80651 80652 The specification is still in flux but the fundamentals are pretty solid and we can start using and testing 80653 this implementation even while filing bugs to track changes in the spec as it becomes more final 80654 80655 There are some implementation details in this patch that seem unused or useless, but they remain in place 80656 while the spec is in flux and might go one way or another. 80657 80658 * platform/Logging.cpp: Add StorageAPI logging channel 80659 * platform/Logging.h: 80660 80661 * storage/Database.cpp: Added. 80662 (WebCore::Database::databaseInfoTableName): 80663 (WebCore::databaseVersionKey): 80664 (WebCore::Database::openDatabase): C++ version of the window.openDatabase() javascript API 80665 (WebCore::Database::Database): 80666 (WebCore::Database::~Database): 80667 (WebCore::Database::openAndVerifyVersion): 80668 (WebCore::retrieveTextResultFromDatabase): 80669 (WebCore::Database::getVersionFromDatabase): 80670 (WebCore::setTextValueInDatabase): 80671 (WebCore::Database::setVersionInDatabase): 80672 (WebCore::Database::databaseThreadGoingAway): May be removed in the future 80673 (WebCore::Database::disableAuthorizer): For internal (WebInspector) use to get around the authorizer's restrictions 80674 (WebCore::Database::enableAuthorizer): 80675 (WebCore::Database::guidForOriginAndName): Candidate for refactoring and/or moving to the database tracker. 80676 The GUID for each database identifier is currently for tracking the database version, but might be rescoped in the future 80677 (WebCore::Database::resetAuthorizer): 80678 (WebCore::Database::performPolicyChecks): Currently, the only post-executeSql policy check planned is the origin size usage 80679 (WebCore::Database::scheduleDatabaseCallback): 80680 (WebCore::Database::performOpenAndVerify): 80681 (WebCore::Database::performChangeVersion): 80682 (WebCore::Database::performExecuteSql): 80683 (WebCore::Database::performCloseTransaction): 80684 (WebCore::Database::performGetTableNames): 80685 (WebCore::Database::version): C++ version of the javascript API 80686 (WebCore::Database::changeVersion): Ditto 80687 (WebCore::Database::executeSql): Ditto 80688 (WebCore::Database::closeTransaction): Ditto 80689 (WebCore::Database::tableNames): For internal (WebInspector) use 80690 (WebCore::Database::deliverAllPendingCallbacks): 80691 (WebCore::Database::deliverPendingCallbacks): 80692 * storage/Database.h: Added. 80693 (WebCore::Database::databaseDebugName): For debug logging purposes 80694 * storage/Database.idl: Added. 80695 80696 * storage/DatabaseAuthorizer.cpp: Added. 80697 The DatabaseAuthorizer is used to both prevent the script from doing "illegal" things in sql as well as 80698 tracking when effects certain sql statements might have (such as increasing the size of the database) 80699 (WebCore::DatabaseAuthorizer::DatabaseAuthorizer): 80700 (WebCore::DatabaseAuthorizer::reset): 80701 (WebCore::DatabaseAuthorizer::createTable): 80702 (WebCore::DatabaseAuthorizer::createTempTable): 80703 (WebCore::DatabaseAuthorizer::dropTable): 80704 (WebCore::DatabaseAuthorizer::dropTempTable): 80705 (WebCore::DatabaseAuthorizer::allowAlterTable): 80706 (WebCore::DatabaseAuthorizer::createIndex): 80707 (WebCore::DatabaseAuthorizer::createTempIndex): 80708 (WebCore::DatabaseAuthorizer::dropIndex): 80709 (WebCore::DatabaseAuthorizer::dropTempIndex): 80710 (WebCore::DatabaseAuthorizer::createTrigger): 80711 (WebCore::DatabaseAuthorizer::createTempTrigger): 80712 (WebCore::DatabaseAuthorizer::dropTrigger): 80713 (WebCore::DatabaseAuthorizer::dropTempTrigger): 80714 (WebCore::DatabaseAuthorizer::createVTable): 80715 (WebCore::DatabaseAuthorizer::dropVTable): 80716 (WebCore::DatabaseAuthorizer::allowDelete): 80717 (WebCore::DatabaseAuthorizer::allowInsert): 80718 (WebCore::DatabaseAuthorizer::allowUpdate): 80719 (WebCore::DatabaseAuthorizer::allowRead): 80720 (WebCore::DatabaseAuthorizer::allowAnalyze): 80721 (WebCore::DatabaseAuthorizer::allowPragma): 80722 (WebCore::DatabaseAuthorizer::allowAttach): 80723 (WebCore::DatabaseAuthorizer::allowDetach): 80724 (WebCore::DatabaseAuthorizer::allowFunction): 80725 (WebCore::DatabaseAuthorizer::disable): 80726 (WebCore::DatabaseAuthorizer::enable): 80727 (WebCore::DatabaseAuthorizer::denyBasedOnTableName): Don't allow access to the __WebKit meta info table as 80728 it should be invisible to scripts 80729 * storage/DatabaseAuthorizer.h: Added. 80730 (WebCore::DatabaseAuthorizer::lastActionWasInsert): 80731 (WebCore::DatabaseAuthorizer::lastActionIncreasedSize): 80732 80733 * storage/DatabaseCallback.cpp: Added. 80734 Generic item to queue up for callbacks on the main thread for database activities that take place on 80735 a secondary thread 80736 (WebCore::DatabaseChangeVersionCallback::DatabaseChangeVersionCallback): 80737 (WebCore::DatabaseChangeVersionCallback::performCallback): 80738 (WebCore::DatabaseExecuteSqlCallback::DatabaseExecuteSqlCallback): 80739 (WebCore::DatabaseExecuteSqlCallback::performCallback): 80740 * storage/DatabaseCallback.h: Added. 80741 (WebCore::DatabaseCallback::~DatabaseCallback): 80742 (WebCore::DatabaseChangeVersionCallback::~DatabaseChangeVersionCallback): 80743 (WebCore::DatabaseExecuteSqlCallback::~DatabaseExecuteSqlCallback): 80744 80745 * storage/DatabaseTask.h: Added. 80746 Generic work-item to be queued up on the background database thread 80747 (WebCore::DatabaseTask::isComplete): 80748 (WebCore::DatabaseOpenTask::exceptionCode): 80749 (WebCore::DatabaseOpenTask::openSuccessful): 80750 (WebCore::DatabaseTableNamesTask::tableNames): 80751 * storage/DatabaseTask.cpp: Added. 80752 (WebCore::DatabaseTask::DatabaseTask): 80753 (WebCore::DatabaseTask::~DatabaseTask): 80754 (WebCore::DatabaseTask::performTask): 80755 (WebCore::DatabaseTask::lockForSynchronousScheduling): Used when the main thread needs this task accomplished 80756 synchronously 80757 (WebCore::DatabaseTask::waitForSynchronousCompletion): 80758 80759 (WebCore::DatabaseOpenTask::DatabaseOpenTask): 80760 (WebCore::DatabaseOpenTask::doPerformTask): 80761 80762 (WebCore::DatabaseExecuteSqlTask::DatabaseExecuteSqlTask): 80763 (WebCore::DatabaseExecuteSqlTask::doPerformTask): 80764 80765 (WebCore::DatabaseChangeVersionTask::DatabaseChangeVersionTask): 80766 (WebCore::DatabaseChangeVersionTask::doPerformTask): 80767 80768 (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask): 80769 (WebCore::DatabaseTableNamesTask::doPerformTask): 80770 80771 * storage/DatabaseThread.cpp: Added. 80772 The current design is that each Document will have its own DatabaseThread. This makes scripts on each 80773 individual document more response at the cost of adding more threads and potentially creating concurrency 80774 issues when the same database is open twice from two different documents 80775 (WebCore::DatabaseThread::DatabaseThread): 80776 (WebCore::DatabaseThread::~DatabaseThread): 80777 (WebCore::DatabaseThread::start): 80778 (WebCore::DatabaseThread::documentGoingAway): Called to shut the thread down when the document is destroyed 80779 (WebCore::DatabaseThread::databaseGoingAway): Remove all pending tasks for this database 80780 (WebCore::DatabaseThread::databaseThreadStart): 80781 (WebCore::DatabaseThread::databaseThread): 80782 (WebCore::DatabaseThread::dispatchNextTaskIdentifier): 80783 (WebCore::DatabaseThread::scheduleTask): 80784 (WebCore::DatabaseThread::scheduleImmediateTask): Schedule a task that gets to "cut to the front of the line" when 80785 the main thread requires a task be performed synchronously 80786 (WebCore::DatabaseThread::wakeWorkThread): 80787 * storage/DatabaseThread.h: Added. 80788 80789 * storage/DatabaseTracker.cpp: Added. 80790 The DatabaseTracker is the master management of all databases. It will keep track of the filename for a given 80791 unique database, keep track of the total disk usage per-origin, and policys per database/origin 80792 (WebCore::DatabaseTracker::setDatabasePath): 80793 (WebCore::DatabaseTracker::databasePath): 80794 (WebCore::DatabaseTracker::tracker): 80795 (WebCore::DatabaseTracker::DatabaseTracker): 80796 (WebCore::DatabaseTracker::fullPathForDatabase): 80797 (WebCore::DatabaseTracker::populateOrigins): 80798 (WebCore::DatabaseTracker::origins): 80799 (WebCore::DatabaseTracker::databaseNamesForOrigin): 80800 (WebCore::DatabaseTracker::addDatabase): 80801 (WebCore::DatabaseTracker::deleteAllDatabases): 80802 (WebCore::DatabaseTracker::deleteAllDatabasesForOrigin): 80803 * storage/DatabaseTracker.h: Added. 80804 80805 * storage/SQLCallback.h: Added. C++ version of the javascript executeSql() callback 80806 (WebCore::SQLCallback::~SQLCallback): 80807 * storage/SQLCallback.idl: Added. 80808 80809 * storage/SQLResultSet.cpp: Added. C++ version of the javascript SQLResultSet object 80810 (WebCore::SQLResultSet::SQLResultSet): 80811 (WebCore::SQLResultSet::insertId): 80812 (WebCore::SQLResultSet::rowsAffected): 80813 (WebCore::SQLResultSet::errorCode): 80814 (WebCore::SQLResultSet::error): 80815 (WebCore::SQLResultSet::rows): 80816 (WebCore::SQLResultSet::setInsertId): 80817 (WebCore::SQLResultSet::setRowsAffected): 80818 (WebCore::SQLResultSet::setErrorCode): 80819 (WebCore::SQLResultSet::setErrorMessage): 80820 * storage/SQLResultSet.h: Added. 80821 * storage/SQLResultSet.idl: Added. 80822 80823 * storage/SQLResultSetRowList.cpp: Added. C++ version of the javascript SQLResultSetRowList object 80824 (WebCore::SQLResultSetRowList::length): 80825 * storage/SQLResultSetRowList.h: Added. 80826 (WebCore::SQLResultSetRowList::columnNames): 80827 (WebCore::SQLResultSetRowList::values): 80828 (WebCore::SQLResultSetRowList::addColumn): 80829 (WebCore::SQLResultSetRowList::addResult): 80830 * storage/SQLResultSetRowList.idl: Added. 80831 80832 * storage/VersionChangeCallback.h: Added. C++ version of the javascript changeVersion() callback 80833 (WebCore::VersionChangeCallback::~VersionChangeCallback): 80834 * storage/VersionChangeCallback.idl: Added. 80835 80836 2007-10-19 Brady Eidson <beidson (a] apple.com> 80837 80838 Reviewed by Oliver + Same 80839 80840 Forwarding header for the new wtf/Queue.h 80841 80842 * ForwardingHeaders/wtf/Queue.h: Added. 80843 80844 2007-10-19 Anders Carlsson <beidson (a] apple.com> 80845 80846 Reviewed by Sam Weinig 80847 80848 Most of the Javascript binding support for the Storage API 80849 80850 * bindings/js/JSCustomSQLCallback.cpp: Added. 80851 (WebCore::JSCustomSQLCallback::JSCustomSQLCallback): 80852 (WebCore::JSCustomSQLCallback::handleEvent): 80853 * bindings/js/JSCustomSQLCallback.h: Added. 80854 Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches 80855 handleEvent to a JS function or a JS object with a handleEvent function. 80856 80857 * bindings/js/JSCustomVersionChangeCallback.cpp: Added. 80858 (WebCore::JSCustomVersionChangeCallback::JSCustomVersionChangeCallback): 80859 (WebCore::JSCustomVersionChangeCallback::handleEvent): 80860 * bindings/js/JSCustomVersionChangeCallback.h: Added. 80861 Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches 80862 handleEvent to a JS function or a JS object with a handleEvent function. 80863 80864 * bindings/js/JSDatabaseCustom.cpp: Added. 80865 (WebCore::JSDatabase::executeSql): 80866 Custom implementation of executeSql that takes an array of parameters. 80867 80868 (WebCore::JSDatabase::changeVersion): 80869 Custom implementation of changeVersion. 80870 80871 * bindings/js/JSSQLResultSetRowListCustom.cpp: Added. 80872 (WebCore::JSSQLResultSetRowList::item): 80873 Custom method that returns a JS object that corresponds to a given row in the database. 80874 80875 * bindings/scripts/CodeGeneratorJS.pm: 80876 80877 * page/DOMWindow.cpp: 80878 (WebCore::DOMWindow::openDatabase): 80879 * page/DOMWindow.h: 80880 * page/DOMWindow.idl: 80881 Add openDatabase implementation. 80882 80883 2007-10-19 Brady Eidson <beidson (a] apple.com> 80884 80885 Reviewed by Oliver 80886 80887 Added tons of utility to the FileSystem abstractions, including moving 80888 some stuff over from IconDatabase 80889 80890 * platform/FileSystem.h: 80891 80892 * platform/cf/FileSystemCF.cpp: Added. 80893 (WebCore::fileSystemRepresentation): 80894 80895 * platform/mac/FileSystemMac.mm: 80896 80897 * platform/posix/FileSystemPOSIX.cpp: Added. 80898 (WebCore::fileExists): 80899 (WebCore::deleteFile): 80900 (WebCore::fileSize): 80901 (WebCore::pathByAppendingComponent): 80902 (WebCore::makeAllDirectories): 80903 80904 2007-10-19 Timothy Hatcher <timothy (a] apple.com> 80905 80906 Reviewed by Adam Roben 80907 80908 Preliminary Web Inspector support for the Storage API 80909 (This patch does not include the support artwork) 80910 80911 * page/InspectorController.cpp: 80912 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): 80913 (WebCore::InspectorDatabaseResource::setScriptObject): 80914 (WebCore::databaseTableNames): Return the table names for a Database object. 80915 (WebCore::InspectorController::setWindowVisible): 80916 (WebCore::InspectorController::windowScriptObjectAvailable): 80917 (WebCore::InspectorController::populateScriptResources): 80918 (WebCore::InspectorController::addDatabaseScriptResource): Add the script object for the database. 80919 (WebCore::InspectorController::removeDatabaseScriptResource): Remove the script object for the database. 80920 (WebCore::InspectorController::clearDatabaseScriptResources): Remove all the database resources. 80921 (WebCore::InspectorController::didCommitLoad): Call clearDatabaseScriptResources(). 80922 (WebCore::InspectorController::didOpenDatabase): Make a new InspectorDatabaseResource and add it to m_databaseResources. 80923 * page/InspectorController.h: 80924 * page/inspector/Database.js: Added. 80925 * page/inspector/DatabasePanel.js: Added. 80926 * page/inspector/ResourceCategory.js: Make resource categories assume less about the resource. 80927 * page/inspector/inspector.css: Add styles for the database panel. 80928 * page/inspector/inspector.html: Include DatabasePanel.js 80929 * page/inspector/inspector.js: Support for adding and removing Database resources. 80930 80931 2007-10-19 Brady Eidson <beidson (a] apple.com> 80932 80933 Reviewed by Tim Hatcher 80934 80935 Added support for Chrome prompts required by the Storage API 80936 80937 * page/Chrome.cpp: 80938 (WebCore::Chrome::runDatabaseSizeLimitPrompt): 80939 * page/Chrome.h: 80940 * page/ChromeClient.h: 80941 * platform/graphics/svg/SVGImageEmptyClients.h: 80942 80943 2007-10-19 Brady Eidson <beidson (a] apple.com> 80944 80945 Contributions and Review by Anders 80946 80947 Various SQLite tweaks in preparation for the storage API 80948 80949 * loader/icon/SQLDatabase.cpp: 80950 (WebCore::SQLDatabase::~SQLDatabase): 80951 (WebCore::SQLDatabase::authorizerFunction): Static callback from sqlite for authorizer functions 80952 (WebCore::SQLDatabase::setAuthorizer): 80953 (WebCore::SQLDatabase::lock): 80954 (WebCore::SQLDatabase::unlock): 80955 * loader/icon/SQLDatabase.h: 80956 80957 * loader/icon/SQLStatement.cpp: 80958 (WebCore::SQLStatement::prepare): Switch to prepare16_v2 80959 (WebCore::SQLStatement::bindDouble): Added 80960 (WebCore::SQLStatement::bindValue): Bind a wrapped SQLValue object (described later) 80961 (WebCore::SQLStatement::bindParameterCount): Accessor to the sqlite3 API for validating statements 80962 * loader/icon/SQLStatement.h: 80963 (WebCore::SQLStatement::isPrepared): 80964 80965 * platform/sql/SQLAuthorizer.cpp: Added. Fully virtual interface to implement your own SQLite authorizer 80966 * platform/sql/SQLAuthorizer.h: Added. 80967 (WebCore::SQLAuthorizer::~SQLAuthorizer): 80968 (WebCore::SQLAuthorizer::createTable): 80969 (WebCore::SQLAuthorizer::createTempTable): 80970 (WebCore::SQLAuthorizer::dropTable): 80971 (WebCore::SQLAuthorizer::dropTempTable): 80972 (WebCore::SQLAuthorizer::allowAlterTable): 80973 (WebCore::SQLAuthorizer::createIndex): 80974 (WebCore::SQLAuthorizer::createTempIndex): 80975 (WebCore::SQLAuthorizer::dropIndex): 80976 (WebCore::SQLAuthorizer::dropTempIndex): 80977 (WebCore::SQLAuthorizer::createTrigger): 80978 (WebCore::SQLAuthorizer::createTempTrigger): 80979 (WebCore::SQLAuthorizer::dropTrigger): 80980 (WebCore::SQLAuthorizer::dropTempTrigger): 80981 (WebCore::SQLAuthorizer::createView): 80982 (WebCore::SQLAuthorizer::createTempView): 80983 (WebCore::SQLAuthorizer::dropView): 80984 (WebCore::SQLAuthorizer::dropTempView): 80985 (WebCore::SQLAuthorizer::createVTable): 80986 (WebCore::SQLAuthorizer::dropVTable): 80987 (WebCore::SQLAuthorizer::allowDelete): 80988 (WebCore::SQLAuthorizer::allowInsert): 80989 (WebCore::SQLAuthorizer::allowUpdate): 80990 (WebCore::SQLAuthorizer::allowTransaction): 80991 (WebCore::SQLAuthorizer::allowSelect): 80992 (WebCore::SQLAuthorizer::allowRead): 80993 (WebCore::SQLAuthorizer::allowAttach): 80994 (WebCore::SQLAuthorizer::allowDetach): 80995 (WebCore::SQLAuthorizer::allowReindex): 80996 (WebCore::SQLAuthorizer::allowAnalyze): 80997 (WebCore::SQLAuthorizer::allowFunction): 80998 80999 * platform/sql/SQLValue.cpp: Added. Contains a value for a SQLite database that can be one of a few types. 81000 For now, just a String or a double 81001 (WebCore::SQLValue::SQLValue): 81002 (WebCore::SQLValue::string): 81003 (WebCore::SQLValue::number): 81004 * platform/sql/SQLValue.h: Added. 81005 (WebCore::SQLValue::): 81006 (WebCore::SQLValue::SQLValue): 81007 (WebCore::SQLValue::type): 81008 81009 2007-10-19 Brady Eidson <beidson (a] apple.com> 81010 81011 Reviewed by Maciej 81012 81013 Changed IconDatabase over to use new FileSystem apis 81014 81015 * loader/icon/IconDatabase.cpp: 81016 (WebCore::IconDatabase::open): 81017 81018 2007-10-19 David Hyatt <hyatt (a] apple.com> 81019 81020 Fix for ebay parser crash. 81021 81022 Reviewed by Beth 81023 81024 fast/invalid/table-residual-style-crash.html added as a test 81025 81026 * html/HTMLParser.cpp: 81027 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): 81028 81029 2007-10-19 Sam Weinig <sam (a] webkit.org> 81030 81031 Fix Windows, Qt and GTK builds. 81032 81033 * WebCore.pro: 81034 * WebCore.vcproj/WebCore.vcproj: 81035 81036 2007-10-19 Sam Weinig <sam (a] webkit.org> 81037 81038 Reviewed by Darin. 81039 81040 Encapsulate the same origin check into the new SecurityOrigin class. 81041 81042 * WebCore.xcodeproj/project.pbxproj: 81043 * bindings/js/kjs_window.cpp: 81044 (KJS::Window::isSafeScript): 81045 * dom/Document.cpp: 81046 (WebCore::Document::Document): 81047 (WebCore::Document::defaultEventHandler): 81048 * dom/Document.h: 81049 (WebCore::Document::securityOrigin): 81050 * loader/FrameLoader.cpp: 81051 (WebCore::FrameLoader::begin): 81052 (WebCore::FrameLoader::setOpener): 81053 * loader/FrameLoader.h: 81054 * platform/SecurityOrigin.cpp: Added. 81055 (WebCore::SecurityOrigin::SecurityOrigin): 81056 (WebCore::SecurityOrigin::clear): 81057 (WebCore::SecurityOrigin::isEmpty): 81058 (WebCore::SecurityOrigin::setForFrame): 81059 (WebCore::SecurityOrigin::setDomainFromDOM): 81060 (WebCore::SecurityOrigin::allowsAccessFrom): 81061 (WebCore::SecurityOrigin::isSecureTransitionTo): 81062 * platform/SecurityOrigin.h: Added. 81063 81064 2007-10-19 Simon Hausmann <hausmann (a] kde.org> 81065 81066 Fix the Qt/Windows build: Added missing FontSelector.h include. 81067 81068 * platform/qt/FontQt.cpp: 81069 81070 2007-10-19 Simon Hausmann <hausmann (a] kde.org> 81071 81072 Reviewed by Lars. 81073 81074 Qt/Windows build fix: Threading.h uses int32_t but doesn't include stdint.h. 81075 81076 * platform/Threading.h: 81077 81078 2007-10-19 Simon Hausmann <hausmann (a] kde.org> 81079 81080 Reviewed by Lars. 81081 81082 Fix the Qt/Windows build, don't use cat but use the perl print trick 81083 instead. 81084 81085 * WebCore.pro: 81086 81087 2007-10-18 Justin Garcia <justin.garcia (a] apple.com> 81088 81089 Reviewed by Kevin McCullough. 81090 81091 <rdar://problem/5483526> 81092 GoogleDocs: A hang occurs when applying list styling to a selection containing a table and line breaks 81093 81094 * editing/TextIterator.cpp: 81095 (WebCore::TextIterator::exitNode): For selection preservation, we must emit a character 81096 between every VisiblePosition. We weren't emitting a space after some tables, because 81097 we won't try to emit a space if shouldEmitNewlineAFterNode is true, even if no newline 81098 was emitted. 81099 81100 2007-10-18 Dan Bernstein <mitz (a] apple.com> 81101 81102 Reviewed by Adam Roben. 81103 81104 - fix <rdar://problem/5313523> 81105 REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard 81106 81107 * platform/network/mac/ResourceResponseMac.mm: 81108 (WebCore::ResourceResponse::doUpdateResourceResponse): Work around 81109 <rdar://problem/5321972> by testing for the case of a response 81110 with a MIME type of application/octet-stream and a Content-Type header 81111 starting with text/plain and setting the MIME type to text/plain in 81112 that case. 81113 81114 2007-10-18 Mark Rowe <mrowe (a] apple.com> 81115 81116 Fix the no-SVG build. 81117 81118 * css/CSSPrimitiveValueMappings.h: Move the CSSPrimitiveValue implementations for 81119 LineCap, LineJoin and WindRule inside #if ENABLE(SVG). 81120 81121 2007-10-18 Darin Adler <darin (a] apple.com> 81122 81123 Reviewed by Anders. 81124 81125 - some small tweaks to the threading implementation 81126 81127 I had trouble building on Windows. Either the problem went away by itself 81128 or one of these changes fixed it. 81129 81130 * platform/Threading.h: Eliminated the use of friend, and shared a single 81131 declaration for the initializeThreading function. 81132 81133 * platform/pthreads/ThreadingPthreads.cpp: (WebCore::ThreadCondition::wait): 81134 Call impl() here. 81135 81136 * platform/win/ThreadingWin.cpp: Got rid of two globals here with static 81137 constructors. Also added a typedef for the type of the function queue. 81138 (WebCore::functionQueueMutex): Added function. 81139 (WebCore::functionQueue): Ditto. 81140 (WebCore::callFunctionsOnMainThread): Use functions instead of using the 81141 globals directly. 81142 (WebCore::callOnMainThread): Ditto. 81143 81144 * css/CSSParser.cpp: Had to touch this file to make things build. 81145 81146 2007-10-18 Adam Roben <aroben (a] apple.com> 81147 81148 Fix <rdar://5547462> Need to copy Inspector resources in Production builds 81149 81150 I also added an excludes file for the xcopy command to avoid copying 81151 .svn folders. 81152 81153 Reviewed by Geoff. 81154 81155 * WebCore.vcproj/WebCore.make: Make sure we copy the Inspector 81156 resources. 81157 * WebCore.vcproj/WebCore.vcproj: Pass /exclude:xcopy.excludes to 81158 xcopy. 81159 * WebCore.vcproj/xcopy.excludes: Added. 81160 81161 2007-10-18 Darin Adler <darin (a] apple.com> 81162 81163 Reviewed by Sam. 81164 81165 - fix http://bugs.webkit.org/show_bug.cgi?id=15541 81166 REGRESSION (r26616): prompt with one argument uses the literal "undefined" as default reply 81167 81168 * page/DOMWindow.idl: Add ConvertUndefinedOrNullToNullString back for defaultValue. 81169 81170 2007-10-18 Nikolas Zimmermann <zimmermann (a] kde.org> 81171 81172 Build fix. Not reviewed. 81173 81174 Hopefully fix win build by including wtf/MathExtras.h. 81175 81176 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 81177 81178 2007-10-18 Dan Bernstein <mitz (a] apple.com> 81179 81180 Reviewed by Nikolas Zimmermann. 81181 81182 - fix http://bugs.webkit.org/show_bug.cgi?id=15367 81183 Assertion failure inspecting a document including soft hyphen code (0xad) 81184 81185 Test: fast/text/word-break-soft-hyphen.html 81186 81187 * rendering/RenderText.cpp: 81188 (WebCore::RenderText::calcPrefWidths): Changed to treat soft hyphens as 81189 word boundaries. This fixes the bug and is consistent with the fact that 81190 run rounding does occur at soft hyphens. 81191 81192 2007-10-18 Nikolas Zimmermann <zimmermann (a] kde.org> 81193 81194 Reviewed by Anders. 81195 81196 Fix last layout test failure seen on buildbot "trunk-mac-ppc-release". 81197 Problem: "svg/custom/mask-excessive-malloc.svg -> crashed" 81198 81199 Clamp any ImageBuffer allocation within SVG to the RenderView's visibleSize 81200 to avoid excessive mallocs (in the testcase above 1000000x1000000) 81201 81202 * ksvg2/svg/SVGMaskElement.cpp: 81203 (WebCore::SVGMaskElement::drawMaskerContent): 81204 * ksvg2/svg/SVGPatternElement.cpp: 81205 (WebCore::SVGPatternElement::buildPattern): 81206 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: 81207 (WebCore::SVGPaintServerGradient::teardown): 81208 (WebCore::SVGPaintServerGradient::setup): 81209 * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: 81210 (WebCore::SVGResourceMasker::applyMask): 81211 * rendering/SVGRenderSupport.cpp: 81212 (WebCore::clampImageBufferSizeToViewport): 81213 * rendering/SVGRenderSupport.h: 81214 81215 2007-10-18 Alexey Proskuryakov <ap (a] webkit.org> 81216 81217 Windows build fix. 81218 81219 * css/CSSStyleSelector.cpp: 81220 (WebCore::CSSStyleSelector::applyProperty): Add braces around cases that have local variables now. 81221 81222 2007-10-18 Alexey Proskuryakov <ap (a] webkit.org> 81223 81224 Release build fix. 81225 81226 * css/CSSStyleSelector.cpp: 81227 (WebCore::CSSStyleSelector::applyProperty): 81228 81229 2007-10-18 Alexey Proskuryakov <ap (a] webkit.org> 81230 81231 Reviewed by Darin. 81232 81233 Split most of CSSPrimitiveValue enum mapping out of CSSComputedStyleDeclaration::getPropertyCSSValue() 81234 and CSSStyleSelector::applyProperty() (and their SVG counterparts). This should make the code more readable. 81235 81236 * WebCore.xcodeproj/project.pbxproj: 81237 * css/CSSComputedStyleDeclaration.cpp: 81238 (WebCore::getPositionOffsetValue): 81239 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 81240 * css/CSSPrimitiveValue.cpp: 81241 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 81242 (WebCore::CSSPrimitiveValue::init): 81243 * css/CSSPrimitiveValue.h: 81244 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 81245 * css/CSSPrimitiveValueMappings.h: Added. 81246 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 81247 (WebCore::CSSPrimitiveValue::operator EBorderStyle): 81248 (WebCore::CSSPrimitiveValue::operator CompositeOperator): 81249 (WebCore::CSSPrimitiveValue::operator EAppearance): 81250 (WebCore::CSSPrimitiveValue::operator EBackgroundBox): 81251 (WebCore::CSSPrimitiveValue::operator EBackgroundRepeat): 81252 (WebCore::CSSPrimitiveValue::operator EBoxAlignment): 81253 (WebCore::CSSPrimitiveValue::operator EBoxDirection): 81254 (WebCore::CSSPrimitiveValue::operator EBoxLines): 81255 (WebCore::CSSPrimitiveValue::operator EBoxOrient): 81256 (WebCore::CSSPrimitiveValue::operator ECaptionSide): 81257 (WebCore::CSSPrimitiveValue::operator EClear): 81258 (WebCore::CSSPrimitiveValue::operator ECursor): 81259 (WebCore::CSSPrimitiveValue::operator EDisplay): 81260 (WebCore::CSSPrimitiveValue::operator EEmptyCell): 81261 (WebCore::CSSPrimitiveValue::operator EFloat): 81262 (WebCore::CSSPrimitiveValue::operator EKHTMLLineBreak): 81263 (WebCore::CSSPrimitiveValue::operator EListStylePosition): 81264 (WebCore::CSSPrimitiveValue::operator EListStyleType): 81265 (WebCore::CSSPrimitiveValue::operator EMarginCollapse): 81266 (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior): 81267 (WebCore::CSSPrimitiveValue::operator EMarqueeDirection): 81268 (WebCore::CSSPrimitiveValue::operator EMatchNearestMailBlockquoteColor): 81269 (WebCore::CSSPrimitiveValue::operator ENBSPMode): 81270 (WebCore::CSSPrimitiveValue::operator EOverflow): 81271 (WebCore::CSSPrimitiveValue::operator EPageBreak): 81272 (WebCore::CSSPrimitiveValue::operator EPosition): 81273 (WebCore::CSSPrimitiveValue::operator EResize): 81274 (WebCore::CSSPrimitiveValue::operator ETableLayout): 81275 (WebCore::CSSPrimitiveValue::operator ETextAlign): 81276 (WebCore::CSSPrimitiveValue::operator ETextSecurity): 81277 (WebCore::CSSPrimitiveValue::operator ETextTransform): 81278 (WebCore::CSSPrimitiveValue::operator EUnicodeBidi): 81279 (WebCore::CSSPrimitiveValue::operator EUserDrag): 81280 (WebCore::CSSPrimitiveValue::operator EUserModify): 81281 (WebCore::CSSPrimitiveValue::operator EUserSelect): 81282 (WebCore::CSSPrimitiveValue::operator EVisibility): 81283 (WebCore::CSSPrimitiveValue::operator EWhiteSpace): 81284 (WebCore::CSSPrimitiveValue::operator EWordBreak): 81285 (WebCore::CSSPrimitiveValue::operator EWordWrap): 81286 (WebCore::CSSPrimitiveValue::operator LineCap): 81287 (WebCore::CSSPrimitiveValue::operator LineJoin): 81288 (WebCore::CSSPrimitiveValue::operator TextDirection): 81289 (WebCore::CSSPrimitiveValue::operator WindRule): 81290 (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline): 81291 (WebCore::CSSPrimitiveValue::operator EColorInterpolation): 81292 (WebCore::CSSPrimitiveValue::operator EColorRendering): 81293 (WebCore::CSSPrimitiveValue::operator EDominantBaseline): 81294 (WebCore::CSSPrimitiveValue::operator EImageRendering): 81295 (WebCore::CSSPrimitiveValue::operator EPointerEvents): 81296 (WebCore::CSSPrimitiveValue::operator EShapeRendering): 81297 (WebCore::CSSPrimitiveValue::operator ETextAnchor): 81298 (WebCore::CSSPrimitiveValue::operator ETextRendering): 81299 (WebCore::CSSPrimitiveValue::operator EWritingMode): 81300 * css/CSSStyleSelector.cpp: 81301 (WebCore::CSSStyleSelector::checkSelector): 81302 (WebCore::CSSStyleSelector::checkOneSelector): 81303 (WebCore::CSSRuleSet::addRulesFromSheet): 81304 (WebCore::convertToLength): 81305 (WebCore::CSSStyleSelector::applyDeclarations): 81306 (WebCore::CSSStyleSelector::applyProperty): 81307 (WebCore::CSSStyleSelector::mapBackgroundAttachment): 81308 (WebCore::CSSStyleSelector::mapBackgroundClip): 81309 (WebCore::CSSStyleSelector::mapBackgroundComposite): 81310 (WebCore::CSSStyleSelector::mapBackgroundOrigin): 81311 (WebCore::CSSStyleSelector::mapBackgroundRepeat): 81312 (WebCore::CSSStyleSelector::mapBackgroundXPosition): 81313 (WebCore::CSSStyleSelector::mapBackgroundYPosition): 81314 * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp: 81315 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): 81316 * ksvg2/css/SVGCSSStyleSelector.cpp: 81317 (WebCore::CSSStyleSelector::applySVGProperty): 81318 81319 2007-10-18 Eric Seidel <eric (a] webkit.org> 81320 81321 Reviewed by Maciej. 81322 81323 Fix crashers in SVGViewSpec::parseViewSpec 81324 http://bugs.webkit.org/show_bug.cgi?id=15504 81325 81326 Test is blocked by bug 15503, landed as: 81327 * svg/dom/viewspec-parser.html-disabled 81328 81329 * bindings/scripts/CodeGeneratorObjC.pm: support classes where all parents are interfaces 81330 * ksvg2/svg/SVGViewSpec.cpp: 81331 (WebCore::SVGViewSpec::parseViewSpec): 81332 * ksvg2/svg/SVGViewSpec.idl: Added. 81333 81334 2007-10-17 Rob Buis <buis (a] kde.org> 81335 81336 Reviewed by Darin, Adam, and Maciej. 81337 81338 http://bugs.webkit.org/show_bug.cgi?id=12988 81339 First element (in document order) is not returned when other duplicate ID-ed elements were created first 81340 81341 Reset the element id cache when an id is added and there is a duplicate for that id. 81342 81343 * dom/Document.cpp: 81344 (WebCore::Document::addElementById): 81345 81346 2007-10-17 Mark Rowe <mrowe (a] apple.com> 81347 81348 Mac build fix. 81349 81350 * Configurations/WebCore.xcconfig: Make it possible to include CoreGraphics header files. 81351 81352 2007-10-17 Adam Roben <aroben (a] apple.com> 81353 81354 Fix an ASSERT on launch on Windows 81355 81356 Fix dictated to me by Brady. 81357 81358 * loader/icon/IconDatabase.cpp: 81359 (WebCore::IconDatabase::syncThreadMainLoop): Make sure we hold 81360 m_syncLock before going into the loop. 81361 81362 2007-10-17 Adam Roben <aroben (a] apple.com> 81363 81364 Windows build fix 81365 81366 * platform/graphics/AffineTransform.h: Don't #include 81367 ApplicationServices.h. 81368 * platform/graphics/cg/GraphicsContextCG.cpp: Add an #include that's 81369 needed now that we're not #including ApplicationServices.h. 81370 81371 2007-10-17 Mark Rowe <mrowe (a] apple.com> 81372 81373 Gtk build fix. Move non-pthread stubs from Threading.h to ThreadingNone.cpp to prevent 81374 multiple-definition link errors. 81375 81376 * WebCore.pro: 81377 * platform/Threading.h: 81378 * platform/ThreadingNone.cpp: Added. 81379 (WebCore::createThread): 81380 (WebCore::waitForThreadCompletion): 81381 (WebCore::detachThread): 81382 (WebCore::Mutex::Mutex): 81383 (WebCore::Mutex::~Mutex): 81384 (WebCore::Mutex::lock): 81385 (WebCore::Mutex::tryLock): 81386 (WebCore::Mutex::unlock): 81387 (WebCore::ThreadCondition::ThreadCondition): 81388 81389 2007-10-17 Anders Carlsson <andersca (a] apple.com> 81390 81391 Reviewed by Oliver. 81392 81393 * WebCore.xcodeproj/project.pbxproj: 81394 * WebCore.vcproj/WebCore.vcproj: 81395 81396 * config.h: 81397 #define USE_PTHREADS on Windows. 81398 81399 * loader/icon/IconDatabase.cpp: 81400 (WebCore::IconDatabase::getOrCreateIconRecord): 81401 (WebCore::IconDatabase::getOrCreatePageURLRecord): 81402 Update for mutex changes. 81403 81404 * platform/Threading.h: 81405 (WebCore::ThreadSafeShared::ThreadSafeShared): 81406 (WebCore::ThreadSafeShared::ref): 81407 (WebCore::ThreadSafeShared::deref): 81408 (WebCore::ThreadSafeShared::hasOneRef): 81409 (WebCore::ThreadSafeShared::refCount): 81410 (WebCore::ThreadSafeShared::isThreadSafe): 81411 Add a new Shared base class that uses a mutex to manage its refcount. 81412 81413 (WebCore::createThread): 81414 (WebCore::waitForThreadCompletion): 81415 (WebCore::detachThread): 81416 New functions for thread creation. 81417 81418 (WebCore::Mutex::Mutex): 81419 (WebCore::Mutex::~Mutex): 81420 (WebCore::Mutex::lock): 81421 (WebCore::Mutex::tryLock): 81422 (WebCore::Mutex::unlock): 81423 Move the definitions to ThreadingPthreads.cpp 81424 81425 (WebCore::ThreadCondition::ThreadCondition): 81426 (WebCore::ThreadCondition::~ThreadCondition): 81427 (WebCore::ThreadCondition::wait): 81428 (WebCore::ThreadCondition::signal): 81429 (WebCore::ThreadCondition::broadcast): 81430 Move the definitions to ThreadingPthreads.cpp 81431 81432 * platform/pthreads: Added. 81433 * platform/pthreads/ThreadingPthreads.cpp: Added. 81434 Add pthread specific implementation of the thread creation functions, Mutex and ThreadCondition. 81435 81436 2007-10-17 David Hyatt <hyatt (a] apple.com> 81437 81438 Add support for creating a layer when a transform is in effect. Add support to RenderStyle for 81439 handing back a computed AffineTransform. 81440 81441 Reviewed by Mitz Pettel 81442 81443 * css/CSSStyleSelector.cpp: 81444 (WebCore::CSSStyleSelector::adjustRenderStyle): 81445 * rendering/RenderBox.cpp: 81446 (WebCore::RenderBox::setStyle): 81447 * rendering/RenderObject.cpp: 81448 (WebCore::RenderObject::RenderObject): 81449 (WebCore::RenderObject::requiresLayer): 81450 (WebCore::RenderObject::setStyle): 81451 * rendering/RenderObject.h: 81452 (WebCore::RenderObject::hasTransform): 81453 (WebCore::RenderObject::setHasTransform): 81454 * rendering/RenderStyle.cpp: 81455 (WebCore::RenderStyle::applyTransform): 81456 * rendering/RenderStyle.h: 81457 (WebCore::RenderStyle::hasTransform): 81458 * rendering/RenderTableCell.cpp: 81459 (WebCore::RenderTableCell::requiresLayer): 81460 * rendering/RenderTableRow.h: 81461 (WebCore::RenderTableRow::requiresLayer): 81462 81463 2007-10-17 David Hyatt <hyatt (a] apple.com> 81464 81465 Add support for mapping of the transform CSS property into RenderStyles. Everything is now ready for the front 81466 end to use. 81467 81468 Reviewed by Mitz Pettel 81469 81470 * WebCore.xcodeproj/project.pbxproj: 81471 * css/CSSStyleSelector.cpp: 81472 (WebCore::CSSStyleSelector::applyProperty): 81473 * css/CSSTransformValue.h: 81474 (WebCore::CSSTransformValue::type): 81475 (WebCore::CSSTransformValue::values): 81476 * platform/graphics/AffineTransform.cpp: 81477 (WebCore::AffineTransform::skew): 81478 * platform/graphics/AffineTransform.h: 81479 * rendering/RenderStyle.cpp: 81480 (WebCore::StyleTransformData::StyleTransformData): 81481 (WebCore::StyleTransformData::operator==): 81482 (WebCore::StyleTransformData::transformDataEquivalent): 81483 * rendering/RenderStyle.h: 81484 (WebCore::TransformOperation::~TransformOperation): 81485 (WebCore::TransformOperation::operator!=): 81486 (WebCore::TransformOperation::isScaleOperation): 81487 (WebCore::TransformOperation::isRotateOperation): 81488 (WebCore::TransformOperation::isSkewOperation): 81489 (WebCore::TransformOperation::isTranslateOperation): 81490 (WebCore::TransformOperation::isMatrixOperation): 81491 (WebCore::ScaleTransformOperation::ScaleTransformOperation): 81492 (WebCore::ScaleTransformOperation::isScaleOperation): 81493 (WebCore::ScaleTransformOperation::operator==): 81494 (WebCore::ScaleTransformOperation::apply): 81495 (WebCore::RotateTransformOperation::RotateTransformOperation): 81496 (WebCore::RotateTransformOperation::isRotateOperation): 81497 (WebCore::RotateTransformOperation::operator==): 81498 (WebCore::RotateTransformOperation::apply): 81499 (WebCore::SkewTransformOperation::SkewTransformOperation): 81500 (WebCore::SkewTransformOperation::isSkewOperation): 81501 (WebCore::SkewTransformOperation::operator==): 81502 (WebCore::SkewTransformOperation::apply): 81503 (WebCore::TranslateTransformOperation::TranslateTransformOperation): 81504 (WebCore::TranslateTransformOperation::isTranslateOperation): 81505 (WebCore::TranslateTransformOperation::operator==): 81506 (WebCore::TranslateTransformOperation::apply): 81507 (WebCore::MatrixTransformOperation::MatrixTransformOperation): 81508 (WebCore::MatrixTransformOperation::isMatrixOperation): 81509 (WebCore::MatrixTransformOperation::operator==): 81510 (WebCore::MatrixTransformOperation::apply): 81511 (WebCore::StyleTransformData::operator!=): 81512 (WebCore::RenderStyle::transform): 81513 (WebCore::RenderStyle::setTransform): 81514 (WebCore::RenderStyle::initialTransform): 81515 81516 2007-10-17 Adam Roben <aroben (a] apple.com> 81517 81518 * page/Frame.cpp: I had to touch this file when fixing the Windows 81519 build. Checking it in in case it helps others, too. 81520 81521 2007-10-17 Eric Seidel <eric (a] webkit.org> 81522 81523 Reviewed by Mark Rowe. 81524 81525 Remove a couple more uses of svg_dynamic_cast. 81526 81527 No functional changes, no tests. 81528 81529 * ksvg2/svg/SVGPatternElement.cpp: 81530 (WebCore::SVGPatternElement::buildPattern): 81531 81532 2007-10-17 Mark Rowe <mrowe (a] apple.com> 81533 81534 Reviewed by Eric and Geoff. 81535 81536 <rdar://problem/5453743> Repro ASSERT in CachedResource::setEncodedSize() loading image in background tab 81537 http://bugs.webkit.org/show_bug.cgi?id=15191 81538 81539 * loader/DocLoader.cpp: 81540 (WebCore::DocLoader::setAutoLoadImages): Don't start a load if the CachedImage is already loading. 81541 81542 2007-10-17 Justin Garcia <justin.garcia (a] apple.com> 81543 81544 Reviewed by Harrison. 81545 81546 <rdar://problem/5481523> 81547 GoogleDocs: Safari hangs when indenting a particular table twice 81548 81549 Fixed by fixing problems with the selection preservation done by IndentOutdentCommand. 81550 It is now more difficult to create selections that cause hangs. Those are covered by: 81551 <rdar://problem/5543472> 81552 81553 * editing/IndentOutdentCommand.cpp: 81554 (WebCore::indexForVisiblePosition): Compute indices from the first VisiblePosition 81555 in the document, instead of the first Position. 81556 Use rangeCompliantEquivalents when creating the Range that we pass to rangeLength. 81557 Tell TextIterator::rangeLength that we're doing selection preservation, so that it 81558 will emit characters between all VisiblePositions. 81559 (WebCore::IndentOutdentCommand::indentRegion): Fixed a bug where the range and location 81560 passed to rangeFromLocationAndLength were reversed. 81561 Tell rangeFromLocationAndLength that we're doing doing selection preservation, as 81562 above. 81563 * editing/TextIterator.cpp: 81564 (WebCore::CharacterIterator::CharacterIterator): 81565 (WebCore::TextIterator::rangeLength): Rename emitSpacesForReplacedElements 81566 to forSelectionPreservation, to match the name of the boolean inside TextIterator and 81567 to match its meaning after r25522. 81568 (WebCore::TextIterator::rangeFromLocationAndLength): Ditto. 81569 81570 2007-10-16 Darin Adler <darin (a] apple.com> 81571 81572 Reviewed by Mitz. 81573 81574 - fix http://bugs.webkit.org/show_bug.cgi?id=15536 81575 need to cache missing glyph so we're not slow on pages that show missing glyphs 81576 81577 - <rdar://problem/5404359> UI thread stall (>60sec) in MLANG running stress test 81578 (related to font data caching) 81579 81580 * platform/Font.cpp: (WebCore::Font::glyphDataForCharacter): Check for a null value 81581 for fontData rather than for glyph to detect non-cached entries in the glyph data. 81582 81583 * platform/gtk/GlyphPageTreeNodeGtk.cpp: (WebCore::GlyphPage::fill): 81584 * platform/mac/GlyphPageTreeNodeMac.cpp: (WebCore::GlyphPage::fill): 81585 * platform/win/GlyphPageTreeNodeWin.cpp: (WebCore::GlyphPage::fill): 81586 Set fontData to 0 for missing glyph entries. Also fixed the Windows and GTK versions 81587 to return the proper value for haveGlyphs. 81588 81589 2007-10-16 Mark Rowe <mrowe (a] apple.com> 81590 81591 Gtk build fix. Replace use of assert with ASSERT_NOT_REACHED. 81592 81593 * platform/gtk/FontCacheGtk.cpp: 81594 (WebCore::FontCache::platformInit): 81595 81596 2007-10-16 Darin Adler <darin (a] apple.com> 81597 81598 Reviewed by Adam. 81599 81600 - fix http://bugs.webkit.org/show_bug.cgi?id=15534 81601 WebScriptObject.h has some formatting and editorial mistakes 81602 81603 * bindings/objc/WebScriptObject.h: Fix wording and formatting. 81604 81605 2007-10-16 Darin Adler <darin (a] apple.com> 81606 81607 - try to fix the Qt build 81608 81609 * config.h: Don't use DisallowCType.h, since it's incompatible with some C++ headers 81610 that are used in some Qt-specific source files. 81611 81612 2007-10-16 Darin Adler <darin (a] apple.com> 81613 81614 Reviewed by Adele. 81615 81616 - fix http://bugs.webkit.org/show_bug.cgi?id=15525 81617 transpose (control-T) should do the last two characters on a line if at end of line 81618 - remove unused CommandByName class 81619 - move transpose command implementation here from Mac OS X WebKit 81620 81621 * editing/Editor.h: 81622 * editing/Editor.cpp: 81623 (WebCore::execTranspose): Added. 81624 (WebCore::Editor::transpose): Added. This has the transpose implementation from 81625 WebCoreFrameBridge and WebHTMLView, translated into WebCore-style C++ and with 81626 a special case for the end of a paragraph. 81627 81628 * page/Frame.h: Removed unused command() function member. 81629 * page/FramePrivate.h: Removed unused m_command data member. 81630 * page/Frame.cpp: Ditto. 81631 81632 * page/mac/WebCoreFrameBridge.h: Removed rangeOfCharactersAroundCaret method. 81633 * page/mac/WebCoreFrameBridge.mm: Ditto. 81634 81635 * WebCore.pro: Removed CommandByName.h/cpp. 81636 * WebCore.vcproj/WebCore.vcproj: Ditto. 81637 * WebCore.xcodeproj/project.pbxproj: Ditto. 81638 81639 * editing/CommandByName.cpp: Removed. 81640 * editing/CommandByName.h: Removed. 81641 81642 2007-10-16 Darin Adler <darin (a] apple.com> 81643 81644 Reviewed by Maciej and Geoff (and looked over by Eric). 81645 81646 - http://bugs.webkit.org/show_bug.cgi?id=15519 81647 eliminate use of <ctype.h> for processing ASCII 81648 81649 * ForwardingHeaders/wtf/ASCIICType.h: Added. 81650 * ForwardingHeaders/wtf/DisallowCType.h: Added. 81651 81652 * WebCorePrefix.h: Get rid of inclusion of <ctype.h>. 81653 * config.h: Include DisallowCType.h. 81654 81655 * css/CSSParser.cpp: 81656 (WebCore::ParseString::lower): 81657 * css/CSSPrimitiveValue.cpp: 81658 (WebCore::isCSSTokenizerIdentifier): 81659 * css/CSSStyleDeclaration.cpp: 81660 (WebCore::propertyID): 81661 * html/HTMLSelectElement.cpp: 81662 (WebCore::stripLeadingWhiteSpace): 81663 * html/HTMLTokenizer.cpp: 81664 (WebCore::tagMatch): 81665 * loader/FTPDirectoryParser.cpp: 81666 (WebCore::parseOneFTPLine): 81667 * loader/TextResourceDecoder.cpp: 81668 (WebCore::TextResourceDecoder::checkForHeadCharset): 81669 * platform/DeprecatedCString.cpp: 81670 (WebCore::DeprecatedCString::lower): 81671 (WebCore::DeprecatedCString::upper): 81672 (WebCore::DeprecatedCString::find): 81673 (WebCore::DeprecatedCString::contains): 81674 * platform/DeprecatedString.cpp: 81675 (WebCore::equalCaseInsensitive): 81676 (WebCore::isCharacterAllowedInBase): 81677 (WebCore::DeprecatedString::find): 81678 (WebCore::DeprecatedString::contains): 81679 (WebCore::toIntegralType): 81680 * platform/DeprecatedString.h: 81681 (WebCore::DeprecatedChar::isSpace): 81682 (WebCore::DeprecatedChar::lower): 81683 (WebCore::DeprecatedChar::upper): 81684 * platform/KURL.cpp: 81685 (WebCore::KURL::parse): 81686 * platform/StringImpl.cpp: 81687 (WebCore::isSpace): 81688 (WebCore::StringImpl::containsOnlyWhitespace): 81689 (WebCore::StringImpl::isLower): 81690 (WebCore::StringImpl::lower): 81691 (WebCore::StringImpl::find): 81692 (WebCore::StringImpl::reverseFind): 81693 (WebCore::equalIgnoringCase): 81694 * platform/TextEncodingRegistry.cpp: 81695 (WebCore::TextEncodingNameHash::equal): 81696 (WebCore::TextEncodingNameHash::hash): 81697 (WebCore::atomicCanonicalTextEncodingName): 81698 * platform/mac/KeyEventMac.mm: 81699 (WebCore::keyIdentifierForKeyEvent): 81700 * platform/win/KeyEventWin.cpp: 81701 (WebCore::keyIdentifierForWindowsKeyCode): 81702 * platform/win/PopupMenuWin.cpp: 81703 (WebCore::isASCIIPrintable): 81704 (WebCore::PopupWndProc): 81705 * plugins/win/PluginViewWin.cpp: 81706 (WebCore::capitalizeRFC822HeaderFieldName): 81707 * rendering/RenderText.cpp: 81708 (WebCore::RenderText::widthFromCache): 81709 Use ASCIICType.h functions instead of ctype.h ones. 81710 81711 2007-10-16 Mitz Pettel <mitz (a] webkit.org> 81712 81713 Reviewed by Dave Hyatt. 81714 81715 - fix http://bugs.webkit.org/show_bug.cgi?id=15296 81716 REGRESSION (r19716-r19719): width not specified for <marquee> tag is causing the alignment issue. 81717 81718 Test: fast/block/float/marquee-shrink-to-avoid-floats.html 81719 81720 * rendering/RenderObject.cpp: 81721 (WebCore::RenderObject::shrinkToAvoidFloats): Changed to return 'true' for <marquee>s with auto width. 81722 81723 2007-10-16 Beth Dakin <bdakin (a] apple.com> 81724 81725 Reviewed by Darin. 81726 81727 Fix for <rdar://problem/5517118> REGRESSION: 9A570 - Safari renders 81728 Amazon seller page way too small 81729 81730 The font size at Amazon was way too small because the calls to 81731 getComputedStyle and getPropertyValue did not cause the div to 81732 attach because there was a pending stylesheet. The fix is to call 81733 updateLayoutIgnorePendingStylesheets() instead of just 81734 updateLayout(). 81735 81736 * css/CSSComputedStyleDeclaration.cpp: 81737 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 81738 81739 2007-10-16 David Hyatt <hyatt (a] apple.com> 81740 81741 Get transform-origin(x/y) mapped into the front end RenderStyle. Adds a new StyleTransformData struct that 81742 holds transform-origin (and that will also eventually hold the parsed transform operations as well). 81743 81744 Reviewed by Beth 81745 81746 * css/CSSStyleSelector.cpp: 81747 (WebCore::CSSStyleSelector::applyProperty): 81748 * rendering/RenderStyle.cpp: 81749 (WebCore::StyleTransformData::StyleTransformData): 81750 (WebCore::StyleTransformData::operator==): 81751 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 81752 (WebCore::StyleRareNonInheritedData::operator==): 81753 (WebCore::RenderStyle::RenderStyle): 81754 (WebCore::RenderStyle::diff): 81755 * rendering/RenderStyle.h: 81756 (WebCore::StyleTransformData::operator!=): 81757 (WebCore::RenderStyle::transformOriginX): 81758 (WebCore::RenderStyle::transformOriginY): 81759 (WebCore::RenderStyle::setTransformOriginX): 81760 (WebCore::RenderStyle::setTransformOriginY): 81761 (WebCore::RenderStyle::initialTransformOriginX): 81762 (WebCore::RenderStyle::initialTransformOriginY): 81763 81764 2007-10-16 Adele Peterson <adele (a] apple.com> 81765 81766 Reviewed by Alice. 81767 81768 Fix for <rdar://problem/5538793> REGRESSION: Failing layout test: fast/forms/select-change-listbox-to-popup.html (due to landing feature branch) 81769 81770 * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute): When switching between types of select elements, call setRecalcListItems 81771 since recalcListItems updates the default selection in different ways for the different controls. 81772 81773 2007-10-16 Alice Liu <alice.liu (a] apple.com> 81774 81775 rubber-stamped by Darin. 81776 81777 flipping my previous fix around so that mac is special-cased instead of win. 81778 81779 * dom/Document.cpp: 81780 (WebCore::Document::defaultEventHandler): 81781 81782 2007-10-16 David Hyatt <hyatt (a] apple.com> 81783 81784 Clean up transform parsing. Fix a crash, ditch the extra parse context class, and use RefPtr/PassRefPtr more 81785 to simplify the code. 81786 81787 Reviewed by aroben 81788 81789 * css/CSSParser.cpp: 81790 (WebCore::CSSParser::parseValue): 81791 (WebCore::CSSParser::parseTransform): 81792 * css/CSSParser.h: 81793 81794 2007-10-16 Alice Liu <alice.liu (a] apple.com> 81795 81796 Reviewed by Adele. 81797 81798 fixed <rdar://5085596> Accesskeys don't work 81799 81800 * dom/Document.cpp: 81801 (WebCore::Document::defaultEventHandler): 81802 accesskey modifier is platform-depedent. 81803 81804 2007-10-15 Mark Rowe <mrowe (a] apple.com> 81805 81806 Reviewed by John. 81807 81808 <rdar://problem/5494040> Reproducible assertion failure in WebCore::IconDatabase::iconForPageURL 81809 81810 A race condition between icon database import and Safari asking for an icon for the empty URL 81811 was resulting in a PageURLRecord being created for a URL that can never be retained. By enforcing 81812 that PageURLRecord's cannot be created for the empty URL we can prevent the assertion from failing. 81813 81814 * loader/icon/IconDatabase.cpp: 81815 (WebCore::IconDatabase::iconForPageURL): 81816 (WebCore::IconDatabase::getOrCreatePageURLRecord): Bail out early if the URL is empty. 81817 (WebCore::IconDatabase::performURLImport): Don't create the PageURLRecord if the URL is empty. 81818 81819 2007-10-15 Jon Honeycutt <jhoneycutt (a] apple.com> 81820 81821 Reviewed by Ollie. 81822 81823 Use OwnPtr for m_deliveryData, and fix a bug where we were memmove()ing 81824 over m_deliveryData instead of its data buffer 81825 81826 * plugins/win/PluginStreamWin.cpp: 81827 (WebCore::PluginStreamWin::~PluginStreamWin): Don't delete 81828 m_deliveryData 81829 (WebCore::PluginStreamWin::deliverData): Fix memmove() call 81830 (WebCore::PluginStreamWin::didReceiveData): Assign using OwnPtr::set() 81831 * plugins/win/PluginStreamWin.h: Use OwnPtr 81832 81833 2007-10-15 Steve Falkenburg <sfalken (a] apple.com> 81834 81835 Reviewed by Oliver. 81836 81837 Add missing null check. 81838 81839 * platform/network/cf/AuthenticationCF.cpp: 81840 (WebCore::core): 81841 81842 2007-10-15 Mark Rowe <mrowe (a] apple.com> 81843 81844 Fix the no-SVG build again. Add new transform CSS properties to the switch statements. 81845 81846 * css/CSSComputedStyleDeclaration.cpp: 81847 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 81848 * css/CSSStyleSelector.cpp: 81849 (WebCore::CSSStyleSelector::applyProperty): 81850 81851 2007-10-15 Darin Adler <darin (a] apple.com> 81852 81853 Reviewed by Mitz. 81854 81855 - http://bugs.webkit.org/show_bug.cgi?id=15518 81856 Remove the unused attemptFontSubstitution feature and do some 81857 cleanup of glyphDataForCharacter. 81858 81859 * platform/Font.h: 81860 * platform/Font.cpp: 81861 (WebCore::WidthIterator::advance): Eliminated uneeded attemptFontSubstitution 81862 and cluster parameters to the glyphDataForCharacter function. 81863 (WebCore::Font::glyphDataForCharacter): Removed the cluster parameter and 81864 attemptFontSubstitution parameter. Removed the isUpper check before calling 81865 toUpper in the small caps code path. Split up the inner loop into separate 81866 copies for non-small-caps and small caps. Broke out the system fallback 81867 page handling so it's not inside the loop. Changed system fallback so it uses 81868 the character and breaks it up into UTF-16 as needed, instead of using a 81869 passed-in "character cluster". 81870 81871 * platform/TextStyle.h: 81872 (WebCore::TextStyle::TextStyle): Removed attemptFontSubstitution. 81873 (WebCore::TextStyle::applyWordRounding): Ditto. 81874 81875 2007-10-15 Jon Honeycutt <jhoneycutt (a] apple.com> 81876 81877 Reviewed by Ollie. 81878 81879 Remove an operator precedence warning on Windows 81880 81881 * editing/markup.cpp: 81882 (WebCore::escapeContentText): Use (a) | (b) 81883 (WebCore::appendEscapedContent): Use (a) | (b) 81884 81885 2007-10-15 Kevin McCullough <kmccullough (a] apple.com> 81886 81887 Reviewed by Darin. 81888 81889 - <rdar://problem/5238818> window.resizeTo doesn't restrict the resized window to the size of the screen 81890 - Now we take the doc into account when resizing. 81891 - Also I found an issue where we would resize to outside the window, because 81892 the resize would be smaller than the window size but the location of the 81893 window would make the resize go off-screen. Now we move the window back into the screen. 81894 81895 * bindings/js/kjs_window.cpp: 81896 (KJS::adjustWindowRect): 81897 (KJS::WindowFunc::callAsFunction): 81898 81899 2007-10-15 Jon Honeycutt <jhoneycutt (a] apple.com> 81900 81901 Reviewed by Anders. 81902 81903 <rdar://5510700> Repro crash loading embedded Windows Media Player 81904 content 81905 81906 Anders noticed that the older Windows Media Player plugin (npdsplay.dll) 81907 will crash if it receives its resource requests out of order, whereas we 81908 were immediately fulfilling untargeted, non-JavaScript requests and 81909 scheduling targeted or JavaScript resource requests. Implement his 81910 suggested fix, which is to schedule PluginRequests for all resource 81911 requests 81912 81913 * plugins/win/PluginViewWin.cpp: 81914 (WebCore::getString): 81915 (WebCore::PluginViewWin::performRequest): If this non-JavaScript request 81916 has no target, create a stream for it 81917 (WebCore::PluginViewWin::load): Schedule PluginRequests for all resource 81918 requests 81919 81920 2007-10-15 Mark Rowe <mrowe (a] apple.com> 81921 81922 Gtk and Qt build fix. Add new .cpp file to project. 81923 81924 * WebCore.pro: 81925 81926 2007-10-15 John Sullivan <sullivan (a] apple.com> 81927 81928 * platform/mac/FontDataMac.mm: 81929 D'oh! Added missing #import to fix build 81930 81931 2007-10-15 John Sullivan <sullivan (a] apple.com> 81932 81933 Reviewed by Geoff 81934 81935 * platform/mac/FontDataMac.mm: 81936 (WebCore::FontData::smallCapsFontData): 81937 replace NS_DURING/NS_HANDLER with WebCore-style BEGIN/END_BLOCK_OBJC_EXCEPTIONS 81938 81939 2007-10-15 David Hyatt <hyatt (a] apple.com> 81940 81941 The CSS WG has been discussing the concept of rotation. In the latest draft specification, two properties 81942 have been introduced: rotation and rotation-point. I believe these properties should be generalized to 81943 allow for arbitrary transformations (e.g., translation, skew, rotate, scale). 81944 81945 This patch adds support for the back-end parsing of two new CSS properties: transform and transform-origin. 81946 They are directly analogous to the properties specified by the CSS WG, except that they are designed to allow 81947 for arbitrary affine transforms rather than just rotation. 81948 81949 Reviewed by Beth Dakin 81950 81951 * WebCore.xcodeproj/project.pbxproj: 81952 * WebCore.vcproj/WebCore.vcproj: 81953 * css/CSSComputedStyleDeclaration.cpp: 81954 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 81955 * css/CSSParser.cpp: 81956 (WebCore::CSSParser::parseValue): 81957 (WebCore::TransformParseContext:::m_list): 81958 (WebCore::TransformParseContext::list): 81959 (WebCore::TransformParseContext::failed): 81960 (WebCore::TransformParseContext::addValue): 81961 (WebCore::TransformOperationInfo::TransformOperationInfo): 81962 (WebCore::TransformOperationInfo::type): 81963 (WebCore::TransformOperationInfo::argCount): 81964 (WebCore::TransformOperationInfo::unit): 81965 (WebCore::TransformOperationInfo::unknown): 81966 (WebCore::TransformOperationInfo::hasCorrectArgCount): 81967 (WebCore::CSSParser::parseTransform): 81968 (WebCore::CSSParser::parseTransformOrigin): 81969 * css/CSSParser.h: 81970 * css/CSSPropertyNames.in: 81971 * css/CSSTransformValue.cpp: Added. 81972 (WebCore::CSSTransformValue::CSSTransformValue): 81973 (WebCore::CSSTransformValue::~CSSTransformValue): 81974 (WebCore::CSSTransformValue::addValue): 81975 (WebCore::CSSTransformValue::cssText): 81976 * css/CSSTransformValue.h: Added. 81977 (WebCore::CSSTransformValue::): 81978 81979 2007-10-15 Mark Rowe <mrowe (a] apple.com> 81980 81981 Reviewed by Oliver. 81982 81983 Fix the no-SVG build. 81984 81985 * DerivedSources.make: Use the correct file as input to generate CSSPropertyNames.h. 81986 * rendering/RenderObject.cpp: 81987 (WebCore::objectIsRelayoutBoundary): 81988 81989 2007-10-15 Darin Adler <darin (a] apple.com> 81990 81991 Reviewed by Sam. 81992 81993 - fix http://bugs.webkit.org/show_bug.cgi?id=15520 81994 alert(undefined) should say "undefined" in the alert 81995 81996 Test: fast/dom/Window/alert-undefined.html 81997 81998 * page/DOMWindow.idl: Remove ConvertUndefinedOrNullToNullString from alert, confirm, and prompt. 81999 It turns out that the default behavior is what the other browsers do (browsers tested: IE 7, 82000 Firefox 2). 82001 82002 2007-10-15 Adele Peterson <adele (a] apple.com> 82003 82004 Reviewed by Darin. 82005 82006 Fix for http://bugs.webkit.org/show_bug.cgi?id=15252 82007 <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 82008 82009 * rendering/RenderListBox.cpp: (WebCore::RenderListBox::calcHeight): If the scrollbar is disabled, make sure the scroll offset gets reset to 0. In general, 82010 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. 82011 82012 2007-10-15 Jon Honeycutt <jhoneycutt (a] apple.com> 82013 82014 Reviewed by Maciej. 82015 82016 Return a more appropriate error from NPN_RequestRange, which is 82017 currently unimplemented 82018 82019 * plugins/win/npapi.cpp: return NPERR_STREAM_NOT_SEEKABLE 82020 (NPN_RequestRead): 82021 82022 2007-10-15 Jon Honeycutt <jhoneycutt (a] apple.com> 82023 82024 Reviewed by Maciej. 82025 82026 Add a missing function pointer to the m_browserFuncs structure 82027 82028 * plugins/win/PluginPackageWin.cpp: 82029 (WebCore::PluginPackageWin::load): 82030 82031 2007-10-15 Simon Hausmann <hausmann (a] kde.org> 82032 82033 Reviewed by Lars. 82034 82035 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. 82036 82037 * WebCore.pro: 82038 * loader/CachedFont.cpp: 82039 * platform/qt/FontCacheQt.cpp: Removed. 82040 * platform/qt/FontCustomPlatformData.cpp: Removed. 82041 * platform/qt/FontCustomPlatformData.h: Removed. 82042 * platform/qt/FontDataQt.cpp: Removed. 82043 * platform/qt/FontPlatformData.h: Removed. 82044 * platform/qt/FontQt.cpp: 82045 * platform/qt/GlyphPageTreeNodeQt.cpp: Removed. 82046 82047 2007-10-15 Simon Hausmann <hausmann (a] kde.org> 82048 82049 Reviewed by Lars. 82050 82051 Adapt to the latest API changes in the SVG API/Code. 82052 82053 * platform/graphics/svg/qt/RenderPathQt.cpp: 82054 (WebCore::RenderPath::strokeContains): 82055 (WebCore::getPathStroke): 82056 * platform/graphics/svg/qt/SVGPaintServerQt.cpp: 82057 (WebCore::SVGPaintServer::setPenProperties): 82058 * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: 82059 82060 2007-10-14 Nikolas Zimmermann <zimmermann (a] kde.org> 82061 82062 Reviewed by Eric. 82063 82064 Fix bad abstraction in ImageBuffer class. 82065 While the class itself is platform-aware and thus it's location in platform/graphics 82066 is fine, it contains the "renderSubtreeToImage" method which operates on RenderObject. 82067 82068 As it's SVG specific I decided to move this method into SVGRenderSupport, to avoid 82069 implicit platform/ <-> rendering/ dependencies. 82070 82071 * WebCore.pro: 82072 * WebCore.vcproj/WebCore.vcproj: 82073 * WebCore.xcodeproj/project.pbxproj: 82074 * ksvg2/svg/SVGMaskElement.cpp: 82075 (WebCore::SVGMaskElement::drawMaskerContent): 82076 * ksvg2/svg/SVGPatternElement.cpp: 82077 (WebCore::SVGPatternElement::buildPattern): 82078 * platform/graphics/ImageBuffer.cpp: Removed. 82079 * platform/graphics/ImageBuffer.h: 82080 (WebCore::ImageBuffer::size): 82081 * platform/graphics/svg/SVGImage.cpp: 82082 (WebCore::SVGImage::nativeImageForCurrentFrame): 82083 * rendering/SVGRenderSupport.cpp: 82084 (WebCore::renderSubtreeToImage): 82085 * rendering/SVGRenderSupport.h: 82086 82087 2007-10-14 Peter Kasting <pkasting (a] google.com> 82088 82089 Reviewed by Maciej. 82090 82091 http://bugs.webkit.org/show_bug.cgi?id=15210 82092 Draw the image outline even for broken images. 82093 82094 * rendering/RenderImage.cpp: 82095 (WebCore::RenderImage::paint): 82096 82097 2007-10-14 Kevin Ollivier <kevino (a] theolliviers.com> 82098 82099 Reviewed by Adam. 82100 82101 Add support for MSVC7, and fix cases where PLATFORM(WIN) should 82102 be PLATFORM(WIN_OS) for other ports building on Windows. 82103 82104 * dom/XMLTokenizer.cpp: 82105 * page/FrameTree.cpp: 82106 * platform/StaticConstructors.h: 82107 * platform/String.cpp: 82108 82109 2007-10-14 Maxime Britto <mbritto (a] pleyo.com> 82110 82111 Reviewed by Mitz. 82112 82113 Fix an error in the goBackOrForward() function : confusion between forwardListCount and backListCount. 82114 http://bugs.webkit.org/show_bug.cgi?id=15212 82115 82116 * loader/FrameLoader.cpp: 82117 (WebCore::FrameLoader::goBackOrForward): 82118 82119 2007-10-14 Mitz Pettel <mitz (a] webkit.org> 82120 82121 Reviewed by Darin. 82122 82123 - fix http://bugs.webkit.org/show_bug.cgi?id=15181 82124 text-transform: uppercase not working in input (submit, reset, button) elements 82125 <rdar://problem/5474647> 82126 82127 Test: fast/forms/button-text-transform.html 82128 82129 Text transformations require access to the original text. The button's inner 82130 text was an anonymous RenderText, meaning it did not have a node to retrieve 82131 the original text from. The patch fixes this by changing the inner text into a 82132 RenderTextFragment, which stores its own original text. 82133 82134 * rendering/RenderButton.cpp: 82135 (WebCore::RenderButton::setText): 82136 * rendering/RenderButton.h: 82137 82138 2007-10-14 Eric Seidel <eric (a] webkit.org> 82139 82140 Reviewed by Maciej. 82141 82142 REGRESSION: Javascript bug in getElementsByName 82143 http://bugs.webkit.org/show_bug.cgi?id=15274 82144 82145 Test: fast/dom/getelementbyname-invalidation.html 82146 82147 * dom/NameNodeList.h: remove empty rootNodeChildrenChanged override 82148 82149 2007-10-14 Mitz Pettel <mitz (a] webkit.org> 82150 82151 Reviewed by Maciej. 82152 82153 - http://bugs.webkit.org/show_bug.cgi?id=15303 82154 Remove now-redundant code to restore dialog arguments after clear 82155 82156 This patch reverts the kjs_window.* parts of r25576 because following 82157 r25783, window properties, including dialog arguments, are not cleared 82158 when the newly created modal dialog transitions to the document. 82159 82160 * bindings/js/kjs_window.cpp: 82161 (KJS::WindowPrivate::WindowPrivate): 82162 (KJS::createWindow): 82163 (KJS::showModalDialog): 82164 (KJS::Window::clear): 82165 (KJS::WindowFunc::callAsFunction): 82166 (KJS::Window::setReturnValueSlot): 82167 * bindings/js/kjs_window.h: 82168 82169 2007-10-14 Mitz Pettel <mitz (a] webkit.org> 82170 82171 Reviewed by Dave Hyatt. 82172 82173 - fix http://bugs.webkit.org/show_bug.cgi?id=15309 82174 <rdar://problem/5512020> Crash due to infinite recursion in RenderTable::addChild 82175 82176 Test: fast/table/generated-caption.html 82177 82178 * rendering/RenderTable.cpp: 82179 (WebCore::RenderTable::addChild): Changed to make sure that the child is 82180 not added into generated after content. Also made adding a child before 82181 a table caption work correctly instead of adding the child after the caption. 82182 82183 2007-10-14 Peter Kasting <pkasting (a] google.com> 82184 82185 Reviewed by Maciej. 82186 82187 http://bugs.webkit.org/show_bug.cgi?id=15141 82188 Feed GIF reader data from the point in the stream it expects. Also, 82189 mirror the reader's failure state up to the wrapping decoder. 82190 82191 * platform/image-decoders/gif/GIFImageReader.cpp: 82192 (GIFImageReader::read): 82193 82194 2007-10-14 Peter Kasting <pkasting (a] google.com> 82195 82196 Reviewed by Maciej. 82197 82198 http://bugs.webkit.org/show_bug.cgi?id=15142 82199 Return correct frame count in GIFImageDecoder::frameBufferAtIndex(), 82200 even if more data has arrived since the last decoding pass. 82201 82202 * platform/image-decoders/gif/GIFImageDecoder.cpp: 82203 (WebCore::GIFImageDecoder::frameBufferAtIndex): 82204 82205 == Rolled over to ChangeLog-2007-10-14 == 82206